NEWS
[Unerwartet Gelöst] Frage zu Lichtsteuerung per Bewegungssensor mit Skript (Blockly)
-
Hallo,
ich bin aktuell an meinen ersten Gehversuchen mit Blockly. Zwei einfache Skripte habe ich bereits auf die Kette bekommen aber mir erschließt sich aktuell noch nicht die Logik in diesen Skript. In meiner Denke habe ich alles korrekt angegeben aber da der Ablauf nicht wie gewünscht funktioniert bitte ich euch um eure Hilfe. Den richtigen Thread in der Suche habe ich nicht gefunden aber da ich noch komplett frisch im Thema bin habe ich in der Suche vielleicht nur falsch recherchiert.
Zur Erläuterung des Skripts: Ich möchte in der Zeit von 18:00 bis z.b. 23:59 Uhr bei festgestellter Bewegung vom Motion Sensor das Licht auf die Stärke 20 % "hochfahren" lassen. Sobald keine Bewegung mehr registriert wird soll die LED wieder auf 5 % runter geregelt werden. Funktionieren tut das hoch steuern auf 20 % bereits aber die Abdimmung auf 5 % will das System nicht schlucken.
Ich dachte durch die "else if" Angaben hätte ich dem System das Verhalten bereits mitgeteilt.
Ich danke euch für den entsprechenden Tipp und sry wenn ich mich zu Anfängerlike anstelle aber da hängt mein Wissen noch zu arg.
Grüße
Marc
on({id: "zwave.0.NODE3.SENSOR_BINARY.Sensor_1"/*Sensor*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if ((obj.state ? obj.state.val : "") == true && compareTime('18:00', '23:59', "between", null)) { setState("lightify.0.398FD90000261884.command"/*command*/, '{"on":true,"bri":20}'); } else if ((obj.state ? obj.state.val : "") == false && compareTime('18:00', '23:59', "between", null)) { setState("lightify.0.398FD90000261884.command"/*command*/, '{"on":true,"bri":05}'); } });
-
War bei den Bewegungsmeldern nicht was mit dauerhaft "true"? Kannst du dir mal den Dastenpunkt zum Melder ansehen, ob da immer "true" steht? Wenn ja, dann musst du den Trigger auf "wurde aktualisiert" ändern.
Enrico
-
Leider ist es das nicht der Fibaro Sensor springt auf true bzw false. Ich habe es gerade nochmal getestet.
-
Dann zeige mal bitte die aufgeklappten Datenpunkte des Sensors.
Enrico
-
OK genau hier bin ich schon überfordert
Ich schaue mir morgen mal an wie ich deine Anforderung nachkommen kann
-
Dann schreib mal bitte noch, wo denn die Überforderung besteht. Beim Aufklappen der richtigen Datenpunkte, Screenshot erstellen oder eben diesen hier einzufügen, oder vielleicht doch alle drei? Auch dann finden wir einen Weg!
Enrico
-
Den richtigen Datenpunkt habe ich, ebenso bekomme ich die Screens hier rein.
Mein "Problem" war nur wie ich dir alle aufgeklappten Menüpunkte hier poste …
Aber ich glaube du meintest das so?!?
6029_bildschirmfoto_2018-03-11_um_23.02.20.png
6029_bildschirmfoto_2018-03-11_um_23.02.30.png -
Genau das meinte ich, danke.
Du kannst ja mal über jeden steuere-Block einen debug-Block einfügen, damit wir sehen können, ob denn der Trigger und die "falls"-Abfrage ordentlich durchlaufen. Und dann mal im log nachsehen, ob die Ausgaben dort auch erscheinen.
Wovon ich jetzt aber erstmal ausgehe.
Enrico
Edit: Was mir grad noch einfällt, wie lange bleibt denn der Sensor auf true? Gibt es da eine Zeit, die abläuft bervor er zurückschaltet, oder schaltet er möglicherweise sofort zurück und das Licht-Gateway (welches eigenlich, hue?) kann so schnell nicht zwei Befehle verarbeiten?
-
Wie gehe ich hierfür vor? Thema Debug-Block meine ich. Den Block "debug output" dort einbauen und dann den Log prüfen bzw. hier posten?
Und die Zeit bis zum Ablauf sind in etwa 30 Sekunden daran liegt es also nicht. Ist übrigens ein Osram Gateway mit Osram LEDs.
Grüße
-
Anbei der Log-Auschnitt und so wie ich es sehe, springt er korrekt auf den Bri 05 Wert laut Logik.
6029_bildschirmfoto_2018-03-12_um_12.52.58.png -
Der debug-Block müsste in die "sonst-falls" Funktion. Du hast ja geschrieben, dass der erste Teil geht, aber sonst falls nicht ausgeführt wird.
Im log steht, dass dein Script im debug-Modus läuft, hast du das gerade oder wegen irgendwelcher Tests umgestellt, oder sind die Meldungen schon die ganze Zeit da, wo du jetzt probierst?
-
Ich hatte die Checkbox "Debug" aktiviert da ich dachte es ist notwendig.
Du meinst das Skript ist so aufzusetzen? Die aktivierte "Debug" Checkbox deaktiviere ich noch.
6029_bildschirmfoto_2018-03-12_um_13.20.50.png -
Vorschlag für nur einmalige Abfrage der Zeitspanne (abend) und Debug-Ausgabe.
-
Ich denke es iegt nicht an dem Sensor, sondern an dem Command;
wenn man dem README folgt.
https://github.com/soef/iobroker.lighti … /README.md
Demnach müßte nicht
{"on":true, "bri": 20}
übergeben werden, sondern
{on:1 bri: 20}
Da ich kein Lightify habe, sondern nur Hue, müßte man noch prüfen, ob hier bri wirklich einem Prozentwert entspricht,
oder aber eher en Wert von 0…254, wie bei Hue ist. Je nach Einstellung wäre dann bri=20 (im Falle von Hue)
nur eine Helligkeit von ca. 3 Prozent und bri=5 wäre dan nur 1%.
Eventuell hat die Lightify-Lampe auch einen "level"-Wert, so wie bei Hue. Dann könnte man den benutzen und direkt steuern,
ohne "command", sondern nur level auf 20 oder 5 setzen.
Ich denke mal, daß auch das on nicht nötig ist, da jeder Wert > 0 auch gleichzeitig on auf true setzt;
dann kann man auch gleich nur bri (oder level) setzen.
-
@modmax: bei der Angabe der Werte in "deiner" Schreibweise gab mir der Log ein Fehler "Unexpected String…"
@Alle das Problem ist nun beseitigt. Ich kann euch noch nichtmal sagen wieso. Ich bin euren Tipps gefolgt und am Ende habe ich den Code nochmals neu eingegeben um was zu testen und plötzlich ist das Verhalten exakt wie ich es gewünscht hatte. Sprich Licht wird bei Bewegung heller und später wieder dunkler.
Jetzt werde ich noch mit den Verzögerungen basteln sprich das Licht soll nicht direkt bei Nichtbewegung wieder dunker werden sondern mit einen Delay.
Eine kurze Frage habe ich noch die Zeit in der das Skript aktiv sein soll kann ich doch auch von beispielsweise 18 Uhr bis 8 Uhr morgens einstellen? Ich bin der Meinung das die Zeitsteuerung über 24 Uhr problematisch ist bei ioBroker. Ist das richtig?
6029_bildschirmfoto_2018-03-12_um_14.51.07.png -
kann ich doch auch von beispielsweise 18 Uhr bis 8 Uhr morgens einstellen? Ich bin der Meinung das die Zeitsteuerung über 24 Uhr problematisch ist bei ioBroker. Ist das richtig? `
Bei der Angabe von reinen Uhrzeiten funktioniert es auch über Mitternacht. Problematisch ist es mit Astrozeiten - dann kann man aber auf "nicht zwischen" ausweichen. -
Jungs, ich danke euch vielmals für euren Support!
Und auf euer Verständnis auch auf Anfängerfragen geduldig einzugehen