smarthome-tricks.de

ioBroker abendliche Prüfung

In diesem Artikel zeige ich, wie in unserem Smart Home abends alle Türen und Fenster sowie Beleuchtungen oder Geräte geprüft werden.

Bestimmt ging es euch auch einmal so, ihr liegt abends im Bett und kurz vor dem Schlafen gehen taucht die Frage auf, sind auch wirklich alle Fenster und Türen geschlossen? Natürlich könnten wir jetzt unsere Smart-Home App öffnen und einfach nachschauen, viel cooler wäre es aber doch, wenn uns das smarte Zuhause einfach darüber informiert. In diesem Artikel zeige ich, wie ich dieses Thema bei uns ganz einfach über ein kleines Script gelöst habe.

function DailyEveningCheck() 
{
    var Tuer_Haustuer_State = getState("hm-rpc.0.OEQ0167091.1.STATE").val;
    var Tuer_Terassentuer_State = getState("hm-rpc.0.NEQ1835804.1.STATE").val;
    var Fenster_Esszimmer_State = getState("hm-rpc.0.NEQ1835810.1.STATE").val;
    var Fenster_Kueche_State = getState("hm-rpc.0.NEQ1835811.1.STATE").val;
    var Fenster_WC_State = getState("hm-rpc.0.NEQ1835812.1.STATE").val;
    var Status_Device_TV = getState("hm-rpc.0.OEQ1398567.1.STATE").val;
    var Infos = [];
    var InfoMessage = ""; 
    
    // Test
    Fenster_WC_State = true;
    
    // Türen
    if ( Tuer_Haustuer_State === true ) { Infos.push("- Haustüre ist offen!");  }
    if ( Tuer_Terassentuer_State === true ) { Infos.push("- Terassentür ist offen!"); }    
    
    // Fenster
    if ( Fenster_Esszimmer_State === true ) { Infos.push("- Fenster Esszimmer ist offen!"); }
    if ( Fenster_Kueche_State === true ) { Infos.push("- Fenster Küche ist offen!"); }       
    if ( Fenster_WC_State === true ) { Infos.push("- Fenster WC ist offen!"); }      
    
    // Geräte
    if ( Status_Device_TV === true ) { Infos.push("- TV ist eingeschaltet!"); }
    
    // Wenn im Array Infos Einträge vorhanden sind, dann eine Benachrichtigung senden
    if ( Infos.length > 0 )
    {
        var infoLength = Infos.length;
        InfoMessage = "Informationen: \n";
        
        for (var i = 0; i < infoLength; i++) 
        {
            InfoMessage = InfoMessage+Infos[i]+'\n';
        }

        sendTo("telegram", "send", { text: InfoMessage });
    }
}

schedule({hour: 20, minute: 0}, function () {
    DailyEveningCheck();
});

Das Skript prüft nun jeden Abend um 20:00 Uhr ob die definierten Sensoren (Tür- und Fenstersensoren) offen bzw. die Zwischensteckdosen eingeschaltet sind. Über den Test-Abschnitt können die einzelnen Geräte vorab getestet werden. Um die Funktion einmalig nach dem Speichern des Skriptes zu testen einfach am Ende folgende Zeile einfügen:

DailyEveningCheck();

Ich hoffe ich konnte mit dem Artikel darstellen wie einfach selber definierte Prüfungen direkt im Script-Code über die schedule() Funktion erstellt werden können. Bei Fragen wie immer über die Kommentare oder per E-Mail 🙂

Die mobile Version verlassen