NEWS
[Gelöst] Blockly korrekt für Beleuchtung?
-
Hallo Mädels und Jungs, weiß nicht ob ich wieder zu kompliziert denke oder was auch immer.
Momentan steuer ich meine Hue Lampen im Flur unten und oben mit jeweils einem Xiaomi Sensor.
An sich funktioniert der obere Scriptteil, aber glaube das dort irgendwo noch nen Haken ist, denn die Dimmphase und das Ausschalten dauert viel zu lange bzw. nicht so wie ich es erwarte.. Meine Idee soll sein:
Bewegung erkannt > Licht auf 100% > nach X Sekunden für ca 10 Sekunden auf 35% dimmen sofern keine Bewegung mehr erkannt wurde >Dann nach 10 Sekunden ausschalten.
Jetzt weiß man natürlich das die Xiaomi Sensoren alle 60 Sekunden aktualisieren, aber auch das habe ich irgendwie versucht mit einzubringen bzw. zu berücksichtigen und habe auch schon mit rumgespielt. Das gewünschte Ergebnis kommt aber nicht zu 100 % Zustande..
Kann mir vielleicht jemand bei meinem dummen Fehler behilflich sein?
Es geht nur um den Links unten und Rechts Oben. Der andere ist nur für meinen Touch Display für die Visualisierung.
Danke schonmals! -
@4-Real Das kann so nicht richtig funktionieren! Denn bevor du dimmst, wird schon ausgeschaltet. Versuche es mal so:
Eventuell die Zeit beim Timeout anpassen (61 Sekunden?).
-
@Dr-Bakterius Danke erstmal für deine Hilfe, leider funktioniert es so überhaupt nicht, der timeout wird so bei mir gar nicht gestoppt.
Bemerke auch gerade, egal, wie ich nen Timeout sezte, es wird nie gestoppt... sehr skuril.. -
@4-Real Wie stellst du fest, dass der Timeout nicht gestoppt wird?
Bei dem obigen Skript wird bei jeder Änderung des Triggers die Überprüfung gestartet. Trifft diese zu, wird das Licht auf 100% gesetzt, ein eventuell laufender Timeout gestoppt und ein neuer Timeout gestartet. Ist der abgelaufen, wird das Licht auf 35% reduziert und zeitversetzt auf 0% gesetzt.
Vielleicht stellst du hier mal einen Export deines Skriptes rein...
-
@Dr-Bakterius sagte in Blockly korrekt für Beleuchtung?:
@4-Real Wie stellst du fest, dass der Timeout nicht gestoppt wird?
Bei dem obigen Skript wird bei jeder Änderung des Triggers die Überprüfung gestartet. Trifft diese zu, wird das Licht auf 100% gesetzt, ein eventuell laufender Timeout gestoppt und ein neuer Timeout gestartet. Ist der abgelaufen, wird das Licht auf 35% reduziert und zeitversetzt auf 0% gesetzt.
Vielleicht stellst du hier mal einen Export deines Skriptes rein...
Danke erstmal für deine Antwort, werde es später bzw heute Abend nochmal in Ruhe testen. Heute hab ich wenigstens wieder ein bisschen Zeit dafür. Werde mich dann nochmals melden.
-
@Dr-Bakterius sagte in Blockly korrekt für Beleuchtung?:
@4-Real Wie stellst du fest, dass der Timeout nicht gestoppt wird?
Bei dem obigen Skript wird bei jeder Änderung des Triggers die Überprüfung gestartet. Trifft diese zu, wird das Licht auf 100% gesetzt, ein eventuell laufender Timeout gestoppt und ein neuer Timeout gestartet. Ist der abgelaufen, wird das Licht auf 35% reduziert und zeitversetzt auf 0% gesetzt.
Vielleicht stellst du hier mal einen Export deines Skriptes rein...
Also. Hab gerade mein Script jetzt nochmal angepasst, der Fehler ist wohl die Verzögerung im Timeout.
Das scheint nicht zu klappen, habe es dementsprechend mit einem weiterem Timeout gemacht
Jetzt wird gedimmt, kurz bevor sie ausgeht. Findet jetzt eine neue Bewegung statt, werden beide States zurückgesetzt und für weitere 55 Sekunden bleibt das Licht auf 100 %.
Kann jemand mal dazu etwas erläutern ob in Timeouts keine Verzögerungen gesetzt werden dürfen / sollten?.
Zumindest funktioniert es hier jetzt genau so wie es soll.
Danke dir trotzdem erstmal für deine Hilfe! -
@4-Real sagte in Blockly korrekt für Beleuchtung?:
Kann jemand mal dazu etwas erläutern ob in Timeouts keine Verzögerungen gesetzt werden dürfen / sollten?.
doch, sollte doch gehen. Haken bei löschen falls läuft setzen sollte auch ein stop bewirken---habe ich aber noch nicht probiert.
-
@dslraser sagte in Blockly korrekt für Beleuchtung?:
@4-Real sagte in Blockly korrekt für Beleuchtung?:
Kann jemand mal dazu etwas erläutern ob in Timeouts keine Verzögerungen gesetzt werden dürfen / sollten?.
doch, sollte doch gehen. Haken bei löschen falls läuft setzen sollte auch ein stop bewirken---habe ich aber noch nicht probiert.
Ok, das habe ich natürlich in diesem Fall nicht getestet, wäre aber mal eine Idee..
Denke aber das ich mit den Timeouts soweit ganz gut fahre..
Wie gesagt; Danke nochmal an diejenigen die geholfen haben! -
@4-Real Verzögerungen in einem Timeout funktionieren. Habe ich selbst seit vielen Monaten so im Einsatz:
Hier dimme ich die Hue übrigens langsam ab. Das könntest du auch versuchen. So wird der Helligkeitswechsel nicht abrupt vorgenommen.
-
@Dr-Bakterius sagte in Blockly korrekt für Beleuchtung?:
@4-Real Verzögerungen in einem Timeout funktionieren. Habe ich selbst seit vielen Monaten so im Einsatz:
Hier dimme ich die Hue übrigens langsam ab. Das könntest du auch versuchen. So wird der Helligkeitswechsel nicht abrupt vorgenommen.
Okay Danke, wenn ich mal wieder mehr Zeit habe werde ich das mal testen. Da es soweit ja jetzt erstmal mit den Timeouts funktioniert. Wie meinst du das mit dem Abrupten Helligkeitswechsel?
Ist die Funktion nicht die gleiche wie bei dir? -
@4-Real Gibt man den Hue-Lampen rein die Helligkeit vor, wird diese in geschätzten 0,5 Sekunden umgestellt. Mit 'transitiontime' kann man diese "Umschaltzeit" beeinflussen und so z.B. kontinuierlich von 100% auf (fast) 0% innerhalb von 15 Sekunden dimmen oder auch die Farbe wechseln. Es wird also gleichmäßig dunkler statt in zwei Stufen. Je nach Hue-Lampe ist die Dim-Range allerdings begrenzt und macht am Ende dann doch einen Sprung auf Aus.
-
@Dr-Bakterius sagte in Blockly korrekt für Beleuchtung?:
@4-Real Gibt man den Hue-Lampen rein die Helligkeit vor, wird diese in geschätzten 0,5 Sekunden umgestellt. Mit 'transitiontime' kann man diese "Umschaltzeit" beeinflussen und so z.B. kontinuierlich von 100% auf (fast) 0% innerhalb von 15 Sekunden dimmen oder auch die Farbe wechseln. Es wird also gleichmäßig dunkler statt in zwei Stufen. Je nach Hue-Lampe ist die Dim-Range allerdings begrenzt und macht am Ende dann doch einen Sprung auf Aus.
Ah okay, also wird es sozusagen Smooth runter gedimmt?
könntest du mir mal den kompletten transitiontime aus dem Textfeld bereitstellen? -
@4-Real Du bräuchtest eigentlich folgenden: {"transitiontime":500,"level":0}
Die '500' nach Bedarf verändern.
-
@Dr-Bakterius sagte in Blockly korrekt für Beleuchtung?:
@4-Real Du bräuchtest eigentlich folgenden: {"transitiontime":500,"level":0}
Die '500' nach Bedarf verändern.
Top, läuft super! Danke dir!
-
@4-Real Freut mich.
Bitte den Thread noch auf 'gelöst' setzen.