NEWS
Fenster offen Script
-
Hm also eigentlich würde auch die Anzahl offener Türen/ offener Fenster reichen.
Den Rest bekomme ich alleine „zusammengebastelt“. 😉const ids = $('(functions=window)').toArray(); // Alternativ über gleichartige DP // const ids = $('zigbee.0.*.opened').toArray(); on({id: ids, change: "ne"}, async function() { let count = 0; for (let id of ids) { if (getState(id).val) count++; } setStateAsync("0_userdata.0.Vis.fenster", count, true); });Für die hier verwendete Variante habe ich unter "Kategorien" eine Funktion angelegt, in der die entsprechenden States aufgelistet sind. Das funktioniert prima, weil bei mir unterschiedliche Sensoren verbaut sind (Zigbee und Alarmanlage).
Wenn alles nur aus einem Adapter kommt, kann man auch die Alternative Variante verwenden.
-
Hm also eigentlich würde auch die Anzahl offener Türen/ offener Fenster reichen.
Den Rest bekomme ich alleine „zusammengebastelt“. 😉@ralalla
Wann soll die Prüfung erfolgen? Bei Verlassen des Hauses?
Wenn genau den zu prüfenden Datenpunkten das Gewerk "fenster" (Schreibweise in der ID) und ein Raum zugewiesen wurde, kann es etwa so erfolgen:const ids = $('*(functions=fenster)').toArray(); const idMsg = 'xyz'; // ID eintragen const idVerlassen = 'abc'; // ID eintragen on({id: idVerlassen, change: 'gt'}, function() { const Liste = []; for(const id of ids) { if(getState(id).val) { // offen? const raum = getObject(id, 'rooms').enumNames[0]; Liste.push(raum); } } if(Liste.length) { const msg = Liste.length + ' offene Fenster im\n' + Liste.join(', '); setState(idMsg, msg); // oder sendTo() mit msg } }); -
Danke euch beiden.
So wie von @Codierknecht geschrieben passt das schon mal ganz gut.
Die Zusätze von @paul53 schaue ich mir morgen mal an und übernehme das dann.Nachricht brauche ich erst mal keine.
Gut wäre wenn man halt immer den aktuellen Status sehen kann. Das klappt ja damit schon mal.
Nice to Have für die Visu wenn man sieht wo was offen ist.Nachricht nur wenn keiner zu Hause ist. Da ich viel in Blockly zusammen klicke schaffe ich das mit der Nachricht auch im Blockly. Wobei das hier natürlich ein Ansporn ist zu lernen ;-)
-
Danke euch beiden.
So wie von @Codierknecht geschrieben passt das schon mal ganz gut.
Die Zusätze von @paul53 schaue ich mir morgen mal an und übernehme das dann.Nachricht brauche ich erst mal keine.
Gut wäre wenn man halt immer den aktuellen Status sehen kann. Das klappt ja damit schon mal.
Nice to Have für die Visu wenn man sieht wo was offen ist.Nachricht nur wenn keiner zu Hause ist. Da ich viel in Blockly zusammen klicke schaffe ich das mit der Nachricht auch im Blockly. Wobei das hier natürlich ein Ansporn ist zu lernen ;-)
@ralalla sagte in Fenster offen Script:
viel in Blockly
hab gerade mal bei mir nachgesehen, hab das noch in den scripten
https://forum.iobroker.net/post/904083 -
Moin !
Zum Thema Fenster offen, habe ich auch mal ein kleines Blockly geschrieben, das aber so nicht funktioniert:
Ziel: ich will nur eine Ampel--> rot = (mindestens) ein Fenster steht offen und grün --> alles zu.
Dazu habe ich ein Boolean Datenpunkt "AlleGeschlossen" erstellt.
Die Fenstersensoren sind zur Hälfte IKEA-Matter und zum anderen Aquara über Zigbee.
Je einen davon habe ich mal zum Testen in das Blockly geschrieben.das Problem: wann immer ich ein Fenster öffne, wird im Protokoll das erste im Falls- Zweig stehende Fenster erfasst. Und das zweite Fenster wird auch bei öffnen/schliessen als das erste Fenster erkannt.
Also in meinem Beispiel kommt diese Meldung, egal welches Fenster ich auch öffne oder schliesse:getObject(id=matter.0.controller.1.ContactSensor-1.ACTUAL, enumName=undefined) => {"_id":"matter.0.controller.1.ContactSensor-1.ACTUAL","type":"state","common":{"type":"boolean","write":false,"read":true,"role":"sensor.window","name":""},"native":{},"acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.admin.0","user":"system.user.admin","ts":1785063350463}Mein Datenpunkt AlleGeschlossen ändert sich nie, bleibt immer auf false
Kann mir jemand auf die Sprünge helfen? Danke.

