NEWS
[Blockly] Offene Fenster/Türen Benachrichtigen
-
Hallo zusammen!
Wieso erhalte ich beim verändern der "Presence" Variable wohl eine korrekte Anzahl an offenen Fenstern und Türen, aber das Array ftk_offen ist leer?
Beispielblock:
Ich füge die entsprechenden Kontakte an bestimmte Stellen im Array, damit ich diese auch beim schließen korrekt wieder identifizieren und entfernen kann.
!
var ftk_offen; ! ftk_offen = ftk_offen; setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val, true); // Terassentür on({id: 'hm-rpc.0.NEQ0263890.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.NEQ0263890.1.STATE").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[0] = 'Terassentür'; } if (getState("hm-rpc.0.NEQ0263890.1.STATE").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(0, 1); } }); // Haustür on({id: 'hm-rpc.0.NEQ0264328.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.NEQ0264328.1.STATE").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[1] = 'Haustür'; } if (getState("hm-rpc.0.NEQ0264328.1.STATE").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(1, 1); } }); // Fenster Homeoffice on({id: 'mihome.0.devices.magnet_158d0001b7b7ad.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001b7b7ad.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[2] = 'Homeoffice'; } if (getState("mihome.0.devices.magnet_158d0001b7b7ad.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(2, 1); } }); // Fenster Waschküche on({id: 'mihome.0.devices.magnet_158d0001e444ff.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001e444ff.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[3] = 'Waschküche'; } if (getState("mihome.0.devices.magnet_158d0001e444ff.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(3, 1); } }); // Fenster Wohnzimmer 1 on({id: 'mihome.0.devices.magnet_158d0001e44489.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001e44489.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); } if (getState("mihome.0.devices.magnet_158d0001e44489.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(4, 1); } }); // Fenster Wohnzimmer 2 on({id: 'mihome.0.devices.magnet_158d0001dbb6e7.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001dbb6e7.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[5] = 'Wohnzimmerfenster 2'; } if (getState("mihome.0.devices.magnet_158d0001dbb6e7.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(5, 1); } }); // Fenster Wohnzimmer 3 on({id: 'mihome.0.devices.magnet_158d0001e44555.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001e44555.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[6] = 'Wohnzimmerfenster 3'; } if (getState("mihome.0.devices.magnet_158d0001e44555.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(6, 1); } }); // Fenster Wohnzimmer 4 on({id: 'mihome.0.devices.magnet_158d0001e48b9d.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001e48b9d.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[7] = 'Wohnzimmerfenster 4'; } if (getState("mihome.0.devices.magnet_158d0001e48b9d.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(7, 1); } }); // Fenster Wohnzimmer 5 on({id: 'mihome.0.devices.magnet_158d0001ab1c9e.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001ab1c9e.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[8] = 'Wohnzimmerfenster 5'; } if (getState("mihome.0.devices.magnet_158d0001ab1c9e.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(8, 1); } }); // Fenster Küche 1 on({id: 'mihome.0.devices.magnet_158d0001b7bc2c.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001b7bc2c.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[9] = 'Küchenfenster 1'; } if (getState("mihome.0.devices.magnet_158d0001b7bc2c.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(9, 1); } }); // Fenster Küche 2 on({id: 'hm-rpc.0.NEQ0264057.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.NEQ0264057.1.STATE").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[10] = 'Küchenfenster 2'; } if (getState("hm-rpc.0.NEQ0264057.1.STATE").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(10, 1); } }); // Fenster Abstellraum on({id: 'mihome.0.devices.magnet_158d0001dbd2ee.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001dbd2ee.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[11] = 'Fenster Abstellraum'; } if (getState("mihome.0.devices.magnet_158d0001dbd2ee.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(11, 1); } }); // Fenster Gäste-WC on({id: 'hm-rpc.0.NEQ1285263.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.NEQ1285263.1.STATE").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[12] = 'Fenster Gäste-WC'; } if (getState("hm-rpc.0.NEQ1285263.1.STATE").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(12, 1); } }); // Fenster Dachboden on({id: 'mihome.0.devices.magnet_158d0001e4445a.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001e4445a.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[13] = 'Fenster Dachboden'; } if (getState("mihome.0.devices.magnet_158d0001e4445a.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(13, 1); } }); // Fenster Flur OG on({id: 'mihome.0.devices.magnet_158d0001ab206b.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001ab206b.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[14] = 'Fenster Flur OG'; } if (getState("mihome.0.devices.magnet_158d0001ab206b.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(14, 1); } }); // Fenster Kind on({id: 'hm-rpc.0.OEQ0563851.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.OEQ0563851.1.STATE").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[15] = 'Fenster Kinderzimmer'; } if (getState("hm-rpc.0.OEQ0563851.1.STATE").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(15, 1); } }); // Fenster Ankleidezimmer 1 on({id: 'mihome.0.devices.magnet_158d0001dbd304.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001dbd304.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[16] = 'Fenster Ankleidezimmer 1'; } if (getState("mihome.0.devices.magnet_158d0001dbd304.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(16, 1); } }); // Fenster Ankleidezimmer 2 on({id: 'mihome.0.devices.magnet_158d0001e444bb.state', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("mihome.0.devices.magnet_158d0001e444bb.state").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[17] = 'Fenster Ankleidezimmer 2'; } if (getState("mihome.0.devices.magnet_158d0001e444bb.state").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(17, 1); } }); // Fenster Bad on({id: 'hm-rpc.0.NEQ0264297.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.NEQ0264297.1.STATE").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[18] = 'Fenster Badezimmer'; } if (getState("hm-rpc.0.NEQ0264297.1.STATE").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(18, 1); } }); // Fenster Schlafzimmer on({id: 'hm-rpc.0.NEQ1155850.1.STATE', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.NEQ1155850.1.STATE").val == true) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val + 1)); ftk_offen[19] = 'Fenster Schlafzimmer'; } if (getState("hm-rpc.0.NEQ1155850.1.STATE").val == false) { setState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl"/*ftk_offen_anzahl*/, (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val - 1)); ftk_offen.splice(19, 1); } }); on({id: 'javascript.0.presence', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.0.presence").val == false) { if (getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val > 0) { sendTo("telegram", "send", { text: (['Achtung: Es gibt noch ',getState("javascript.0.Sicherheit.Fenster.ftk_offen_anzahl").val,' offene Fenster/Türen:',ftk_offen].join('')) }); } } }); ! 0 == false; !