NEWS
[gelöst]Scene Fensterkontakt -> Telegram
-
Hallo,
ich bin neu hier im Forum, bis jetzt bin ich eigentlich imer durch die Suche und lesen recht weit gekommen.
Jetzt würde ich jedoch gerne eine Szene erstellen, die mir wenn der Fensterkontakt (HM, alte Version) betätigt wird automatisch eine Telegram Message sendet.
Das Problem ist, wenn ich die Meldung manuell setze funktioniert alles, sonst steht der Status immer auf "ungewiss" könnt ihr mir hier helfen?
Danke
LG Jonny
-
Mit einer Szene kann ich leider nicht dienen, aber mit einem Script:
// Forum: http://forum.iobroker.net/viewtopic.php?f=21&t=2473 // Horcht an allen Gewerken (functions) unter "Alarm" und sendet bei Statusänderung // Schließt die beiden Kellerfenster vom Alarm aus, sofern das Lüftungsscript die Öffnung/Schließung angestoßen hat: // wenn Jalousieaktorstatus (= Aktor für die Fenstermotoren) auf WORKING steht, dann ausschließen! // IDs deklarieren var jemandzuhauseid = "geofency.0.atHomeCount"/*atHomeCount*/; var kellerscriptsiid = "hm-rpc.0.MEQ0000000.1.WORKING"/*Fensteröffner Keller Sicherungsraum:1.WORKING*/; // liest den Jalousieaktor aus, WORKING = in Arbeit var kellerscriptwaid = "hm-rpc.0.MEQ0500000.1.WORKING"/*Fensteröffner Keller Waschraum:1.WORKING*/; $('channel(functions=Alarm)[state.id=*.STATE]').on(function (event) { // An "Alarm"-Gewerke nach Statusänderungen prüfen var _obj = getObject(event.id, 'functions'); log("---------------------------------------------------"+ event.channelName, "info"); var jemandzuhause = getState(jemandzuhauseid).val; // IDs auslesen var kellerscriptsi = getState(kellerscriptsiid).val; var kellerscriptwa = getState(kellerscriptwaid).val; if((event.channelName !== 'Fenstersensor Keller Sicherungsraum' && kellerscriptsi !== true) || // Ausschluss Kellerfenster bei automatischer Öffnung/Schließung (event.channelName !== 'Fenstersensor Keller Waschraum' && kellerscriptwa !== true)) { if(jemandzuhause < 1) // Prüft ob jemand Zuhause ist { sendTo("pushover", {message: 'ALARM: ' + event.channelName + ' hat angeschlagen!', priority: 1}); // wenn nein, Alarmnachricht //setState(sayit_vol, 100); //setState(sayit_txt, "Der "+ event.channelName +" hat angeschlagen."); } } });
Für dich reicht die einfache Variante von paul53 aus demselben Thread von dort ohne Ausschließungen:
$('channel(functions=Alarm)[state.id=*.STATE]').on(function (event) { if(event.state.val > event.oldState.val) { var _obj = getObject(event.id, 'functions'); log(_obj.enumNames[0]); sendTo('telegram', 'Fensterkontakt hat angeschlagen'); } });
Jetzt bekommst du eine Meldung, wenn immer ein Fensterkontakt auslöst (egal welcher).
Wenn du es etwas kombinierst mit meinem Script, steht dann auch da, welches Fenster (er holt sich den Namen des Fensters aus der CCU2).
-
Hallo,
funktioniert es denn nicht auch mit einer Szene?
Wo müsste die ID (Fenster Tür Kontakt) denn rein:
$('channel(functions=Alarm)[state.id=*.STATE]').on(function (event) { if(event.state.val > event.oldState.val) { var _obj = getObject(event.id, 'functions'); log(_obj.enumNames[0]); sendTo('telegram', 'Fensterkontakt hat angeschlagen'); } });
Gruß
-
hat keiner eine Idee?