-
Moin !
Zum Thema Fenster offen, habe ich auch mal ein kleines Blockly geschrieben, das aber so nicht funktioniert:
Ziel: ich will nur eine Ampel--> rot = (mindestens) ein Fenster steht offen und grün --> alles zu.
Dazu habe ich ein Boolean Datenpunkt "AlleGeschlossen" erstellt.
Die Fenstersensoren sind zur Hälfte IKEA-Matter und zum anderen Aquara über Zigbee.
Je einen davon habe ich mal zum Testen in das Blockly geschrieben.das Problem: wann immer ich ein Fenster öffne, wird im Protokoll das erste im Falls- Zweig stehende Fenster erfasst. Und das zweite Fenster wird auch bei öffnen/schliessen als das erste Fenster erkannt.
Also in meinem Beispiel kommt diese Meldung, egal welches Fenster ich auch öffne oder schliesse:getObject(id=matter.0.controller.1.ContactSensor-1.ACTUAL, enumName=undefined) => {"_id":"matter.0.controller.1.ContactSensor-1.ACTUAL","type":"state","common":{"type":"boolean","write":false,"read":true,"role":"sensor.window","name":""},"native":{},"acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.admin.0","user":"system.user.admin","ts":1785063350463}Mein Datenpunkt AlleGeschlossen ändert sich nie, bleibt immer auf false
Kann mir jemand auf die Sprünge helfen? Danke.

-
Moin !
Zum Thema Fenster offen, habe ich auch mal ein kleines Blockly geschrieben, das aber so nicht funktioniert:
Ziel: ich will nur eine Ampel--> rot = (mindestens) ein Fenster steht offen und grün --> alles zu.
Dazu habe ich ein Boolean Datenpunkt "AlleGeschlossen" erstellt.
Die Fenstersensoren sind zur Hälfte IKEA-Matter und zum anderen Aquara über Zigbee.
Je einen davon habe ich mal zum Testen in das Blockly geschrieben.das Problem: wann immer ich ein Fenster öffne, wird im Protokoll das erste im Falls- Zweig stehende Fenster erfasst. Und das zweite Fenster wird auch bei öffnen/schliessen als das erste Fenster erkannt.
Also in meinem Beispiel kommt diese Meldung, egal welches Fenster ich auch öffne oder schliesse:getObject(id=matter.0.controller.1.ContactSensor-1.ACTUAL, enumName=undefined) => {"_id":"matter.0.controller.1.ContactSensor-1.ACTUAL","type":"state","common":{"type":"boolean","write":false,"read":true,"role":"sensor.window","name":""},"native":{},"acl":{"object":1636,"state":1636,"owner":"system.user.admin","ownerGroup":"system.group.administrator"},"from":"system.adapter.admin.0","user":"system.user.admin","ts":1785063350463}Mein Datenpunkt AlleGeschlossen ändert sich nie, bleibt immer auf false
Kann mir jemand auf die Sprünge helfen? Danke.

@hansmeier [sagte]: Die Fenstersensoren sind zur Hälfte IKEA-Matter und zum anderen Aquara über Zigbee.
Bei vielen Fenstern kann man eine Schleife über eine ID-Liste verwenden.

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
