NEWS
Einfaches Script tut nicht
-
Hallo Zusammen!
Ich habe einen Datenpunkt der "WAHR" ist, wenn irgend ein Bewegungsmelder was meldet.
Dann habe ich einen Lichtschalter.Ziel: das Licht so solange anbleiben, bis eine Minute lang keine Bewegung mehr gemeldet wurde.
Der Datenpunkt macht was er soll, aber das Script nicht das was ich will...Hier ist das Script:
<block xmlns="https://developers.google.com/blockly/xml" type="on_ext" id="Nj(te{x3$e6!~{f@69xR" x="-662" y="-262"> <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="c%l5fWgvmI!,g`p~4n;j"> <field name="oid">0_userdata.0.Eigene_Datenpunkte.Bewegung_Treppenhaus</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="g`rmn-%z=3@;OT1+ojJq"> <field name="oid">tuya.0.bfe388d3df5efedf2biaa2.1</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id=";~VE8W;`.ex2=wwj/@Ts"> <mutation elseif="1"></mutation> <value name="IF0"> <block type="logic_operation" id=",?/,{8t1Ok[v~}O9s!Ma" inline="false"> <field name="OP">AND</field> <value name="A"> <block type="logic_compare" id="sg#uwfHFEHu@VFjPHnGm"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="=q!=jm#p%j_?ItKK~6su"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Eigene_Datenpunkte.Bewegung_Treppenhaus</field> </block> </value> <value name="B"> <block type="logic_boolean" id=",szH!zRw2wr36mM#Lv;2"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> <value name="B"> <block type="logic_compare" id="spIprjI/7x5pOlbr9~%B"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="KI8}_3AwoOg/GziGTn^8"> <field name="ATTR">val</field> <field name="OID">tuya.0.bfe388d3df5efedf2biaa2.1</field> </block> </value> <value name="B"> <block type="logic_boolean" id="eN[K=?QMEO/sv0c$#wm)"> <field name="BOOL">TRUE</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="Zbw-y?`R?n}TqCVr8eS?"> <field name="NAME">timeout</field> </block> </statement> <value name="IF1"> <block type="logic_compare" id="xEH3SIM)qXmeepx*K[3A"> <field name="OP">EQ</field> <value name="A"> <block type="get_value" id="iw:1ij6~`,|u:f}Ai[GI"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Eigene_Datenpunkte.Bewegung_Treppenhaus</field> </block> </value> <value name="B"> <block type="logic_boolean" id=".#VUo}Qq$Vq?;Yu=h.@{"> <field name="BOOL">FALSE</field> </block> </value> </block> </value> <statement name="DO1"> <block type="timeouts_settimeout" id="Sl7]EUvd]q9gXk%bteLN"> <field name="NAME">timeout</field> <field name="DELAY">1</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="m|A:PzDnfvu95fRcW=_L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tuya.0.bfe388d3df5efedf2biaa2.1</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="J?B*b7K]mz/dn_@OM_F}"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </statement> </block>
Oder als Bild:
Wo ist mein Denkfehler???
Gruß und Dank
Tobias -
@fibricus sagte in Einfaches Script tut nicht:
Dann habe ich einen Lichtschalter.
Und was soll der bei Dir bewirken ?
edit: sorry, grad gesehen dass der anscheinend im Skript integriert ist
-
@fibricus sagte in Einfaches Script tut nicht:
aber das Script nicht das was ich will...
sondern was?
-
Post entfernt
-
@homoran said in Einfaches Script tut nicht:
@fibricus sagte in Einfaches Script tut nicht:
aber das Script nicht das was ich will...
sondern was?
Es schaltet das Licht auch OBWOHL der Datenpunkt auf WAHR steht.
-
@fibricus sagte: Dann habe ich einen Lichtschalter.
Wie soll er wirken? Das Licht an lassen, bis er wieder ausgeschaltet wird? Dann:
"Skriptname" durch den tatsächlichen Namen des Skriptes ersetzen.
-
@fibricus sagte in Einfaches Script tut nicht:
@homoran said in Einfaches Script tut nicht:
@fibricus sagte in Einfaches Script tut nicht:
aber das Script nicht das was ich will...
sondern was?
Es schaltet das Licht auch OBWOHL der Datenpunkt auf WAHR steht.
ich nehme an es schaltet das Licht aus, obwohl einer von beiden States wahr ist?
welcher?
oder doch beide?
kann man den Schalter bedienen, ohne dass Bewegung erkannt wird? -
@paul53 said in Einfaches Script tut nicht:
@fibricus sagte: Dann habe ich einen Lichtschalter.
Wie soll er wirken? Das Licht an lassen, bis er wieder ausgeschaltet wird? Dann:
Wie gesagt: Das Licht soll (nach dem es über einen mechanischen Schalter (Schalterreihe an Eltako) angeschaltet wurde) erst ausgehen, wenn 1 Minute lang keine Bewegung mehr gemeldet wurde. Also 1Minute nachdem der Datenpunkt auf "FALSCH" wechselte.
Sollte innerhalb der Minute wieder Bewegung gemeldet werden soll das Licht natürlich anbleiben. -
@homoran said in Einfaches Script tut nicht:
ich nehme an es schaltet das Licht aus, obwohl einer von beiden States wahr ist?
welcher?
oder doch beide?
kann man den Schalter bedienen, ohne dass Bewegung erkannt wird?Ja, genau das ist das Problem. Auch wenn der Datenpunkt "WAHR" ist, schaltet das Script oder auch viel zu früh, also nicht nach einer Minute.
Ich muss mal schauen, wie es mit der Zustandsmeldung vom Schalter aussieht. Das habe ich noch nicht beobachtet. Vielleicht liegt es an der UND-Verknüpfung von Schalterzustand WAHR und Bewegung WAHR.
Das habe ich noch nicht ausprobiert - erscheint mir aber auch nicht logisch...Und ja, da der Zigbee-Schalter über den Ausgang vom Eltako gesteuert wird, kann ich den auch jederzeit mechanisch, über die angeschlossenen Wandschalter, wieder ausschalten.
Das tut auch zuverlässig.Nur dumm eben, dass das Licht von alleine ausgeht, obwohl ich auf der Treppe unterwegs bin...
-
nochmal:
Was ist "der Datenpunkt"??- Schalterstellung?
- Bewegung?
Die UND Verknüpfung dieser beiden Datenpunkte, führt bei nur einem wahr zum falsch des gesamten Ausdrucks
ein erneutes Triggern durch Bewegung läuft dann an der gesamten Logik vorbei
-
@homoran said in Einfaches Script tut nicht:
nochmal:
Was ist "der Datenpunkt"??- Schalterstellung?
- Bewegung?
Das hatte ich im ersten Post Post beschrieben:
@fibricus said in Einfaches Script tut nicht:Ich habe einen Datenpunkt der "WAHR" ist, wenn irgend ein Bewegungsmelder was meldet.
@homoran said in Einfaches Script tut nicht:
Die UND Verknüpfung dieser beiden Datenpunkte, führt bei nur einem wahr zum falsch des gesamten Ausdrucks
So war das ja auch geplan: wenn der Zustand des Lichtschalters WAHR ist (wurde manuell gedrückt) und der Zustand des DP WAHR ist (es ist jemand im Treppenhaus), dann stoppe den Timeout.
@homoran said in Einfaches Script tut nicht:
ein erneutes Triggern durch Bewegung läuft dann an der gesamten Logik vorbei
Ja, das könnte es sein und den Eindruck habe ich auch.
Was muss ich denn dann anders machen? -
@fibricus sagte: Was muss ich denn dann anders machen?
-
@paul53 said in Einfaches Script tut nicht:
Sorry, hatte ich am Handy überlesen. Teste ich gleich heute Abend.
Danke! -
@fibricus sagte in Einfaches Script tut nicht:
Das hatte ich im ersten Post Post beschrieben:
natürlich, aber auch der Zustand des Licht"schalters" ist ein Datenpunkt. Oder etwa nicht?
@fibricus sagte in Einfaches Script tut nicht:
wenn der Zustand des Lichtschalters WAHR ist
Wann geht denn dieser Datenpunkt wieder auf false?
-
@homoran Entschuldigung - Typischer Anfängerfehler mit den Begriffen.
Ja, natürlich ist auch der Zustand des Schalters ein Datenpunkt (im Tuya-Baum).
Der DP-Bewegung ist ein Datenpunkt den ich selber angelegt habe. Daher dachte ich nur an diesen Datenpunkt...
Der DP-Lichtschalter geht erst wieder auf FALSE wenn der manuell geschaltet wird. Der geht beim ersten Drücken eines der Wandschalter auf TRUE und bleibt auf TRUE bis er manuell oder eben über das Script ausgeschaltet wird. -
@fibricus sagte: ist auch der Zustand des Schalters ein Datenpunkt
Ein vom Aktor "tuya.0.bfe388d3df5efedf2biaa2.1" getrennter Datenpunkt?
-
@paul53 said in Einfaches Script tut nicht:
@fibricus sagte: ist auch der Zustand des Schalters ein Datenpunkt
Ein vom Aktor "tuya.0.bfe388d3df5efedf2biaa2.1" getrennter Datenpunkt?
Bin Anfänger und habe vll / wahrscheinlich Probleme mit der Terminologie...
Im Datenbaum Tuya ist der Schalter und in seinem Baum gibt es eine Punkt "switch" der den Zustand WAHR oder FALSCH haben kann. Das ist doch ein Datenpunkt oder nicht?
Ich bin verwirrt! -
@fibricus sagte: Im Datenbaum Tuya ist der Schalter
Bitte den Baum zeigen.
-
@fibricus sagte in Einfaches Script tut nicht:
Bin Anfänger und habe vll / wahrscheinlich Probleme mit der Terminologie...
dann zeig's doch
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1
-
@homoran said in Einfaches Script tut nicht:
dann zeig's doch
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1Ich war der Meinung mein Problem ausreichend genau geschildert zu haben. Auch habe ich den Hinweis für gute Forenbeiträge schon mehrfach gelesen und probiere es so zu machen.
Leider habe ich keinen Fernzugriff auf meinen IOB. Ich machen einen Screenshot wenn ich zu Hause bin.