NEWS
[Erledigt] Blocky für Dimmersteuerung in Zusammenarbeit mit Alexa
-
Hallo Community.
Ich habe mal wieder ein Problem mit einem Blocky Skript oder besser gesagt vermutlich einen Denkfehler.
Ich betreibe mehrere Unterputz Dualdimmer vom EX-Store https://ex-store.de/2-Kanal-RS232-WiFi-Dimmer-Modul-V4-fuer-Unterputzmontage-230V-3A und die funktionieren mit LEDs echt gut. Leider lassen sich die Teile nicht direkt bei Alexa einbinden und ich habe dafür extra einen virtuellen Datenpunkt (VirtDIMM1) angelegt der von Alexa verändert wird (0-100%). Wenn ich jetzt die Lampen mit Alexa einschalte dann wird der Datenpunkt VirtDIMM1) mit dem entsprechenden Wert gesetzt und mein Blocky erkennt die Änderung des Wertes und schaltet das Modul an (DIMM1) und setzt den Dimmwert (BRIGHT1PROZ) entsprechend.
Das passiert:
Der VirtDIMM steht auf null und wird auf einen Wert zwischen 0 und 100 von Alexa gesetzt, alles perfekt. Schalte ich dann per Alexa aus (VirtDIMM1 auf 0) dann wird auch der Ausgang (DIMM1) deaktiviert.
Das Problem was ich habe ist wenn das Licht per Taster eingeschaltet wird dann ändert sich der Wert für VirtDIMM1 nicht und bleibt auf 0 da er nur von Alexa geändert wird. Nicht weiter schlimm denn das Licht geht an. Allerdings lässt es sich dann nicht mit Alexa ausschalten. Denn der Wert von VirtDIMM1 steht auf 0 und wird von Alexa mit 0 überschrieben. Es findet somit keine Änderung statt die den Blocky triggert.
Hört sich ziemlich konfus an, aber ich hoffe ihr konntet es trotzdem verstehen.
Wie kann ich den Blocky pimpen damit eine Aktualisierung des Datenpunkts (VirtDIMM1) den Blocky triggert?
PS. Eine Änderung des Einganstriggers "wurde geändert" auf "wurde aktualisiert" bringt leider nicht das erhoffte Ergebnis.
Hier der Blocky:
Hier die Datenpunkte:
-
versuche doch mal dem/den Datenpunkt(en) virtDIMM als Rolle "level" zu geben.
Dann solltest Du den Datenpunkt direkt als Smart-Gerät im Cloud-Adapter anlegen können und auch den Wert direkt von Alexa in den Datenpunkt schreiben können
-
versuche doch mal dem/den Datenpunkt(en) virtDIMM als Rolle "level" zu geben.
Dann solltest Du den Datenpunkt direkt als Smart-Gerät im Cloud-Adapter anlegen können und auch den Wert direkt von Alexa in den Datenpunkt schreiben können `
Servus.
Ich habe mich vermutlich etwas kompliziert ausgedrückt. Der von mir erzeugte Datenpunkt virtDIMM1 funktioniert perfekt im Zusammenspiel mit Alexa. Das Problem ist dabei allerdings dass der Wert von virtDIMM1 nur per Alexa verändert wird und das bereitet die Probleme.
Beispiel1: Licht ist aus, virtDIMM1 steht auf 0%
Per Alexa wird das Licht eingeschaltet und auf den Wert gesetzt den man Alexa mitteilt. Wenn nur auf "ein" gesetzt wird kommen aus dem Cloudadapter 60%. Die Änderung von 0 auf x% triggert den Blocky und führt die Aktion aus. Alles bestens und das Licht lässt sich auch weiter durch Alexa oder den angeschlossenen Taster steuern.
Beispiel2: Licht ist aus, virtDIMM1 steht auf 0%
Licht wird per Taster eingeschaltet, virtDIMM1 steht aber weiterhin auf 0% da nur der Cloudadapter den Wert ändert. Wenn ich dann mit Alexa ausschalten möchte passiert nichts denn der Wert von virtDIMM1 (0%) wird mit 0% überschrieben und der Blocky wird nicht getriggert. Exakt das ist mein Problem!
-
Trigger auf "wurde aktualisiert" anstatt "wurde geändert" bringt auch nicht den gewünschten Erfolg?
Oder den virtDIMM1 bei "Trigger" Licht per Taster ein…..dann auf 60% stellen (oder anderen Vorgabewert)
-
Trigger auf "wurde aktualisiert" anstatt "wurde geändert" bringt auch nicht den gewünschten Erfolg? `
Leider nicht, das wäre ja das Einfachste gewesen. Im Blocky habe ich ja bei der Triggerauslösung "wenn virtDIMMx = 0 dann setze den Dimmer auch auf 0"
Das blöde bei dem Modul ist leider dass der Dimmwert und der "An/Aus" Wert unabhängig voneinander sind. Ansonsten hätte ich den Dimmwert (BRIGHTxPROZ) in den Cloudadapter eingebunden. Allerdings wird der Datenpunkt nicht als Dimmer im Cloudadapter interpretiert, sondern nur als An/Aus?
-
bekommt ioBroker denn mit wenn Du das Licht per Taster einschaltest?
Taster ein –> Wert auf 60%
ich habe z.B eine Variable Onkyo (steht auch als EIN/AUS) angelegt und die steuert mit die lautstärke
Mit Alexa stelle Onkyo auf 60, regelt es mir die Lautstärke auf 60%
2678_onkyo1.png
2678_lautstaerkeonkyo.png -
Sämtliche Datenpunkte von dem Objekt werden permanent aktualisiert. Lediglich der von mir angelegte virtuelle Dimmerwert (virtDIMMx) bekommt nur vom Cloud Adapter Änderungen. Darin liegt ja das Problem.
-
bei mir läuft es so
Manuel
-
Die Homematic Dimmer konnte ich auch easy einbinden und steuern. Das Problem bei den Dimmer um die es geht ist dass es 2 Datenpunkte gibt welche unabhängig geändert werden können. Zum einen der Dimmewert in Prozent und zum anderen der eigentlich an/aus Status. Ein ändern des Dimmwerts von 0 auf irgendwas anderes bewirkt nicht dass der Ausgang aktiviert wird falls er abgeschaltet ist. Daher mein Umweg über den künstlichen Datenpunkte.
-
und weshalb löst du das nicht so?
[EDIT]
Im Bild beim Trigger auf "Lampe_An_Aus" ist ein Fehler.
Es darf natürlich nicht ">" "unwahr" heißen, sondern "=" "unwahr"
1917_dimmer_anaus.png
1917_dimmer_aus.png -
und weshalb löst du das nicht so?
[EDIT]
Im Bild beim Trigger auf "Lampe_An_Aus" ist ein Fehler.
Es darf natürlich nicht ">" "unwahr" heißen, sondern "=" "unwahr" `
Grundproblem ist leider dass ich nur mit dem Umweg über den "Hilfsdatenpunkt" das Modul vernünftig in den Cloud Adapter bekomme um mit Alexa zu steuern.
Grundsätzlich würde es mir reichen wenn das vorhandene Skript triggert wenn der Wert von "virtDIMMx" mit einem neuen Zeitstempel versehen wird, der Wert sich aber nicht geändert hat.
Die Triggermöglichkeit gibt es aber anscheinend nicht.
Wenn es nur rein darum ginge die Lampe an/aus zu steuern könnte ich ja den Datenpunkt "DIMMx" in den Cloud Adapter einbinden, aber ich möchte ja auch per Sprache den Dimmwert setzen können.
-
Wenn es nur rein darum ginge die Lampe an/aus zu steuern könnte ich ja den Datenpunkt "DIMMx" in den Cloud Adapter einbinden, aber ich möchte ja auch per Sprache den Dimmwert setzen können. ` na, dann gehen wir doch einfach mal 10 Antworten zurück http://forum.iobroker.net/viewtopic.php … 42#p126703
-
Wenn es nur rein darum ginge die Lampe an/aus zu steuern könnte ich ja den Datenpunkt "DIMMx" in den Cloud Adapter einbinden, aber ich möchte ja auch per Sprache den Dimmwert setzen können.
na, dann gehen wir doch einfach mal 10 Antworten zurück [http://forum.iobroker.net/viewtopic.php … 42#p126703](http://forum.iobroker.net/viewtopic.php?p=127742#p126703)
Dann gehen wir jetzt noch mal 10 Antworten zurück und dann lesen wir dass der Datenpunkt virtDIMMx einwandfrei funktioniert und sämtliche Befehle von Alexa annimmt. Dummerweise beschreibt nur Alexa den Datenpunkt und daher kommt es zu der Situation dass wenn das Licht per Taster eingeschaltet wird der Wert von virtDIMMx sich nicht ändert. War 0 und ist 0, daher ist das Ausschalten per Cloud Adapter nicht möglich den dann wird der Wert 0 lediglich mit 0 überschrieben was das Skript nicht triggert.Gesendet von meinem SM-T825 mit Tapatalk
-
Trigger auf "wurde aktualisiert" anstatt "wurde geändert" bringt auch nicht den gewünschten Erfolg? `
Wenn der Rest richtig ist funktioniert das genau so. Was klappt denn da bei dir nicht?
Matze
-
Trigger auf "wurde aktualisiert" anstatt "wurde geändert" bringt auch nicht den gewünschten Erfolg? `
Wenn der Rest richtig ist funktioniert das genau so. Was klappt denn da bei dir nicht?
Matze `
Die Aktualisierung des Zeitstempels triggert leider nicht das Skript. Wenn das klappen würde wäre mein Problem gelöst. -
Wie kommt es dass man die letzten Nachrichten nicht lesen kann? Sehr seltsam!
-
Besteht denn überhaupt keine Möglichkeit dass man ein Skript durch die Änderung des Zeitstempels eines Datenpunkts triggern kann. Ich komme mit meinem Skript und der Steuerung des Dimmers leider nicht weiter.
-
In diesem von dir gezeigtem Beispiel benutzt du als Zahlenwerte Texte. Kann eigentlich so nicht sein, LEVEL ist eine Zahl zwischen 0 und 100 `
Hi Uwe, danke für deinen Beitrag. Grundsätzlich funktioniert meine Skript ja und auch mit den Text Werten. Das Hauptproblem liegt einfach darin dass die Aktualisierung des virtuellen Wertes nicht das Skript triggert. Wenn das funktionieren würde dann wäre mein Problem gelöst. Bei dem Modul das ich nutze gibts es leider einen Datenpunkt für an und aus und einen für die Dimmstärke. Ist echt tricky mit dem Teil. Ich habe den Entwickler angemailt und nachgefragt ob er da nicht was anpassen kann. -
Ich hatte ein ähnliches Problem und lasse mir deshalb von meinem dazugehörigen Blockly den Datenpunkt auf -0.01 setzten, das stört meine Schaltung nicht und ich hab den gewünschten Effekt, wenn der DP auf 0 gesetzt wird.
Ob das bei Dir so anwendbar ist, musst mal testen. Könnte aber ein Denkanstoß sein
-
Ich hatte ein ähnliches Problem und lasse mir deshalb von meinem dazugehörigen Blockly den Datenpunkt auf -0.01 setzten, das stört meine Schaltung nicht und ich hab den gewünschten Effekt, wenn der DP auf 0 gesetzt wird.
Ob das bei Dir so anwendbar ist, musst mal testen. Könnte aber ein Denkanstoß sein `
Das Problem ist dass sich die Datenpunkte immer gegenseitig beeinflussen. Ich dreh mit dem Kram noch mal durch :). Vermutlich ist es ganz einfach nur mir fehlt der passende Ansatz. Der Virtuelle Dimmerwert darf nur dann auf -0.1 gesetzt werden wenn die Aktion durch den Taster ausgelöst wird. Und nicht dann wenn das Licht angeschaltet wird…...echt tricky.