NEWS
Bei scharfschalten der Alarmanlage, benachrichtigen, das noch Fenster offen sind?
-
Also hab momentan ioBroker auf einem virtuellen PI per Virtualbox installiert und steuere damit grad die Fenster- und Bewegungsmelder-Sensoren von Xiaomi an. Wie kann ich das Script so gestalten, das wenn ich die Alarmanlage aktiviere und das Fenster ist noch offen, nicht der Alarm ausgelöst wird, sondern ich erstmal einen Benachrichtigun bekomme, das es noch offen ist.
Sprich, ich geh aus dem Haus, schalte die Alarmanlage scharf oben ist noch das Schlafzimmerfenster offen und das darf ruhig auch angekippt bleiben. Nun würde ich gern einen Benachrichtigung bekommen, "Alarm ist scharf, aber das Fenster im Schlafzimmer ist noch angekippt"
Hab das mal so probiert, aber da bekomme ich halt nie die Meldung, das das Fenster bereits offen ist. Aktivierungs und Deaktivierungsmeldung kommt, sowie die Veränderung am Fenster, also sobald im Scharfmodus jemand das Fenster ranklappt um es zuöffnen.
Blöcke zum Import in Blockly:
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="Oge:Aht6G(1,FpVh#7`o" x="-563" y="-312"><field name="OID">mihome.0.devices.switch_158d0001bc542e.click</field> <field name="CONDITION">any</field> <statement name="STATEMENT"><block type="pushover" id="blmovSHV%;hPL`pYW},n"><field name="SOUND">spacealarm</field> <field name="PRIORITY">0</field> <value name="MESSAGE"><shadow type="text" id="CzHFXE`a6rANoR@/K@O,"><field name="TEXT">Alarmanlage aktiviert!</field></shadow></value> <value name="TITLE"><block type="text" id="qn}=+)k{ve;I^NsL2rM="><field name="TEXT">SmartHome Benachrichtigung</field></block></value> <next><block type="control" id="-g.[h@V.uhh/0#1^@r3z"><mutation delay_input="false"></mutation> <field name="OID">mihome.0.devices.gateway_7811dce1d311.rgb</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="text" id="q!^6sxuW%rXYVUhF:0Tc"><field name="TEXT">#CC0099</field></block></value> <next><block type="control" id="P-4WmA2BgZY%d2]9Cb|V"><mutation delay_input="false"></mutation> <field name="OID">mihome.0.devices.gateway_7811dce1d311.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="j:M*2RIXE;Tep)U@uE:B"><field name="BOOL">TRUE</field></block></value> <next><block type="on" id="PD3sEk6o_kF?[ERjd(F6"><field name="OID">mihome.0.devices.magnet_158d0001d839ab.state</field> <field name="CONDITION">true</field> <statement name="STATEMENT"><block type="pushover" id="ecs{y)o:ATp^A]Zs7`f)"><field name="SOUND">magic</field> <field name="PRIORITY">0</field> <value name="MESSAGE"><shadow type="text" id="d^@lQp.vVp%t_G!6;72p"><field name="TEXT">Fenster ist noch offen!</field></shadow></value> <value name="TITLE"><block type="text" id="l@k;XcUzM3|x;J_uys]="><field name="TEXT">SmartHome - Kinderzimmer</field></block></value></block></statement></block></next></block></next></block></next></block></statement> <next><block type="on" id="nYDiLpXNx%Fzy[z_0+sb"><field name="OID">mihome.0.devices.magnet_158d0001d839ab.state</field> <field name="CONDITION">ne</field> <statement name="STATEMENT"><block type="pushover" id="^tA(yB_WWfi)g(f2w|{c"><field name="SOUND">siren</field> <field name="PRIORITY">1</field> <value name="MESSAGE"><shadow type="text" id="%NWRnTajxWu.S+{=rpF8"><field name="TEXT">Fenster im Kinderzimmer wurde geöffnet!</field></shadow></value> <value name="TITLE"><block type="text" id="DL.dG|}W8%SGN4DP,GCX"><field name="TEXT">SmartHome - Alarm ausgelöst!</field></block></value></block></statement> <next><block type="on" id="zN%H_R4|+0}1MTCyYQI3"><field name="OID">mihome.0.devices.switch_158d0001bc542e.double</field> <field name="CONDITION">any</field> <statement name="STATEMENT"><block type="pushover" id=":Il=WUCT~5hXN)(V]*=@"><field name="PRIORITY">0</field> <value name="MESSAGE"><shadow type="text" id="(Qx!}6YWYy92u(IU9i}`"><field name="TEXT">Alarmanlage deaktiviert!</field></shadow></value> <value name="TITLE"><block type="text" id="E8_#gqXCb_ItNKu!uhZ!"><field name="TEXT">SmartHome Benachrichtigung</field></block></value> <next><block type="control" id="^TCfJK+QBPbJ/^]FQNb("><mutation delay_input="false"></mutation> <field name="OID">mihome.0.devices.gateway_7811dce1d311.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="@*GfA8tmH=BK!;)Oi+[]"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></next></block></next></block></xml>
Script-Code:
on({id: "mihome.0.devices.switch_158d0001bc542e.click"/*Simple click*/, change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; sendTo("pushover", "send", { message: 'Alarmanlage aktiviert!', sound: "spacealarm", title: 'SmartHome Benachrichtigung' }); setState("mihome.0.devices.gateway_7811dce1d311.rgb"/*RGB*/, '#CC0099'); setState("mihome.0.devices.gateway_7811dce1d311.on"/*Light*/, true); on({id: "mihome.0.devices.magnet_158d0001d839ab.state"/*Is opened*/, val: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; sendTo("pushover", "send", { message: 'Fenster ist noch offen!', sound: "magic", title: 'SmartHome - Kinderzimmer' }); }); }); on({id: "mihome.0.devices.magnet_158d0001d839ab.state"/*Is opened*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; sendTo("pushover", "send", { message: 'Fenster im Kinderzimmer wurde geöffnet!', sound: "siren", priority: 1, title: 'SmartHome - Alarm ausgelöst!' }); }); on({id: "mihome.0.devices.switch_158d0001bc542e.double"/*Double click*/, change: "any"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; sendTo("pushover", "send", { message: 'Alarmanlage deaktiviert!', sound: "", title: 'SmartHome Benachrichtigung' }); setState("mihome.0.devices.gateway_7811dce1d311.on"/*Light*/, false); });
-
Die Frage ist schon länger her und sicher nicht mehr aktuell aber vielleicht auch irgendwann mal für Andere relevant:
Die on-Funktion ist meiner Meinung nach hier fehl am Platz. Wenn der Status mit einer einfachen if-Abfrage abgefragt wird, sollte die Ansage über das geoeffnete Fenster nach dem Scharfschalten der Alarmanlage funktionieren.
setState("mihome.0.devices.gateway_7811dce1d311.on"/*Light*/, true); on({id: "mihome.0.devices.magnet_158d0001d839ab.state"/*Is opened*/, val: true}, function (obj) {