NEWS
Xiaomi Bewegungsmelder am iobroker
-
Hi,
mein Xiaomi Bewegungsmelder am iobroker tut nicht ganz was er soll.Das ist das Ziel:
Nachts fahre ich andere Einstellungen als am Tag. (Gelöst durch "Alexa schalte Nachtmodus ein")
Der Bewegungsmelder im Flur schaltet dann eine gedämpfte Lichtleiste für jeweils nur 20 Sekunden.Was passiert?
Betritt man Nachts den Flur schaltet die Lichtleiste für 20 Sekunden ein.Wo ist das Problem?
Betritt man kurz nach dem Ausschalten wieder den Flur, schaltet der Bewegungsmelder nicht ein. Betritt man nach etwa einer halben Minute bis Minute nach dem Ausschalten wieder den Flur geht alles wieder.Ich möchte das Skript (siehe unten) so anpassen, dass es immer zuverlässig geht. Was muss ich ändern?
Vielen Dank für gute Tipps.
-
@Andreas-S Hi, die Xiaomi Bewegungsmelder habe ich auch im Einsatz, leider haben diese eine Hysterese von ca 3 Minuten, d.h. wenn er das erste mal reagiert hat, dann dauert es, bis der Wert "is motion" wieder auf true gesetzt wird.
Was aber gut funktioniert, ist der Wert "last motion" - dieser zählt die Zeit der letzten Bewegungserkennung hoch, diesen nutze ich in meinen Scripten oft, um das Licht oder was auch immer wieder auszuschalten.
Bei so kurzen Einschaltzeiten unter 3 Minuten wirst du mit "last motion" arbeiten müssen, denn dieser Wert wird auch innerhalb der 3 Minuten aktualisiert.
Ich verwende allerdings die xiaomi Gateways, nicht den Zigbeestick, weiss nicht, wie die Werte da heissen und obs die da überhaupt so gibt. -
kannst du da dein Blockly als Beispiel hier mal posten, habe das selbe Problem wie @Andreas-S und noch ein weiteres , bei mir schaltet er nach gewünschten 3 minuten ab und dann gleich weider ein!
-
@MyzerAT klar doch, hier ein ganz einfaches aus meinem Büro, komm ich rein, gehen die Bildschirme und bei geringer Helligkeit die Schreibtischlampe an, bewege ich mich mehr als 180sec nicht, bin ich tot oder eingeschlafen, dann macht er alles aus
Hier das Blockly
und hier zum importieren:
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="comment" id="Y(JOH4q[?wZs[(OQuAZF" x="213" y="88"> <field name="COMMENT">Trigger auf is motion</field> <next> <block type="on_ext" id="$:]?ve9i5Skj]hvm;UYG"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="j2Kb}*4?k_J%i7^5=MD$"> <field name="oid">mihome.0.devices.sensor_motion_aq2_158d0002b728d7.state</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="/()v1F7s46GgNhGq{rex"> <field name="COMMENT">Bildschirm bei Bewegung an</field> <next> <block type="control" id="tYLLGy#77WuwMYa9E%ms"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.TFT_Buero.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="_NH3#w_Tevarm~fz)kVh"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="comment" id="ra*km[l-3D;Fw@cfif(B"> <field name="COMMENT">falls Helligkeit <80 Schreibtischlampe an</field> <next> <block type="controls_if" id="2@uZcs%8W]6/4x;3a9M%"> <value name="IF0"> <block type="logic_compare" id="Ee5BzTBT-S}Z[ldyOBd;"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="P8H-40ThX%IClma6N3sc"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d0002b728d7.lux</field> </block> </value> <value name="B"> <block type="math_number" id="0X0ziLixU|bn1CYdV5G]"> <field name="NUM">80</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="pDf-^bwIm@7$:o!pJann"> <mutation delay_input="false"></mutation> <field name="OID">wifilight.0.192_168_178_124.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="]+EQoqXf[n#/:A2z/Vz|"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="E9Ydu:Os;6g41!TZN7rr"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="PJ%Mv;@a/i-~G0Fo.2qz"> <field name="oid">mihome.0.devices.sensor_motion_aq2_158d0002b728d7.no_motion</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="jshRR=]%UmXl%vb^DTd;"> <field name="COMMENT">länger als 180sec. keine Bewegung, dann alles aus</field> <next> <block type="controls_if" id="VKM.Yu$@y60V4Com,AmS"> <value name="IF0"> <block type="logic_compare" id="gmuz.ihI-xX$8|-IL.kZ"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id="I{WVmUAg}(Vg{CuH`o7n"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d0002b728d7.no_motion</field> </block> </value> <value name="B"> <block type="math_number" id="=6f~{C~v1!a|q;v~vqF6"> <field name="NUM">180</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="v|.nM()!PP)]fQ9*LihT"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.TFT_Buero.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="hv,l$1Yhi+;1=|Us2;/G"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="UY9J^$S-aGo9l#zy)*r]"> <mutation delay_input="false"></mutation> <field name="OID">wifilight.0.192_168_178_124.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fG0@EolmEtS3~L7U%NXM"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </xml> <xml xmlns="http://www.w3.org/1999/xhtml"> <block type="comment" id="Y(JOH4q[?wZs[(OQuAZF" x="213" y="88"> <field name="COMMENT">Trigger auf is motion</field> <next> <block type="on_ext" id="$:]?ve9i5Skj]hvm;UYG"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="j2Kb}*4?k_J%i7^5=MD$"> <field name="oid">mihome.0.devices.sensor_motion_aq2_158d0002b728d7.state</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="/()v1F7s46GgNhGq{rex"> <field name="COMMENT">Bildschirm bei Bewegung an</field> <next> <block type="control" id="tYLLGy#77WuwMYa9E%ms"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.TFT_Buero.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="_NH3#w_Tevarm~fz)kVh"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="comment" id="ra*km[l-3D;Fw@cfif(B"> <field name="COMMENT">falls Helligkeit <80 Schreibtischlampe an</field> <next> <block type="controls_if" id="2@uZcs%8W]6/4x;3a9M%"> <value name="IF0"> <block type="logic_compare" id="Ee5BzTBT-S}Z[ldyOBd;"> <field name="OP">LT</field> <value name="A"> <block type="get_value" id="P8H-40ThX%IClma6N3sc"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d0002b728d7.lux</field> </block> </value> <value name="B"> <block type="math_number" id="0X0ziLixU|bn1CYdV5G]"> <field name="NUM">80</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="pDf-^bwIm@7$:o!pJann"> <mutation delay_input="false"></mutation> <field name="OID">wifilight.0.192_168_178_124.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="]+EQoqXf[n#/:A2z/Vz|"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </statement> <next> <block type="on_ext" id="E9Ydu:Os;6g41!TZN7rr"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="PJ%Mv;@a/i-~G0Fo.2qz"> <field name="oid">mihome.0.devices.sensor_motion_aq2_158d0002b728d7.no_motion</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="jshRR=]%UmXl%vb^DTd;"> <field name="COMMENT">länger als 180sec. keine Bewegung, dann alles aus</field> <next> <block type="controls_if" id="VKM.Yu$@y60V4Com,AmS"> <value name="IF0"> <block type="logic_compare" id="gmuz.ihI-xX$8|-IL.kZ"> <field name="OP">GTE</field> <value name="A"> <block type="get_value" id="I{WVmUAg}(Vg{CuH`o7n"> <field name="ATTR">val</field> <field name="OID">mihome.0.devices.sensor_motion_aq2_158d0002b728d7.no_motion</field> </block> </value> <value name="B"> <block type="math_number" id="=6f~{C~v1!a|q;v~vqF6"> <field name="NUM">180</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="v|.nM()!PP)]fQ9*LihT"> <mutation delay_input="false"></mutation> <field name="OID">sonoff.0.TFT_Buero.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="hv,l$1Yhi+;1=|Us2;/G"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="control" id="UY9J^$S-aGo9l#zy)*r]"> <mutation delay_input="false"></mutation> <field name="OID">wifilight.0.192_168_178_124.on</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="fG0@EolmEtS3~L7U%NXM"> <field name="BOOL">FALSE</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </xml>
-
ah jetzt versteh ich, super idee!
was ist "steuere on mit wahr" ?
-
@MyzerAT ich hab auch noch kompliziertere mit mehreren Bewegungsmeldern, aber da verknüpfe ich einfach nur zum Ausschalten den "last motion" Wert mit UND - so dass das Licht erst ausgeht, wenn beide keine Bewegung mehr erkannt haben.
-
habs jetzt so, bin ech gespannt ! THX
-
@MyzerAT sieht schonmal gut aus, ich würde für das Ausschalten n extra trigger machen, wenn du um 23.59 bewegst, dann schaltet er nach 24 Uhr ( gibts überhaupt 24 Uhr? sollte doch 00.00 heissen?) nicht mehr aus...
-
es gibt danach eh noch ein script
-
Hallo,
Vielen Dank für die Tipps. Ich habe nun den Tipp von ilovegym mit dem Zähler von last motion getestet. Da dieser Wert alle 10 Sekunden hochzählt habe ich nicht "wurde geändert" sondern "ist kleiner als letztes" genutzt.
Im Ergebnis sieht es leider genauso aus.
Es wird wieder sofort geschalten. Im iobroker bleibt der Wert des last motion im Objekt allerdings nach dem Abschalten noch einige Zeit auf 0 Sekunden. Erst nach ca. 60 Sekunden werden die Werte im Objekt wieder aktualisiert. Dann greift auch wieder das Skript.
Ich vermute, dass es aufgrund der Einschränkung, die ilovegym beschrieben hat nicht besser geht. Ich werde noch ein wenig testen, ob ich herausfinde welche Zeit das optimale Minimum ist.Viele Grüße an euch.
-
@Andreas-S sagte in Xiaomi Bewegungsmelder am iobroker:
Da dieser Wert alle 10 Sekunden hochzählt
ja bei mir macht er 60, 120, 180 usw. bei LastMotion, also alle 60 Sekunden trägt er den Wert 60+ ein wenn sich nichts mehr bewegt! Denke das reicht auch, ein Licht kann ruhig 1 Minute leuchten, bei den heutigen LED Lampen ist das Stromverbrauchstechnisch echt zu vernachlässigen!
Ich habe mein Script jetzt so angepasst und es funktioniert Super!
-
Habe die gleiche Problematik und bin mit der Lösung nicht so ganz zufrieden. Was mich wundert, wenn man über die MI APP bei einer Bewegung sich eine PushNachricht aufs Handy senden lässt funktioniert das lückenlos. Sprich Bewegung findet statt, ich bekomme eine Pushnachricht. Ist bspw. innerhalb der nächsten 10 Sekunden noch einmal eine Bewegung wird wieder eine Pushnachricht versendet. Schade, dass es im ioBroker nicht so ist.