NEWS
Slider kombinieren
Visualisierung
5
Beiträge
4
Kommentatoren
342
Aufrufe
4
Watching
-
Hallo. Gibt es die Möglichkeit mehrere Slider zu kombinieren?
Also wenn man einen regelt das die anderen mitziehen? -
Hallo. Gibt es die Möglichkeit mehrere Slider zu kombinieren?
Also wenn man einen regelt das die anderen mitziehen? -
Ich möchte von drei Ikea Lampen den Helligkeitswert gleichzeitig ändern.
Und das Gleiche dann auch noch für die Lichtfarbe. -
Ich möchte von drei Ikea Lampen den Helligkeitswert gleichzeitig ändern.
Und das Gleiche dann auch noch für die Lichtfarbe.@kaschperle83
Ich würde ein Script schreiben.
Also wenn Slider geändert wird, dann andere alle 3 Lampen. -
Hallo,
Idee mit einem Skript geht auf mindestens 2 Arten.
- Synchronisierung:
Hab es nicht probiert, aber mir fiel gleich die Gefahr einer Endlosschleife auf
const idLampe1 = "IDDERLAMPE1"; const idLampe2 = "IDDERLAMPE2"; const idLampe3 = "IDDERLAMPE3"; const Lampen_arr = [idLampe1, idLampe2, idLampe3]; on({id: Lampen_arr, change: "ne"}, function (obj) { // Prüfung, ob neuer Wert ungleich alter Wert ist, dann neuen Wert schreiben if (obj.state.val != (getState(idLampe1).val) setState(idLampe1, obj.state.val); if (obj.state.val != (getState(idLampe2).val) setState(idLampe2, obj.state.val); if (obj.state.val != (getState(idLampe3).val) setState(idLampe3, obj.state.val); });- Neuer Datenpunkt:
Erstellt weiteren Datenpunkt, der dann zB ausschließlich in VIS verwendet wird und dessen Wert in die IKEA-Datenpunkte geschrieben wird. Lampen lassen sich dann über eigene ID noch einzeln steuern.
const idLampe1 = "IDDERLAMPE1"; const idLampe2 = "IDDERLAMPE2"; const idLampe3 = "IDDERLAMPE3"; const idLampen = "javascript.0.IKEA-kombiniert"; createState(idLampen, 0, { name: "IKEA Lampen Sollwert", type: "number", role: "level", desc: "Wert wird in JS in Lampen ID geschrieben" }); on({id: idLampen, change: "ne"}, function (obj) { // Prüfung, ob neuer Wert ungleich alter Wert ist, dann neuen Wert schreiben if (obj.state.val != (getState(idLampe1).val) setState(idLampe1, obj.state.val); if (obj.state.val != (getState(idLampe2).val) setState(idLampe2, obj.state.val); if (obj.state.val != (getState(idLampe3).val) setState(idLampe3, obj.state.val); });Gruß
Pix - Synchronisierung: