NEWS
3 Shelly RGBW Terrassenbeleuchtung synchronisieren
-
Hallo zusammen.
Ich liege in den letzten Zügen mit dem Neubau meiner Terrassenüberdachung.
Da ich schon so einiges mit IOBroker am Laufen habe, sollte die Beleuchtung dafür natürlich auch "smart" gemacht werden.
Dazu habe ich mir ca. 30m LED RGBW Stripes und 3 Shelly RGBW2 gekauft. Verbaut ist das alles testweise schon und funktioniert soweit auch.
Ich kann nun zwar alles schön einzeln schalten, ich stehe aber vor dem Problem diese 3 Shelly zu synchronisieren, damit die Beleuchtung gleichmäßig aussieht.Mehrfarbig ist zwar auch schön , aber der WAF dazu recht gering.
Ich habe jetzt versucht einen Shelly als "Master" zu nehmen und wenn bei diesem die Werte geändert werden (über Shelly APP), diese Werte (die dann im Shelly Adapter stehen) dann eben auf die anderen beiden zu übertragen. (Blockly, wenn Datenpunkt geändert, schreibe diesen Datenpunkt in die anderen beiden Shelly.)
Funktioniert aber nur bedingt mit den einzelnen RGB, Gain und White Werten, da die Shelly anscheinend durcheinander kommen und neu starten.
Wenn ich Werte direkt in RGBW im Shelly Adapter eintrage und nur diesen synchronisiere, funktioniert es.
Jemand eine Idee wie ich das lösen kann?
ALs zweites habe ich noch keine Lösung gefunden, um die Farben über VIS ordentlich einstellen zu können.
Der vorhandene Color-Picker Adapter scheint nicht zu funktionieren. Wenn ich diesen einbinde spielen die Shelly ganz verrückt und zeigen falsche Farben an oder starten neu.Wenn es eine Möglichkeit gäbe die RGBW Werte über einen Color-Picker in VIS als #00ff00ff eintragen zu können, könnte es wie ich mir denke klappen. Hat so was schon Mal jemand gemacht und kann mich etwas unterstützen?
-
@maniac Wegen der Gruppierung:
Ich habe sowas mit 4 RGBW2 am laufen und funktioniert gut. Ich habe die Datenpunkte eines Shellys exportiert und den JSON export etwas angepasst (Datenstruktur in custom.0.XXX geändert) und wieder importiert. Alternativ kann man sich die Gruppendatenpunkte auch per Hand erstellen.
Dann habe ich in Blockly die Regeln erstellt. Hierbei habe ich meine Vorstellungen der Abhängigkeiten einfließen lassen (wenn bspw. 1 von 4 RGBW2 Switch auf true steht, ist der Gruppen Switch Datenpunkt bereits auf true, wenn die einzelnen Helligkeiten sich unterscheiden, wird ein Durchschnitt auf dem Gain Gruppen Datenpunkt gebildet, etc). Vielleicht kannst du diese ja nutzen um sie auf deine Bedürfnisse anzupassen.Anbei die Exporte der beiden Blocklys.
-
@maniac
Part 2 -
@siggi85 sagte in 3 Shelly RGBW Terrassenbeleuchtung synchronisieren:
@maniac Wegen der Gruppierung:
Ich habe sowas mit 4 RGBW2 am laufen und funktioniert gut. Ich habe die Datenpunkte eines Shellys exportiert und den JSON export etwas angepasst (Datenstruktur in custom.0.XXX geändert) und wieder importiert. Alternativ kann man sich die Gruppendatenpunkte auch per Hand erstellen.
Dann habe ich in Blockly die Regeln erstellt. Hierbei habe ich meine Vorstellungen der Abhängigkeiten einfließen lassen (wenn bspw. 1 von 4 RGBW2 Switch auf true steht, ist der Gruppen Switch Datenpunkt bereits auf true, wenn die einzelnen Helligkeiten sich unterscheiden, wird ein Durchschnitt auf dem Gain Gruppen Datenpunkt gebildet, etc). Vielleicht kannst du diese ja nutzen um sie auf deine Bedürfnisse anzupassen.Anbei die Exporte der beiden Blocklys.
Danke. Das schaue ich mir mal an.
Steuerst Du das ganze auch über VIS? Wenn ja, wie?
Wie schon gesagt, mit den vorhandenen ColorPicker bekommen ich es nicht hin. -
@maniac Nein aktuell nur über Hap Panel und Sprache (google home per iot). Aber auch im HapPanel habe ich einfach ein paar feste Farbwerte in Buttons gepackt, die dann den rgbw und gain Wert setzen. Wie man in VIS eine dynamische Farbauswahl baut für den RBGW2 weiß ich leider nicht.
-
@siggi85 sagte in 3 Shelly RGBW Terrassenbeleuchtung synchronisieren:
@maniac Nein aktuell nur über Hap Panel und Sprache (google home per iot). Aber auch im HapPanel habe ich einfach ein paar feste Farbwerte in Buttons gepackt, die dann den rgbw und gain Wert setzen. Wie man in VIS eine dynamische Farbauswahl baut für den RBGW2 weiß ich leider nicht.
Feste RGBW Werte gehen natürlich auch, aber vielleicht findet sich ja noch jemand der es mit einem Picker umgesetzt hat.
-
@siggi85 sagte in 3 Shelly RGBW Terrassenbeleuchtung synchronisieren:
Dann habe ich in Blockly die Regeln erstellt. Hierbei habe ich meine Vorstellungen der Abhängigkeiten einfließen lassen (wenn bspw. 1 von 4 RGBW2 Switch auf true steht, ist der Gruppen Switch Datenpunkt bereits auf true, wenn die einzelnen Helligkeiten sich unterscheiden, wird ein Durchschnitt auf dem Gain Gruppen Datenpunkt gebildet, etc). Vielleicht kannst du diese ja nutzen um sie auf deine Bedürfnisse anzupassen.
Ich habe das jetzt soweit angepasst auf meine Objekte. Eines ist mir noch nicht ganz klar.
Welchen "Wert" setzt das Script denn? Bezieht das auf den Wert aus dem "Falls Objekt"?
Also wenn dieser Wert geändert wird, setze die Objekte auf diesen neuen Wert?
Ich hatte das bisher immer noch so gemacht.
-
@maniac
Der grünmarkierte Datenpunkt in deiner Grafik ist der Gruppen White Datenpunkt.
Das eine Skript setzte die Werte der einzelnen Shellys, wenn der Gruppenwert gesetzt wird. Das andere Skript setzt die Gruppenwerte, wenn eines der einzelnen Werte verändert wird. (ohne dass der Gruppenwert ausgeführt sind)Beispiel:
Ausgangszustand 1: Alle Shellys sind aus
einer Shelly wird separat an gemacht. Dann geht der Switchdatenpunkt der Gruppe auf true. die anderen beiden Shelly bleiben aber auf false.
Ausgangszustand 2: Alle Shellys sind aus.
Der Gruppendatenpunkt Switch wird auf true geschaltet. Alle 3 Shellys gehen bei switch auf true.EDIT: Bei dir wird anscheinend jedes Mal alles gesetzt wenn sich einer der Gruppen-Datenpunkte ändert. Ich habe für jeden Datenpunkt einen einzelnen Trigger, die sich dann auch nur um die jeweils geänderten Datenpunkte kümmern.
-
Ich habe es jetzt soweit hinbekommen. Allerdings hab ich manchmal noch das Problem, dass die LEDs resetten, bzw. die Shelly. Kann es sein, dass die Shelly manchmal etwas träge sind?
Wenn ich mehrfach direkt nacheinander Farbe oder Helligkeit wechsle, gehen die LED aus und kurz danach wieder an mit einem Farb-/Helligkeitswert den ich nicht zuordnen kann.Als Beispiel möchte ich ein "Lauflicht" erstellen. Dazu habe ich jetzt eine Verzögerung von 100ms eingebaut:
Damit funktioniert es meistens, aber ab und an bekomme ich im Script die Warnung:
07:31:03.179 warn javascript.0 at Object.<anonymous> (script.js.Licht.Terrasse.Lauflicht1:95:7) 07:31:11.518 warn javascript.0 at Object.<anonymous> (script.js.Licht.Terrasse.Lauflicht1:95:7)
Danach kann ich auch in der VIS den Datenpunkt "White" nicht mehr ändern. Ich muss VIS neu laden.
Frage: Was bedeutet die Warnung?
-
@maniac sagte in 3 Shelly RGBW Terrassenbeleuchtung synchronisieren:
Ich habe es jetzt soweit hinbekommen. Allerdings hab ich manchmal noch das Problem, dass die LEDs resetten, bzw. die Shelly. Kann es sein, dass die Shelly manchmal etwas träge sind?
Wenn ich mehrfach direkt nacheinander Farbe oder Helligkeit wechsle, gehen die LED aus und kurz danach wieder an mit einem Farb-/Helligkeitswert den ich nicht zuordnen kann.So ein ähnliches Verhalten habe ich auch. Da es bisher relativ selten passiert, kann ich aktuell damit leben.
Ob hier das Skript optimiert werden kann, oder ob ggf. der Shelly Adapter sowas abfangen sollte, habe ich bisher nicht weiter verfolgt. -
So langsam läuft es wie es soll. Brauche aber bitte einen Denkanstoß.
Ich habe mal versucht die LED mit einer anderen(kürzeren) Funktion langsam heller werden zu lassen.
Mein Ansatz sieht jetzt so aus.
Das funktioniert aber aber nicht
Ich hatte jetzt angenommen, dass die Variable "gainblau" so lange erhöht wird bis sie 100 erreicht hat und dadurch die LED in 10% Schritten heller werden.
Es passiert aber gar nichts innerhalb der Schleife. Switch und xx-Blue werden richtig gesetzt wenn ich den Trigger auslöse.Wo liegt mein Fehler?
-
@maniac Bau Mal einen Timeout Block innerhalb deiner Schleife, statt der Verzögerungen. Lass den Timeout mal auf min. 1sek konfiguriert. Funktioniert das besser? (Erstmal unabhängig ob der 10sek Fade erst Mal zu lange dauert)
-
@maniac sagte in 3 Shelly RGBW Terrassenbeleuchtung synchronisieren:
So langsam läuft es wie es soll. Brauche aber bitte einen Denkanstoß.
Ich habe mal versucht die LED mit einer anderen(kürzeren) Funktion langsam heller werden zu lassen.
Mein Ansatz sieht jetzt so aus.
Das funktioniert aber aber nicht
Ich hatte jetzt angenommen, dass die Variable "gainblau" so lange erhöht wird bis sie 100 erreicht hat und dadurch die LED in 10% Schritten heller werden.
Es passiert aber gar nichts innerhalb der Schleife. Switch und xx-Blue werden richtig gesetzt wenn ich den Trigger auslöse.Wo liegt mein Fehler?
Du hast einen Denkfehler wie das „wiederhole solange“ funktioniert. Du musst <= 100 wählen. Du setzt „gainblau“ davor ja auf 0 und dann wiederholt der das so lange wie „gainblue“ <= 100 ist. Bei dir würde er das jetzt so lange machen wie „gainblue“ >= 100 ist. Da du aber vorher „gainblue“ auf 0 setzt wiederholt der nichts.
-
@el_malto sagte in 3 Shelly RGBW Terrassenbeleuchtung synchronisieren:
nen De
Danke Euch.
Ich habe es jetzt ganz anders gelöst hoffe ich. Zumindest funktioniert es meistens.
Irgendwie spinnen die Shelly aber ab und zu und gehen einfach ganz aus und stellen nicht definierbare Farben ein.Ich triggere jetzt auf ein Objekt und wenn dieses true ist, setze ich XXX_Verzögerung auf einen bestimmten Wert (dieser ist dann die Geschwingkeit mit der das ganze abläuft)
Dann wird gainXXX auf 0 gesetzt und um einen bestimmten Wert erhöht (Dies sind dann die Stufen mit denen es heller wird).
So lange die Helligkeit keine 100 erreicht hat, wird der Block neu aufgerufen.
Beim ausschalten praktisch das Gleiche nur anders herum.Aber wie gesagt, manchmal klappt es nicht und die Shelly spinnen. Da bin ich noch nicht ganz zufrieden.
-
@maniac Nutzt du http oder mqtt über den Shelly Adapter? Ich nutze http und habe manchmal ähnliche Probleme. Ggf. Könnte mqtt hier besser funktionieren?!
-
CoAP
-
@maniac sagte in 3 Shelly RGBW Terrassenbeleuchtung synchronisieren:
CoAP
Ich auch. Ggf. ist mqtt hier etwas performanter und wird von den Shelly besser verarbeitet?!?
-
Hallo, sollte dieses Thema noch aktuell sein, so habe ich hier eine Anleitung verfasst