NEWS
Licht per BWM & Helligkeit/CT nach Astro Zeiten
-
Hallo Zusammen,
lange habe ich es vor mir hergeschoben. Nun, nach ca. 1 Woche bin ich fast "süchtig" die Themen zuhause anzupacken und mit dem iobroker los zu legen
Normalerweise beiße ich mich gerne an Themen fest, bis diese gelöst sind oder arbeite mit Teilen aus Foren, die ich zusammen sammle. Leider bin ich nun nach diversen Anläufen und Stunden voller Versuchen und Fehlersuche am verzweifeln...
Daher die Frage an die Nicht-Anfänger (vermutlich ist die Lösung trivialer, als ich vermute):
Ich habe einen Ledvance Smart+ BWM, den ich in meiner Speis positioniert habe. Dort ist auch eine Deckenlampe (auch Ledvance) installiert. Die Schaltung per Bewegung war relativ simpel, jedoch möchte ich die Farbtemperatur, sowie die Helligkeit für unterschiedliche Tageszeiten definieren.
Für die Tageszeiten habe ich mir die Astro Daten via Skript besorgt, leider kann ich, weiterhin nur die Lampe schalten, aber die Werte für Helligkeit / Temp werden nicht gesetzt.Deaktiviert hatte ich feste Werte versucht, die Datenpunkte sind aus einem anderen Skript und vom Typ "Number", werden auch korrekt zu den entsprechenden Tageszeiten gezogen
Da ich den Debug Output zu Brightness & Temp kriege, sollte die Abfrage zur Tageszeit auch funktionieren. Bleibt nur noch, wieso die Werte nicht übernommen wurden. Ich habe es mit "Steuern", "Binde", sowie "aktualisieren" versucht.Danke schon mal für eure Hilfe!
Mfg,
Dominicedit: Type im Titel und kleiner Zusatz
-
@bertilak sagte: Ich habe es mit "Steuern", "Binde", sowie "aktualisieren" versucht.
Nur "steuere" funktioniert.
@bertilak sagte in Licht per BWM & Helligkeit/CT nach Astro Zeiten:
Debug Output zu Brightness & Temp kriege
Der Debug output gibt die vorherigen Werte aus, da "steuere" asynchron ausgeführt wird.
-
Deine falls Astro Abfrage ergibt für mich kein Sinn deswegen geht es wahrscheinlich auch nicht. Du solltest mit zwischen Zeiten arbeiten hier mal ein Beispiel damit du siehst was ich meine:
Gruß Maik
-
@paul53 Danke für die Info!
@CandyMan-0 Kann natürlich sein, dass ich hier einfach falsch gedacht habe.. das muss man natürlich auch erst lernen
Habe deinen Vorschlag mal umgesetzt und würde gerne wissen, ob das so gemeint warAnsonsten sehe ich mir das die nächsten Tage an und melde mich wieder Danke für eure schnelle Hilfe
-
@paul53 said in Licht per BWM & Helligkeit/CT nach Astro Zeiten:
@bertilak sagte in Licht per BWM & Helligkeit/CT nach Astro Zeiten:
Debug Output zu Brightness & Temp kriege
Der Debug output gibt die vorherigen Werte aus, da "steuere" asynchron ausgeführt wird.
Das habe ich mit meiner letzten Version auch gemerkt und wollte das nun "auslagern", indem ich alle 10 Min. die aktuelle Astrozeit abfrage und die Werte entsprechend setze:
Und dazu die abgespeckte Lichtschaltung:
Laut Debug Ausgabe sind die Werte immer für Brightness 99 & Color temp 1600.
Hier das erste Problem: Im Objekt Lampe sind für CT aber ganz andere Bereiche (wenn ich die CT händisch ändere), also ~150-370. Die Debug Ausgabe liefert aber 1600...
Zweites Problem: die Helligkeit wird so, wie sie aktuell eingestellt werden soll, wohl nicht übernommen.
Hier das Protokoll dazu:
-
Moin, ich weiß leider nicht was für Werte hinter den Datenpunkten stecken, die mit der Abfrage "Zeit ist zwischen" abgefragt werden (müssen Zeitangaben sein, die mit der aktuellen Zeit verglichen werden können), kann mir vorstellen, dass entweder hier das Problem liegt, oder an der Steuerung der Datenpunkte der Lampe.
Die Helligkeits und Temperatur Angabe wird so ständig aktualisier, auch wenn die Lampe nicht durch den bwm geschaltet werden soll, dass ist nicht optimal ich ich weiß z.B. nicht ob die Werte eventuell zwischenzeitlich aktualisiert werden oder diese Steuerung überhaupt das tut was du dir vorstellst.
Ich würde die Astro Daten direkt vor der Steuerung abfragen und setzen.
Füge eventuell falls abfragen für jeden möglichen Wert in deinem Astro Datenpunkt ein und passe die zu steuernden Werte für jeden Fall an.Prüfe manuell ob die Steuerung deiner Lampen überhaupt so funktionieren wie du es dir vorstellst, (gebe die Werte manuell in die Datenpunkte Der Lampe ein)
Eventuell klärt dies schon den ein oder anderen möglichen Fehler.
-
Zuerst würde ich den trigger für den bwm so setzen, dass dieser auslöst wenn der dp presence wahr ist.
Nicht dramatisch und auch nicht für dein Problem verantwortlich, aber den „falls mache“ Block kannst du auch erweitern mit „sonst falls“.
-
@bertilak sagte: Hier das Protokoll dazu:
Das sagt nur aus, dass in einem steuere-Block noch kein Datenpunkt zugewiesen ist.
Man sollte nicht zyklisch die Datenpunkte "level" und "ct" steuern. Schreibe die Werte besser in Variablen und gib die Variablenwerte zusammen mit dem Einschalten an die Datenpunkte aus.
-
Dabei fällt mir gerade etwas ein!
Ich habe zwar die HUE Lampen, aber dein Output lässt vermuten, dass die Steuerung ähnlich ist!
Wenn ich eine Lampe über dp (an/aus) steuere, werden Helligkeit und Temperatur immer auf Max gestellt!
Ebenso kann ich nicht Temperatur und Helligkeit gemeinsam einstellen, da der Wert der Temperatur die Helligkeit vorgibt!Ich vermute bei dir ist es ähnlich, versuch mal nur die Temperatur mit steuere zu ändern…
(Hab nur den „schreibe Objekt ID“ Block genommen, weil ich hier die Objekt ID anpassen kann, macht das gleiche wie der „steuere“ Block!)
Außerdem müssen die Objekt IDs natürlich richtig gesetzt werden, meine Angaben sind nur die Namen der Objekt IDs!@paul53 said in Licht per BWM & Helligkeit/CT nach Astro Zeiten:
@bertilak sagte: Hier das Protokoll dazu:
Das sagt nur aus, dass in einem steuere-Block noch kein Datenpunkt zugewiesen ist.
Man sollte nicht zyklisch die Datenpunkte "level" und "ct" steuern. Schreibe die Werte besser in Variablen und gib die Variablenwerte zusammen mit dem Einschalten an die Datenpunkte aus.
Dieser block ist optimal um das licht wieder abzuschalten! (30sek ohne bewegung, hier muss in der Falls Abfrage natürlich geprüft werden, ob der Wert des bwm wahr oder falsch ist).
Dennoch würde ich einmal testen, wie deine Lampen bezüglich Helligkeit und Temperatur geschaltet bzw. Gesteuert werden müssen! -
@newpicsel sagte: Dieser block ist optimal um das licht wieder abzuschalten!
Auch zum Einschalten bei Bewegung. Wert enthält den Wert des Trigger-Datenpunktes.
-
Klar zumindest dachte ich es wäre klar, sorry...
Solltest du mehrere Lampen mit den gleichen werten steuern wollen, macht es definitiv sinn, den wert vorher in eine Variable zu schreiben und dann alle Lampen mit dieser zu steuern, anstatt die astro abfrage für jede Lampe durchzuführen, dennoch würde ich alles im selben Trigger vereinen.
Sieht mit der Abschaltung nach 30sek dann etwa so aus:
PS: ja hier kann „Wert“ auch direkt als Vergleich des trigger datenpunktes genutzt werden, hab’s nur zum Verständnis mit (wert von id = wahr) gebaut.
-
@newpicsel sagte: dennoch würde ich alles im selben Trigger vereinen.
Ja, aber besser so:
-
Natürlich, zumindest wenn tatsächlich „Helligkeit“, „Temperatur“ und „ON“ gesteuert werden müssen.
Hatte nur ein Wert als Beispiel eingebaut (und unter der Vermutung, dass die Lampensteuerung eventuell mit der Temperatur Angabe als Wert ausreicht), das Blockly muss natürlich auf die Anforderungen angepasst werden.
(Der Fall ist) Block passt hier natürlich auch besser, erfüllt aber den gleichen Zweck
-
Hallo Zusammen,
entschuldigt die lange Pause, wir hatten ein paar wichtige Dinge zu erledigen und einige Probleme mit unseren Handwerkern...
Nichtsdestotrotz habe ich mich wieder hingesetzt und versucht, mich in die Thematik einzuarbeiten.
"Lustigerweise" bin ich nach dem Vorschlag von @paul53 (danke dafür!) wieder an einem Punkt hängen geblieben, den ich schon mal hatte:You are assigning a undefined to the state "deconz.0.Lights.5.on" which expects a boolean. Please fix your code to use a boolean or change the state type to undefined. This warning might become an error in future versions.
Ich kriege diese Fehlermeldung, obwohl es wirklich nur TRUE / FALSE gibt und kann mir das Problem nicht erklären. Kann es mit der Blockly-Sprache (deutsch "wahr" bzw. "falsch") zusammenhängen??
@paul53 said in Licht per BWM & Helligkeit/CT nach Astro Zeiten:
Auch zum Einschalten bei Bewegung. Wert enthält den Wert des Trigger-Datenpunktes.
Wie trage ich den Wert hier ein? So?
Danke euch!
-
@bertilak sagte: You are assigning a undefined to the state "deconz.0.Lights.5.on" which expects a boolean.
Diese Warnung kommt bei den Blöcken "steuere" bzw. "aktualisiere", wenn eine Variable, die noch keinen (booleschen) Wert zugewiesen bekam, als Wert übergeben wird.
-
@bertilak sagte: Wie trage ich den Wert hier ein? So?
Die vordefinierte lokale Variable Wert findet man unter "Trigger".
-
Danke, gefunden. Welcher Wert wird denn unter "Wert" gespeichert? Der neue Status des BWM?
Unter steuere habe ich nur die Farbtemp und Helligkeit... die sollte doch vorher gesetzt werden und wie ich das verstehe ist das kein boolean?
-
@bertilak sagte: Welcher Wert wird denn unter "Wert" gespeichert? Der neue Status des BWM?
Ja.
Die Warnung kommt bei Skriptstart? Dann hat sich wohl irgendwo ein verwaister Block versteckt.
-
@paul53
Hey, ja. Habe es gefunden und entfernt. Schaltung funktioniert auch, nur die Helligkeit/Farbtemperatur wird nicht übernommen
Nach der aktuellen Tageszeit...
... sollten die Werte so aussehen...
... sind aber leider unverändert -
@bertilak sagte: sind aber leider unverändert
Werden die richtigen Datenpunkte gesteuert? In Deinem Bild oben sieht es nicht so aus.