Wenn du z.B. mehrere Shelly RGBW2 Dein Eigen nennst, ist es in manchen Situationen toll, wenn diese die RGB-Streifen synchron schalten würden. Hast Du z.B. in Deinem Wintergarten mehrere RGB-Streifen installiert und sie alle mit einem Shelly RGBW2 ausgestattet, so macht es dort natürlich Sinn, wenn alle Farben gleich sind.
Somit kannst Du einen Shelly RGBW2 als “Master” festlegen, der seine Farbwerte an die anderen RGBW2 weitergibt und zusätzlich die “Slave” Shelly aus- und einschaltet.
Als Raffinesse, wird noch die Helligkeit am Ende des Skriptes in alle Shelly synchronisiert.
Installation des Shelly Adapter

Nach kurzer Zeit stehen die Datenpunkte aller gefundenen Shellys unter shelly.0
zur Verfügung.
Skript zur Synchronisation

//Skript zum Synchronisieren des Shelly RGBW2
var master = "shelly.0.SHRGBW2#6F65EB#1.color";
//Hier den Datenpunkt des 1. Slave Shelly eingeben
var slave_1 = "shelly.0.SHRGBW2#6F65AB#1.color";
//Hier den Datenpunkt des 2. Slave Shelly eingeben
var slave_2 = "shelly.0.SHRGBW2#6F65BB#1.color";
//Hier den Datenpunkt des 3. Slave Shelly eingeben
var slave_3 = "shelly.0.SHRGBW2#6F65CB#1.color";
//Reagiere auf die Farbe des Master Shelly bei jedem Wechsel
on({id: master+".rgbw", change: "any"}, function (obj)
{
//Farbe des 1. Slave Shelly setzen
setState(slave_1+".rgbw", obj.state.val);
//Farbe des 2. Slave Shelly setzen
setState(slave_2+".rgbw", obj.state.val);
//Farbe des 3. Slave Shelly setzen
setState(slave_3+".rgbw", obj.state.val);
});
//Reagiere auf ein- und ausschalten des Master
on({id: master+".Switch", change: "any"}, function (obj)
{
//Zustand des 1. Slave Shelly setzen
setState(slave_1+".Switch", obj.state.val);
//Zustand des 2. Slave Shelly setzen
setState(slave_2+".Switch", obj.state.val);
//Zustand des 3. Slave Shelly setzen
setState(slave_3+".Switch", obj.state.val);
});
//Reagiere auf die Helligkeit des Master
on({id: master+".gain", change: "any"}, function (obj)
{
//Helligkeit des 1. Slave Shelly setzen
setState(slave_1+".gain", obj.state.val);
//Helligkeit des 2. Slave Shelly setzen
setState(slave_2+".gain", obj.state.val);
//Helligkeit des 3. Slave Shelly setzen
setState(slave_3+".gain", obj.state.val);
});
Nicht benötigte Datenpunkte im Skript kannst Du mit //
vor der jeweiligen Zeile auskommentieren oder einfach löschen.
Bisher keine Kommentare