NEWS
Blockly Lichtsteuerung
-
Hallo Jan1,
Danke dir nochmal für die Antwort, leider bin ich seither nicht dazu gekommen mir das Thema genauer anzusehen. Da ich mich jetzt wieder etwas mehr damit beschäftige, wollte ich im nächsten Step zumindest die Steuerung mit der Zeit machen.
Kannst du mir sagen wie ich mein bereits vorhandenes Skript oben, so umbaue das quasi von Sonnenuntergang bis 22:00 die Leuchtkraft bei 50% ist, ab 22:00 bis 00:00 bei 30% ist und ab 00:00 bis Sonnenaufgang bei 10%?
Ich habe schon ein paar Versuche gestartet aber bin leider nie wirklich weit gekommen ..
Ich danke dir!
-
@Cynric10 sagte:
von Sonnenuntergang bis 22:00 die Leuchtkraft bei 50% ist, ab 22:00 bis 00:00 bei 30% ist und ab 00:00 bis Sonnenaufgang bei 10%?
Zusätzlich einbauen:
-
Danke für deine Antwort!
Ich habe es jetzt nach dem Muster nachgebaut und folgendes kommt hierbei raus
Den unteren Part wo die Lampen wieder abgedreht werden, würde ich mit dem oberen angepassten Teil ja nicht mehr benötigen oder?
Ich hätte dann noch einen zweiten Bewegungsmelder, der eben das gleiche machen soll, aber eben im EG sitzt. Müsste ich dann nur das selbe Schema kopieren und für den EG Melder anpassen?
Ich danke dir!
-
@Cynric10 sagte:
folgendes kommt hierbei raus
Ich kann mir nicht vorstellen, dass ein Datenpunkt mit "on" im Namen dimmen kann (level).
@Cynric10 sagte:
Den unteren Part wo die Lampen wieder abgedreht werden, würde ich mit dem oberen angepassten Teil ja nicht mehr benötigen oder?
Doch, denn der schaltet aus, wenn keine Bewegung mehr erkannt wird. Allerdings sollte man keine zwei Trigger auf den gleichen Datenpunkt verwenden (Ressourcenverschwendung), sondern innerhalb des Triggers verzweigen (falls Wert / sonst).
@Cynric10 sagte in Blockly Lichtsteuerung:
Ich hätte dann noch einen zweiten Bewegungsmelder, der eben das gleiche machen soll
Wenn die gleichen Lampen geschaltet werden, nimmt man den 2. BWM mit in den Trigger und macht bei falls eine Oder-Verknüpfung. Prinzip:
-
Danke dir nochmal für deine Hilfe!
@paul53 said in Blockly Lichtsteuerung:
Ich kann mir nicht vorstellen, dass ein Datenpunkt mit "on" im Namen dimmen kann (level).
Sorry, ja habe ich bereits ausgebessert
@paul53 said in Blockly Lichtsteuerung:
Doch, denn der schaltet aus, wenn keine Bewegung mehr erkannt wird. Allerdings sollte man keine zwei Trigger auf den gleichen Datenpunkt verwenden (Ressourcenverschwendung), sondern innerhalb des Triggers verzweigen (falls Wert / sonst).
Müsste ich soweit angepasst haben.
@paul53 said in Blockly Lichtsteuerung:
Wenn die gleichen Lampen geschaltet werden, nimmt man den 2. BWM mit in den Trigger und macht bei falls eine Oder-Verknüpfung. Prinzip:
Hier tue ich mir etwas schwer welchen Wert ich nehmen soll? Du beschreibst hier die 2 BWM, da habe ich jetzt mal die presence selbst genommen:
-
@Cynric10 sagte:
die presence selbst genommen:
Das meinte ich auch.
Der Trigger muss von "ist wahr" auf "wurde geändert" korrigiert werden, da andernfalls der sonst-Zweig nie erreicht wird. Der Rest sieht gut aus, wenn die Dimmer durch einen Dimmwert > 0 selbst einschalten. -
@paul53 said in Blockly Lichtsteuerung:
@Cynric10 sagte:
die presence selbst genommen:
Das meinte ich auch.
Der Trigger muss von "ist wahr" auf "wurde geändert" korrigiert werden, da andernfalls der sonst-Zweig nie erreicht wird. Der Rest sieht gut aus, wenn die Dimmer durch einen Dimmwert > 0 selbst einschalten.Alles klar!
Ja es sind die Tradfri Floalt Lampen von Ikea. Wenn ich manuell einen % Wert ändere bzw. eingebe, schalten sie sich sofort mit dem Wert ein.
Bin gerade noch am Testen. Leider springen die Lichter nicht an auch wenn eine Bewegung erkannt wird. Was aber funktioniert ist das sie ausgehen sobald keine Bewegung mehr da ist. Es funktioniert auch das rücksetzen der % Werte:
Wenn ich die Werte zb auf 60% stelle und manuell einschalte, bleiben sie vorerst mal bei 60% bis eben keine Bewegung mehr erkannt wird. Schalte ich sie dann manuell ohne Wert einzugeben, springt es auf 50% was an sich ja auch der Sinn sein sollte.
Hättest du noch eine Idee warum sie noch nicht auf die Bewegung reagieren? Die Bewegung wird vom Sensor selbst erkannt, das habe ich schon geprüft.
-
Ok ich denke ich verstehe warum sie sich nicht einschalten. Pausiere ich das Skript, starte die Lampen mit einem Wert über 50% und schalte sie dann ab (damit sie sich den Wert merken) und starte dann das Skript wieder, dann wird die Bewegung auch erkannt und genau auf die 50% gesetzt als auch die Lampen eingeschaltet mit der Bewegung. Gehen die Lichter dann aus weil keine Bewegung mehr erkannt wird, so wird auch die erneute Bewegung nicht mehr angenommen, weil der Wert schon richtig auf 50% sitzt und durch das Skript nicht mehr angepasst werden muss, also die Bedingung bereits erfüllt.
-
@Cynric10 sagte:
weil der Wert schon richtig auf 50% sitzt und durch das Skript nicht mehr angepasst werden muss, also die Bedingung bereits erfüllt.
Dann nimm die Vergleiche level != Wert von Objekt ... level raus.
-
@paul53 said in Blockly Lichtsteuerung:
@Cynric10 sagte:
weil der Wert schon richtig auf 50% sitzt und durch das Skript nicht mehr angepasst werden muss, also die Bedingung bereits erfüllt.
Dann nimm die Vergleiche level != Wert von Objekt ... level raus.
Danke dir @paul53!
Ich habe das ganze jetzt die Tage getestet. Leider ist es noch nicht ganz so wie ich es brauche.
Grundsätzlich funktioniert die routine mit den % jetzt. Habe ich aber den Term "sonst setze level auf 0" drinnen, so bleibt nach 00:00 das licht einfach an bis man es dann manuell abschaltet, auch nachdem es schon nach Sonnenaufgang ist. Den Term habe ich zum testen einfach mal rausgenommen und so schaltet es sich zumindest auch ab, Problem welches ich jetzt habe ist das der untere Teil mit dem ausschalten nicht funktioniert und die Lampen den ganzen Tag über mit 10% angesteuert werden, bis eben auf die definierten Zeiten mit den anderen % Werten.
-
Ich werde wahnsinnig mit dem Mist zur Zeit.
Eingestellt sind 15sek.
Sollte reichen, dass die DP ihren aktuellen Wert haben.
Aber ausgehen tun die beiden Lampen entweder mal nach 35sek oder 39 oder 45sek.
Völlig willkürlich von der Zeit.Lasst euch nicht von der eingestellten Zeit irritieren, die habe ich auf die beiden Zeiten jetzt eingestellt, wo das Blockly laufen soll.
-
@haselchen zwischen 23:00 und 05:00? datums übergreifend?
-
Jup. Immer abends bis morgens. Das scheint ja alles zu passen, die Lichter gehen ja an.
Hintergrund ist der, ich will wenn ich abends ins Schlafzimmer gehe, dass dort der Spot angeht und im Flur die Lampe.
Aber nur, wenn diverse Dinge vorher erfüllt sind. Quasi die obere Etage dunkel ist. Erst dann brauche ich ja Licht im Schlafzimmer
Der BWM steht hinter der Tür zum Schlafzimmer.
Wenn ich also reingehe, soll das Licht an und nach 15sek aus, es sei denn, ich renne in der Zwischenzeit wieder am BWM vorbei, dann soll der Countdown wieder von vorne laufen. -
@da_woody sagte: zwischen 23:00 und 05:00? datums übergreifend?
Das funktioniert nur mit Astrozeiten nicht.
-
@haselchen ja, abewr nicht aus. über mitternacht muss extra eingestellt werden meines wissens nach...
-
Trag doch mal bitte oben im Trigger und als erstes im ausführen Timeout einen Debug baustein ein zum zu schauen woran es liegt. Es gibt meiner Meinung nach 4 Möglichkeiten:
- Der BWM meldet erst spät
- der ioBroker verhaspelt sich und schaltet erst spät
- der Hue (Hue Extended) Adapter leitet den Schaltbefehl verspätet weiter
- Die Kommunikation Hue Gateway - Leuchte ist kritisch und die Leuchte schaltet nicht sofort.
A.
-
@asgothian jau, irgendwo hats was. enstanden ist das aus diesem tread
irgendwoher kommen zeit veschiebungen, die unerklärlich sind -
Bin mal so ehrlich...ich habe bisher keine Debugbausteine benutzt.
Ich weiss auch jetzt warum
Ich bekomme keine Infos wenn ich sie setze....Im Log erscheint nix. Lampen gehen aber an. Wenn auch nach ca.1,5sek.
javascript.0 2021-06-07 14:36:26.358 info (701) script.js.Skript_1: Ausführung javascript.0 2021-06-07 14:36:20.332 info (701) script.js.Skript_1: Ausführung javascript.0 2021-06-07 14:36:01.190 info (701) script.js.Skript_1: Auslöser
Das erscheint, wenn ich loglevel auf Info schalte.
Gerade in den Objekten geprüft.
Der BWM schaltet binnen Millisekunden auf true wenn ich vorbeigehe. -
@haselchen Es fehlt da etwas:
- Welchen Wert hat der BWM wenn im Log "Ausführung" steht ? (Am Besten den "Wert" noch mit ausgeben)
- Es fehlt eine Ausgabe im Timeout, um zu sehen wann der iobroker schalten will.
A.
Alternativ: Meldungen da wo die roten Pfeile hin zeigen.
-
Da steht nichts weiter. Das ist alles.
Wenn es da mehr rauszuholen gibt, brauche ich tatsächliche ne Debug Baustein AnleitungEdit: @Asgothian
Kleiner Teilerfolg was Debug angeht.
javascript.0 2021-06-07 14:59:57.868 info (701) script.js.Licht_Schlafzimmer: Wert:false javascript.0 2021-06-07 14:59:45.993 info (701) script.js.Licht_Schlafzimmer: Wert:true
javascript.0 2021-06-07 15:03:14.477 info (701) script.js.Licht_Schlafzimmer: Wert:false javascript.0 2021-06-07 15:03:02.212 info (701) script.js.Licht_Schlafzimmer: Ausführung:true javascript.0 2021-06-07 15:03:02.211 info (701) script.js.Licht_Schlafzimmer: Wert:true
Wie man sieht wird die Lampe nach Erkennung sofort geschaltet.
javascript.0 2021-06-07 15:05:25.874 info (701) script.js.Licht_Schlafzimmer: Ausschaltenfalse javascript.0 2021-06-07 15:05:25.873 info (701) script.js.Licht_Schlafzimmer: Wert:false javascript.0 2021-06-07 15:05:13.839 info (701) script.js.Licht_Schlafzimmer: Ausführung:true javascript.0 2021-06-07 15:05:13.839 info (701) script.js.Licht_Schlafzimmer: Wert:true
Fehler eingegrenzt. Nach dem setzen im Log von Ausschalten dauert es noch 5-6 sek bis die Lampe wirklich ausgeht.