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ß
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden