NEWS
[Gelöst] HUE Motion Sensor Lampe an/aus -> Problem Haustier
-
Hallo,
da ich keine Sprachsteuerung im Badezimmer möchte, kam ich halt auf die Idee, über IOBroker/Blockly mit einem Philips Hue Bewegungssensor einen verbauten Shelly Aktor zu steuern. Betrete ich oder bessere Hälfte das Badezimmer, geht (bei Dunkelheit, nicht bei Tageslicht -> verbauter Lichtsensor im Hue) das Licht wunschgemäß an und solange man sich nun auch nur im geringsten bewegt (gerade diese Empfindlichkeit überzeugte mich vom Hue im Gegensatz zu Xiaomi Sensoren), bleibt es auch an. Wird für 10 Sekunden keine Bewegung festgestellt, geht Licht wieder aus. (und nein, bei einer Sitzung auf der Toilette wird man sich sicherlich innerhalb von 10 Sekunden die geringste kleinste Bewegung ausführen!
Hier mal das von mir verwendete Blockly
Problem: Wir haben noch zwei Katzen im Haushalt, wovon sich die eine oder andere einmal unbemerkt im Badezimmer versteckt und dann dort ihre Siesta auf dem Heizkörper macht. Das Dumme nun daran ist, wenn sie darin herumtigert, geht natürlich fröhlich bei Dunkelheit (Nachts) das Licht an und aus. Die Badezimmertür offen stehen zu lassen bietet auch keine Option, den dannmarschieren sie Nachts auch da rein und das Licht schaltet ebenfalls munter ein und aus.
Nun war ich am überlegen, eine Dritte Objekt-ID rein zu nehmen, nämlich einen Tür/Fenstersensor an der Tür. Nur weiß ich atuell nicht, wie ich das Blockly aussehen müsste für folgende Szene:
Die Tür öffnet sich (Türkontakt dann bei IOBroker mit Status "False") und der Hue entdeckt eine bewegung (IOBroker "True") und der Lichtsensor erkennt Dunkelheit (IOBroker "True"). Tür geht wieder zu, aber Person befindet sich noch im Badezimmer, das licht soll also anbleiben und erst wieder ausgehen, wenn die Person den Raum wieder verlassen hat. Also dürfte IObroker das Licht erst wieder ausschalten, wenn der Türkontakt ein 2.tes mal betätigt wurde und der Hue keine Bewegung mehr registriert. Auch wenn die eine oder andere Katze wieder verstecken gespielt hat und wieder auf die Heizkörper übernachtet, sollte das Licht aus bleiben.
Einfachste Lösung wäre Katzen abschaffen, aber wenn ich hier noch schreibe, das wir noch drei Hunde haben, die Türen öffnen können, könnte das alles hier dann zu kompliziert werden. Wie würdet ihr die Situation lösen?
-
@Sanweb
Hm, das Blockly ist aber doch so nicht korrekt.
Die beiden ObjektID sind ja immer identisch, und zwar immer das was als letztes geändert wurde.
Geschieht eine neue Änderung gibt es einen neuen (geklonten) Skriptdurchlauf.
Du müsstest also auf "Wert von ObjektID" (blau) Testen.
Und den ganzen "und" Block kannst Du wieder in einen Vergleich packen und so auf 3 Sachen testen. -
also das testen auf "Wert von BlockID" (hellblau) habe ich dann mal so gelöst:
und ich gehe mal davon aus, das ich (sofern der dritte Aktor installiert wäre) diesen ebenfalls mit in die Zeile einbinde mit einer Abfrage, also alle drei ID's in einer Zeile.
Hab ich das so richtig verstanden?
Nur wenn ich die Tür zumache, würde das Licht doch dann auch wieder ausgehen ...
-
@Sanweb sagte:
Die Tür öffnet sich (Türkontakt dann bei IOBroker mit Status "False") und der Hue entdeckt eine bewegung (IOBroker "True") und der Lichtsensor erkennt Dunkelheit (IOBroker "True"). Tür geht wieder zu, aber Person befindet sich noch im Badezimmer, das licht soll also anbleiben und erst wieder ausgehen, wenn die Person den Raum wieder verlassen hat.
Kann das Licht nicht anschalten, wenn die Tür öffnet (Trigger), es dunkel und das Licht aus ist ?
Ausschalten, wenn für eine bestimmte Zeit keine Bewegung ? Etwa so: -
@paul53 Also irgendwie schein ich zu dumm dafür zu sein.
Wenn ich in den Trigger "Kleiner als letztes" nehme, funktioniert erst einmal gar nichts. Ändere ich jenes auf "aktuallisiert" Funktioniert es in soweit, das wenn ich den Raum betrete, das Licht auch an geht, dummerweise aber gefühlt (habs jetzt nicht mit der Stopuhr nachgemessen) schneller als die eingestellten 20 Sekunden wieder ausgeht, obwohl ich ca. 2m vor dem Sensor fast schon am tanzen bin. Es schaltet sich bei bewegung nicht wieder an. Also Tür zu und wieder öffnen und da ist das Licht wieder an. Auch wenn ich den Wert erhöhe z.B. auf 5 Minuten, geht das Licht eher als die 5 Minuten (ca. 4-Minuten) auch wieder aus und nicht wieder an, erst wenn ich die Tür wieder öffne. Es bleibt also nicht länger eingeschaltet bei bewegungen als die Zeit vom Timer definiert.
Beim Datenpunkt des HUe Sensors springt dieser bei einer Bewegung von False auf True um. Bei der 5 Minuten-Einstellung ändert sich der Wert bei Bewegungen stets von False auf True. Bewege ich mich paar Sekunden nicht, ändert er sich von True auf False.
Kann es sein, das der Timer nicht zurück gesetzt wird bei einer Bewegung?
-
@Sanweb sagte :
Trigger "Kleiner als letztes" nehme, funktioniert erst einmal gar nichts.
"Kleiner als letztes" bedeutet Änderung von true nach false. Es muss also etwas passieren, so wie Du das Verhalten des Sensors beschreibst.
@Sanweb sagte:
schneller als die eingestellten 20 Sekunden wieder ausgeht
Wodurch soll das passieren ? Gibt es eine Direkt-Verknüpfung zwischen Motion Sensor und Lampe ?
@Sanweb sagte in HUE Motion Sensor Lampe an/aus -> Problem Haustier:
Es schaltet sich bei bewegung nicht wieder an.
Das ist auch nicht beabsichtigt (Katze). Es soll gar nicht erst ausschalten, solange Bewegung erkannt wird.
Versuche es mal so:
-
@paul53 Muss leider erneut nerven, da ich es einfach nicht hinbekomme. Nachfolgend einmal die Geräte zum Einsatz kommen und wie jene angebunden sind:
- Objekt-ID "Badezimmer Anwesend" ist der Phillips Hue Motion Sensor, der über ConBee II/deConz an IObroker angebunden ist.
- Objekt-ID "Badezimmer Lichtschalter" ist ein Shelly 1 (Tasmota), der über den Sonoff Adapter an IOBroker angebunden ist.
- Objekt-ID "Badezimmer Tag" ist der Phillips Hue Motion Sensor (siehe oben, ist der gleiche).
- Objekt-ID "Badezimmer Türkontakt open/close)" ist ein Xiaomi Türkontakt, der über Conbee II/deConz an IOBroker angebunden ist. Unsichtbar verbaut im Schloss und Türrahmen.
Alle Sensoren funktionieren einwandfrei und je manuellem Bewegen ändern sich die Datenpunkte sofort im IOBroker.
Szenario 1:
Ergebniss: Licht schaltet beim betreten des Badezimmers ein. Man kann sich Bewegen ohne das es ausgeht. Verlässt man den Raum (und keine Katze hat sich vorher reingeschlichen), bleibt es auch über den definierten Timeout an. Man muss über Alexa oder manuell Lichtschalter dieses wieder ausmachen.Szenario 2:
Ergebnis: Gleiches wie bei Szenario 1, Licht schaltet nicht wieder aus, obwohl keine Bewegung über den definierten Timeout erfolgt.Und wer jetzt fragt, warum ich dem Shelly Tasmota verpasst habe, um alles bei den verschiedenen eingesetzten Geräten alles einheitlich zu haben.
-
@Sanweb
Da muss ich fragen, weshalb ich die Abfragen kommentiert habe: Licht ein? bedeutet Abfrage falls Wert von Badezimmerlicht Lichtschalter@Sanweb sagte in HUE Motion Sensor Lampe an/aus -> Problem Haustier:
Die Tür öffnet sich (Türkontakt dann bei IOBroker mit Status "False")
Wegen "offen" = false habe ich als Trigger "kleiner als letztes" vorgegeben.
-
@paul53 , nach dem du mich noch mal mit der Nase drauf gedrückt hast, hab ich es dann auch kapiert, da ich den Wald vor lauter Bäumen nicht gesehen habe.
Funktioniert jetzt einwandfrei, vielen Dank für Deine Unterstützung.
-
@paul53
Das Blockly Script funktioniert bisher tadellos ... sofern man denn nicht mal abends duschen geht und anschließend im dunkeln steht, weil der Bewegungssensor Bewegungen in der Duschkabine nicht erkennt.Habe mir dann mal fix noch einen Xiaomi Aqara Wireless Mini Switch (Button) besorgt, mit dem ich das "timeout" zusätzlich zum Bewegungsmelder manuell stoppen könnte. Nach einem stoppen würde der Türkontakt diesen wieder wie bisher auch erneut anschubsen und das Licht geht aus.
Habe einmal versucht, den Button einzubauen, aber leider geht immer das Licht nach definiertem Zeitraum dennoch aus.
So funktionierte es auch nicht:
Der Button hat keinen Bolean (true/false), sondern gibt folgende Werte bei Betätigung zurück:
- Einmal kurz Drücken = 1002
- Zweimal kurz drücken = 1004
- Einmal Lang Drücken = 1003
Frage an den Experten, wo muss die Buttonfunktion eingebaut werden, das durch einmal kurzes drücken das "timeout" angehalten wird, bis der Türkontakt wieder erneut betätigt wird?
-
@Sanweb
Bin zwar nicht "der Experte"...Das Problem wird sein, dass sich der Zustand nicht ändert.
Wenn Du drückst und der Wert war "1002" ist er danach immer noch "1002" - wenn auch "aktualisiert".
Du könntest Versuchen Dein Blockly auf "aktualisiert" statt "geändert" zu stellen (weiß leider nicht wie Dein "Bewegungsobjekt" sich verhält/aktualisiert, könnte zu Problemen führen ).
Falls es damit klappt, kannste das ganze "falls knopf gedrückt" auch weglassen, dann greift ja der Stopp am Anfang.
Übrigens, wieso nutzt Du eine Variable, statt direkt mit dem Wert zu vergleichen?
Ist meiner Meinung nach nicht nötig.
Thema: Ressourcen schonen.Falls es mit "aktualisiert" nicht klappt, könntest Du in das "falls buttonpressed" ein "setze buttonpressed auf 0" rein packen, dann stellt ein erneutes Drücken eine Änderung dar ("buttonpressed" muss dafür natürlich schreibbar sein).
-
@padrino
Hab es eben einmal ausprobiert und das Script soweit geändert, das ich die Variable nun weg gelassen habe und nun direkt mit dem Wert vergleiche.Der Datenpunkt "buttonpressed" steht stets IMMER auf 0, sofern KEINE Aktion mit dem Button erfolgt. Erst wenn der Button z.B. kurz gedrückt wird, springt er von "0" auf "1002" und dann wieder automatisch zurück auf "0". Also "1002" wird von Beginn bis Ende des "Drückvorganges" gesetzt, wird zu lange gedrückt, erscheint der Wert "1003".
Bei diesem Verhalten musste ich davon ausgehen, das sich der Wert "wird ändert" von Objekt ID "Sensor 15 buttonpressed" so korrekt erst einmal ist.
-
@Sanweb
Wenn er sich selbst ändertDenke aber, Du kannst wirklich das "falls buttonpressed" weglassen.
Denn, wenn sich der Status ändert, bei gedrückt, gibt es den stopp, und selbst wenn Status kurz drauf auf "0" geht, wird ein weiteres Stopp nicht schaden.
Wie sah denn das funktionierende Skript (ohne den Button) aus?
-
@padrino
Also das original sieht aktuell so aus:
und funktioniert super (solange man sich im Badezimmer ein bischen bewegt!).Wenn ich keine "Falls" Option ins Spiel bringe, sondern nur "Falls Objekt sich ändert" und dort den Bewegungssensor und den Button benenne, müsste ich innerhalb des Timeouts entweder eine Bewegung produzieren, oder den Button regelmäßig drücken (Tot-Mann's-Knopf), was ja auch nicht Sinn der Sache ist. Wenn ich den Button drücke,, ist der Status "1002" und springt nach loslassen des Buttos wieder auf "0". Da er sich dann nicht mehr ändert, würde der Timeout in der vordefinierten Zeit auslösen.
Also dachte ich mir, das ich mit Werten arbeiten muss, die verglichen werden, daher kam ich auf die Variable "ButtonKlick", wenn die einmal erkannt wird, sollte das Licht dauerhaft anbleiben, unabhängig davon, ob der Bewegungssensor etwas registriert oder nicht. Bei erneuten betätigen des Türkontaktes tritt ja dann automatisch ein Reset ein und das Licht schaltet dann ja nach dem timeout wieder aus.
So erst einmal der Plan ...
-
@Sanweb
Ah, ja, ok.Wie wäre es mit
- Falls Wert(rot) = 1002 setze Variable X auf true, stop timeout
- sonst falls ergänzen um ... & nicht X
- im Teil mit dem Türsensor packste noch ein "setze X auf false"
-
Scheine irgendwie zu blöd dafür zu sein ...
HAbe mir mal eine manipulierbare variable des Buttons genommen, welche nicht gleich wild umherspringt beim drücken und los lassen des Buttons. Ergebnis: Wird der Button nicht gedrückt, funktioniert alles über wie gewohnt über den Bewegungsmelder. Wird er gedrückt, schaltet das Licht aus (soweit ja gut), aber wird der Türkontakt erneut ausgelöst (Verlassen des Raumes) bleibt das Licht an. Mann muss erst den reulären Lichtschalter betätigen (oder Alexa darum bitten) um das Licht zu löschen.
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="comment" id="j^MxUgu8?7{mlu]rA:Tf" x="685" y="-2361"> <field name="COMMENT">Bewegung</field> <next> <block type="on_ext" id="Vo2d_MmTq==sR.4ZWR$O"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Czsj]a1TUk|+~h~ORP[b"> <field name="oid">deconz.0.Sensors.2.presence</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="D~cxI@R3d9Qx8WQ#e+*e"> <field name="oid">deconz.0.Sensors.15.buttonevent</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id=".AnY7,uE8z6%68I_9r!J"> <field name="NAME">timeout</field> <next> <block type="controls_if" id="+RZ{~*8u`F-{891w*mat"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="MN?aguGn@4Va*isSfJlE"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="Q7EW:c|QXZG`n]0EAC|{"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.15.buttonevent</field> </block> </value> <value name="B"> <block type="math_number" id="L}L-PyHNK43~ZBR#G]Yv"> <field name="NUM">1002</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="rpT/q:9t@dh:zAD1RZRa"> <field name="NAME">timeout</field> </block> </statement> <value name="IF1"> <block type="logic_negate" id="C4LtUkpka$={[9/VCOva"> <value name="BOOL"> <block type="on_source" id="+d+_sgAE*[8U#u/8-`=!"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="b8c{g!jXe$]dFOh^QXP["> <field name="NAME">timeout</field> <field name="DELAY">30</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="comment" id="vvNPR8V{Zt(;|2~TmxfO"> <field name="COMMENT">Licht ein?</field> <next> <block type="controls_if" id="ub/zHL/V?|rXYe|9Al6y"> <value name="IF0"> <block type="logic_operation" id="sRWf3Sh^D=g_?X6r1GMv"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="FrcZZNPN%#R(^G6NN|LM"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Badezimmerlicht.POWER</field> </block> </value> <value name="B"> <block type="logic_negate" id="F~[{i96epeX5jd2{rmv%"> <value name="BOOL"> <block type="get_value" id="ejT!#TZx@6fmiw7y+(:;"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.15.buttonevent</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="$86HuP~`N{LaY4I7md,3"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Badezimmerlicht.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="1UP*Me:;gW3cC?+vbh94"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> <next> <block type="comment" id="#NX^q_VjK@F9iUWAWPA}"> <field name="COMMENT">Tür öffnet</field> <next> <block type="on_ext" id="/V]t?I@Gjkc^eMR_n#)|"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="z.rf;Ppk-,EU=pVr7wQN"> <field name="oid">deconz.0.Sensors.5.open</field> </shadow> </value> <statement name="STATEMENT"> <block type="comment" id="S+(!XQne8~@_%_R_(8!Q"> <field name="COMMENT">dunkel und Licht aus?</field> <next> <block type="controls_if" id="!muI`Yamueo@M|l(k(*v"> <value name="IF0"> <block type="logic_operation" id="F[YWS@t_RdTz=1pg)U=J" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="xlS/H6h9B::cLn|J=^i+"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2NG.@e5:!/WW%;U$]|v`"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.1.daylight</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/:tUU*Q~(.qOA?h~O9ft"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="QzU)|^M:2SQsEF%CPjDi"> <value name="BOOL"> <block type="get_value" id="+gD/U?X!ZU|7OJiYPclr"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Badezimmerlicht.POWER</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=":TjQf-tu@Q#kgie^P)@o"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Badezimmerlicht.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="*ClGOYPry2taM^E+%*n#"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="control" id="N[Wn)HQ)B|e`NIk_{%^$"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">deconz.0.Sensors.15.buttonevent</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="g24C1K?yk,s{q;E1_vE^"> <field name="NUM">0</field> </block> </value> </block> </next> </block> </statement> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@Sanweb
"Blind" zu basteln ist für mich immer schwierig...
Versuch es mal damit (Code ist unten):
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="I0Yf8M3QAcZ{lh:%~V6_">X</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="comment" id="j^MxUgu8?7{mlu]rA:Tf" x="685" y="-2361"> <field name="COMMENT">Bewegung</field> <next> <block type="on_ext" id="Vo2d_MmTq==sR.4ZWR$O"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="Czsj]a1TUk|+~h~ORP[b"> <field name="oid">deconz.0.Sensors.2.presence</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="D~cxI@R3d9Qx8WQ#e+*e"> <field name="oid">deconz.0.Sensors.15.buttonevent</field> </shadow> </value> <statement name="STATEMENT"> <block type="timeouts_cleartimeout" id=".AnY7,uE8z6%68I_9r!J"> <field name="NAME">timeout</field> <next> <block type="controls_if" id="+RZ{~*8u`F-{891w*mat"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_compare" id="a`FAZUm.0S=g+(-d75=="> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="ikJdPHuN/r_sUhC_8z[X"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="Hpe8l%6h9;.8Zv!5uo@="> <field name="NUM">1002</field> </block> </value> </block> </value> <statement name="DO0"> <block type="variables_set" id="`@%/xVvi/mJ1VgyS%2~Q"> <field name="VAR" id="I0Yf8M3QAcZ{lh:%~V6_">X</field> <value name="VALUE"> <block type="logic_boolean" id="d_z{;C{MAiW;EKo=/il8"> <field name="BOOL">TRUE</field> </block> </value> <next> <block type="timeouts_cleartimeout" id="PUO?G1f[%s]1g?=~:b7v"> <field name="NAME">timeout</field> </block> </next> </block> </statement> <value name="IF1"> <block type="logic_operation" id="cbX|!~f6(oV88sundj)u"> <field name="OP">AND</field> <value name="A"> <block type="logic_negate" id="C4LtUkpka$={[9/VCOva"> <value name="BOOL"> <block type="on_source" id="+d+_sgAE*[8U#u/8-`=!"> <field name="ATTR">state.val</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="An.9KZR+0C*LGDj[ENv]"> <value name="BOOL"> <block type="variables_get" id="#:aCZ:-uk|KYsrPP#(Vk"> <field name="VAR" id="I0Yf8M3QAcZ{lh:%~V6_">X</field> </block> </value> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="b8c{g!jXe$]dFOh^QXP["> <field name="NAME">timeout</field> <field name="DELAY">30</field> <field name="UNIT">sec</field> <statement name="STATEMENT"> <block type="comment" id="vvNPR8V{Zt(;|2~TmxfO"> <field name="COMMENT">Licht ein?</field> <next> <block type="controls_if" id="ub/zHL/V?|rXYe|9Al6y"> <value name="IF0"> <block type="logic_operation" id="sRWf3Sh^D=g_?X6r1GMv"> <field name="OP">AND</field> <value name="A"> <block type="get_value" id="FrcZZNPN%#R(^G6NN|LM"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Badezimmerlicht.POWER</field> </block> </value> <value name="B"> <block type="logic_negate" id="F~[{i96epeX5jd2{rmv%"> <value name="BOOL"> <block type="get_value" id="ejT!#TZx@6fmiw7y+(:;"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.15.buttonevent</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="$86HuP~`N{LaY4I7md,3"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Badezimmerlicht.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="1UP*Me:;gW3cC?+vbh94"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> </block> </statement> </block> </next> </block> </statement> <next> <block type="comment" id="#NX^q_VjK@F9iUWAWPA}"> <field name="COMMENT">Tür öffnet</field> <next> <block type="on_ext" id="/V]t?I@Gjkc^eMR_n#)|"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">gt</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="z.rf;Ppk-,EU=pVr7wQN"> <field name="oid">deconz.0.Sensors.5.open</field> </shadow> </value> <statement name="STATEMENT"> <block type="variables_set" id="3PSjZPC*-BBEVrMeSgvm"> <field name="VAR" id="I0Yf8M3QAcZ{lh:%~V6_">X</field> <value name="VALUE"> <block type="logic_boolean" id="H0N3e-dqcA[Qlj[O8UPu"> <field name="BOOL">FALSE</field> </block> </value> <next> <block type="comment" id="S+(!XQne8~@_%_R_(8!Q"> <field name="COMMENT">dunkel und Licht aus?</field> <next> <block type="controls_if" id="!muI`Yamueo@M|l(k(*v"> <value name="IF0"> <block type="logic_operation" id="F[YWS@t_RdTz=1pg)U=J" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="xlS/H6h9B::cLn|J=^i+"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="2NG.@e5:!/WW%;U$]|v`"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.1.daylight</field> </block> </value> <value name="B"> <block type="logic_boolean" id="/:tUU*Q~(.qOA?h~O9ft"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_negate" id="QzU)|^M:2SQsEF%CPjDi"> <value name="BOOL"> <block type="get_value" id="+gD/U?X!ZU|7OJiYPclr"> <field name="ATTR">val</field> <field name="OID">sonoff.0.Badezimmerlicht.POWER</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id=":TjQf-tu@Q#kgie^P)@o"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.Badezimmerlicht.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="*ClGOYPry2taM^E+%*n#"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </next> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </xml>
-
-
@paul53
Passt meins nicht? -
@padrino sagte:
Passt meins nicht?
Wenn das stimmt ?
@padrino sagte in [Gelöst] HUE Motion Sensor Lampe an/aus -> Problem Haustier:
Wenn Du drückst und der Wert war "1002" ist er danach immer noch "1002" - wenn auch "aktualisiert".
, dann nicht.