NEWS
Werte 1, 0 in true oder false umwandeln
-
@djmarc75
funktioniert so nicht, da der Datenpunkt dann nach Ablauf der 5 min nicht aktualisiert wurde, falls noch jemand dort ist. Licht geht wieder aus. Gerade getestet. -
Ja das geht leider nicht. Auf die Idee bin ich auch gekommen. Dann geht das Skript nicht erneut los, falls der Wert schon auf 1 steht.
-
@cdn sagte: Dann geht das Skript nicht erneut los, falls der Wert schon auf 1 steht.
Dann triggere auf "wurde aktualisiert" und prüfe "falls Wert".
-
@paul53
Ja und was ist, wenn der Wert dann 0 ist? Dann ist keiner mehr dort und das Licht bleibt an?Wie geht das denn mit diesem Alias?
-
@cdn sagte: was ist, wenn der Wert dann 0 ist?
Dann laufen die 5 Minuten Verzögerung ab und das Licht geht aus.
Wie lange hält der BWM nach Bewegungserkennung selbst den Wert auf 1?
Wenn es lange genug auf 1 bleibt, kann man mit !! einfach die Zahl in einen Logikwert wandeln. -
@cdn sagte in Werte 1, 0 in true oder false umwandeln:
@homoran Bekomme ich das geändert?
was?
nee, wenn er triggern will nutzt das auch erst einmal nichts!
-
@cdn sagte in Werte 1, 0 in true oder false umwandeln:
wenn der Wert dann 0 ist?
fehlt immer noch die Antwort auf
@homoran sagte in Werte 1, 0 in true oder false umwandeln:
@cdn was für Werte / Zahlen liefert der denn?
-
@homoran said in Werte 1, 0 in true oder false umwandeln:
@cdn sagte in Werte 1, 0 in true oder false umwandeln:
wenn der Wert dann 0 ist?
fehlt immer noch die Antwort auf
@homoran sagte in Werte 1, 0 in true oder false umwandeln:
@cdn was für Werte / Zahlen liefert der denn?
@cdn said in Werte 1, 0 in true oder false umwandeln:
@homoran Entweder liefert der DP 0 oder 1. Die Logik erkennt es allerdings nicht als wahr oder falsch.
0=false
1=trueSteht doch hier?
0= Abwesend
1= Anwesend -
@cdn sagte in Werte 1, 0 in true oder false umwandeln:
Steht doch hier?
und keine weiteren Werte möglich?
-
@cdn
Kannst Du nochmal genau erklären, was Du genau erreichen willst?
Ich steige bei dem ganzen hin und her langsam nicht mehr durch. -
@homoran
Korrekt -
Zusammengefasst will ich eigentlich folgendes erreichen: https://jb-smarthome.de/iobroker-bewegungsmelder-als-praesenzmelder-mit-blockly
-
-
@homoran sagte in Werte 1, 0 in true oder false umwandeln:
@cdn klappt das von @paul53 mit
ist größer als letztes
nicht?Eben!
@cdn
Das sollte dann so aussehen: -
@cdn Wenn ich eins gelernt habe: Wenn @paul53 einem ein Blockly oder Script anbietet, dann arbeitet dieses zu 100% und ist so ressourcenschonend wie möglich. Wenn es nicht tut, was es soll, dann hat man entweder nicht genau beschrieben, was wann wie genau passieren soll bzw. wann nicht, oder die Datenpunkte entsprechen nicht dem, was man selber denkt oder geschrieben hat. Also vom Objekt her, ob es boolean, number oder sonstwas sind. Zeig doch den Inhalt der Datenpunkte wie sie im iobroker als Objekt angezeigt werden.
Gruss, Jürgen
-
okay. Vielleicht erkläre ich es nochmal ausführlich, weil so wie paul53 geschrieben hat klappt es leider nicht.
Ich habe einen Bewegungsmelder, welcher per Modbus ausgelesen wird. Hier der DP:
Der Wert ist entweder 0 (niemand da), oder 1 (jemand da). Wenn jemand erkannt wird, soll das Licht angehen. Das Licht soll dann mindestens (in meinen Screenshots zum testen jetzt nur) 10 Sekunden anbleiben. Wenn innerhalb der 10 Sekunden erneut Bewegung erkannt wird, soll das Licht für weitere 10 Sekunden anbleiben. Wenn der Wert dann aber auf 0 geht und 10 Sekunden keine erneute Anwesenheit erkannt wird, geht das Licht aus.
Die Haltezeit des BWM liegt bei 20s.
-
@cdn sagte: Wenn innerhalb der 10 Sekunden erneut Bewegung erkannt wird
Das bedeutet, dass der BWM auf 1 bleibt, aber aktualisiert (den Zeitstempel ändert)?
Dann muss es mit dem Trigger "wurde aktualisiert" und Prüfung von Wert funktionieren.Alternativ so:
@cdn sagte in Werte 1, 0 in true oder false umwandeln:
Die Haltezeit des BWM liegt bei 20s.
Das ist zu kurz für diese Lösung?
-
@paul53
Könntest du mir die obenstehende Lösungsmöglichkeit einmal erklären. Das verstehe ich irgendwie nicht wirklich. Ich brauche 5min und der BWM kann nur 20s. -
@cdn sagte: erklären.
Der mache-Zweig wird immer dann ausgeführt, wenn Bewegung erkannt (auf 1 aktualisiert) wird. "stop timeout" sorgt dafür, dass mit jeder Bewegungserkennung die Ausschaltverzögerung neu gestartet wird.
-
@paul53
Ah sehr gut! Das funktioniert! Super! Vielen Dank