ioBroker Telegram Sensor-Bericht

In diesem Artikel zeige ich Dir, wie ich mir Sensor-Informationen in regelmäßigen Abständen per Telegram-Benachrichtigung zusende.

Gerade im Sommer werden viele das Problem kennen – zu hohe Luftfeuchtigkeit im Keller, Garage oder in den Wohnräumen. Bei uns tritt das Problem hauptsächlich in den Kellerräumen auf. Bereits im Winter habe ich aus diesem Grund in den Kellerräumen Homematic Temperatur- und Feuchtigkeitssensoren installiert. Im nächsten Schritt möchte ich nun die Sensor-Informationen via Telegram-Nachricht auf mein Smartphone senden. Dazu werden wir uns nun ein Script anlegen, welches die Informationen per JavaScript ermittelt und versendet.

function GetStatusIcon(HumValue) {
    var Status = "OK";

    if ( HumValue > 60 ) {
        Status = "WARN";
    }
    
    return Status;
}

function HumidityCheck() {
    var Garage = getState("mqtt.0.GaragenController.Humidity").val;
    var Aussen = getState("hm-rpc.0.JPTH10I005.1.HUMIDITY").val;
    var Werkstatt = getState("hm-rpc.0.JPTH10I011.1.HUMIDITY").val;
    var Heizraum = getState("hm-rpc.0.JPTH10I004.1.HUMIDITY").val;
    var Dachboden = getState("hm-rpc.0.JPTH10I010.1.HUMIDITY").val;
    var Infos = [];
    var InfoMessage = ""; 
    
    Infos.push("Aussen: " + Aussen + "%");
    Infos.push(GetStatusIcon(Garage)+" Garage: " + Garage + "%");
    Infos.push(GetStatusIcon(Heizraum)+" Heizraum: " + Heizraum + "%");
    Infos.push(GetStatusIcon(Werkstatt)+" Werkstatt: " + Werkstatt + "%");
    Infos.push(GetStatusIcon(Dachboden)+" Dachboden: " + Dachboden + "%");

    var infoLength = Infos.length;
    InfoMessage = "Feuchtigkeitinformationen: \n";
        
    for (var i = 0; i < infoLength; i++) {
        InfoMessage = InfoMessage+Infos[i]+'\n';
    }

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

schedule({hour: 9, minute: 0}, function () {
    HumidityCheck();
});

schedule({hour: 15, minute: 0}, function () {
    HumidityCheck();
});

schedule({hour: 19, minute: 0}, function () {
    HumidityCheck();
});

 

Im Script wird über die schedule-Blöcke die Ausführung des Berichts um 9, 15 und 19 Uhr gestartet. Der Bericht wird über die Funktion „HumidityCheck()“ erstellt. Dabei werden zunächst die Sensor-Informationen ermittelt und in Variablen zwischengespeichert. Im nächsten Schritt wird der jeweilige Wert an die die Funktion „GetStatusIcon()“ übergeben um somit das entprechende Icon zu ermittelt. Bitte hier bei euch im Script einfach das Emoji (Link zum Emoji-Artikel) einfügen. Ich konnte es hier auf der Webseite nicht darstellen. Wenn der Sensorwert über 60 ist, wird das entsprechende Warnungsicon zurückgegeben.

Das Ergebnis sieht nun wie folgt aus:

 

 

 

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer ?

 

 

 

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich akzeptiere