Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. HUE Script like Sonos Script (6 face Schalter)

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    22
    1
    1.2k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.2k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

HUE Script like Sonos Script (6 face Schalter)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 5 Kommentatoren 1.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • D Offline
    D Offline
    DiJaexxl
    schrieb am zuletzt editiert von
    #1

    Hallo zusammen,

    ich habe dieses Endgeile Script zum Thema Sonos und 6 fach Schalter gefunden.

    http://forum.iobroker.net/viewtopic.php … nos+Taster

    Hat einer von euch so etwas für HUE Lampen?

    Ich glaube mit solchen Sachen treiben wir die Verkaufszahlen für die 6fach Schalter Bausätze bei EQ3 in unerreichte Höhen :-)

    Gruss aus Bensberg

    Dirk

    1 Antwort Letzte Antwort
    0
    • ruhr70R Offline
      ruhr70R Offline
      ruhr70
      schrieb am zuletzt editiert von
      #2

      Hi Dirk,

      ich steuere meine hue Lampen mit einem 4-fach-Taster mit zusätzlicher Unterscheidung kurzer und langer Druck.

      Das auf einen 6-fach-Taster umzumünzen sind nur noch zusätzliche Datenpunkte.

      Gruß

      Michael

      [EDIT]

      Das Skript für den Taster:

      ! // Channel-IDs idTaster = "hm-rpc.0.FEQ0052402"/*Taster-2-ol*/; idHueLampe = "hue.0.Philips_hue.wohnzimmer.kugel"/*Philips_hue.wohnzimmer.kugel*/; ! // DimDown on({id: idTaster + ".1.PRESS_CONT", change: "any"} , function(obj) { if (obj.newState.val === true || obj.newState.val === "true") { setState("javascript.0.hue.szene.wohnzimmer.bri_inc", -16); } }); ! // DimUp on({id: idTaster + ".2.PRESS_CONT", change: "any"} , function(obj) { if (obj.newState.val === true || obj.newState.val === "true") { setState("javascript.0.hue.szene.wohnzimmer.bri_inc", 16); } }); ! // Off on({id: idTaster + ".1.PRESS_SHORT", change: "any"}, function (obj) { if (obj.newState.val === true || obj.newState.val === "true") { setState("javascript.0.hue.szene.wohnzimmer.szene"/*hue.szene.wohnzimmer.szene*/, "aus"); } }); ! // On on({id: idTaster + ".2.PRESS_SHORT", change: "any"}, function (obj) { if (obj.newState.val === true || obj.newState.val === "true") { setState("javascript.0.hue.szene.wohnzimmer.szene"/*hue.szene.wohnzimmer.szene*/, "sonne"); } }); ! // CtDown on({id: idTaster + ".3.PRESS_CONT", change: "any"} , function(obj) { if (obj.newState.val === true || obj.newState.val === "true") { setState(idHueLampe+".ct", getState(idHueLampe+".ct").val - 16); } }); ! // CtUp on({id: idTaster + ".4.PRESS_CONT", change: "any"} , function(obj) { if (obj.newState.val === true || obj.newState.val === "true") { setState(idHueLampe+".ct", getState(idHueLampe+".ct").val + 16); } }); ! // Cold on({id: idTaster + ".3.PRESS_SHORT", change: "any"}, function (obj) { if (obj.newState.val === true || obj.newState.val === "true") { setState(idHueLampe+".ct", 153); } }); ! // Warm on({id: idTaster + ".4.PRESS_SHORT", change: "any"}, function (obj) { if (obj.newState.val === true || obj.newState.val === "true") { setState(idHueLampe+".ct", 500); } }); !

      Ich steuere damit u.a. dynamische Szenen. Man kann aber z.B. auch Szenen vom Szenen-Adapter steuern.

      Das Skript für dynamische hue Szenen:

      ! ```
      // hue Szenzen - Script für ioBroker // V 0.3.0 // // es empfiehlt sich den hue-Adapter-Loglevel auf "warn" zu stellen (viele Farbänderungen) // // Benutzung über Vis, bzw. Datenpunkte // ------------------------------------ // // die Szenen können über Datenpunkte, z.B. über Vis eingeschaltet und gesteuert werden. // // javascript.0.hue.szene.arbeitszimmer.szene = "love" -> schaltet die Szene "love" im Arbeitszimmer ein // javascript.0.hue.szene.arbeitszimmer.szene = "aus" -> schaltet die aktive Szene im Arbeitszimmer aus, die Lampen gehen aus // javascript.0.hue.szene.arbeitszimmer.szene = "stop" -> stoppt die Szene, die Lampen der Gruppe "arbeitszimmer" leuchten weiter // // javascript.0.hue.szene.arbeitszimmer.bri_inc = -16 -> reduziert de Helligkeit der Szene um 16 Punkte // // javascript.0.hue.szene.arbeitszimmer.bri = 200 -> ändert die Helligkeit der Szene direkt auf den Wert 200 // javascript.0.hue.szene.arbeitszimmer.sat = 200 -> ändert die Sättigung der Szene direkt auf den Wert 200 // // // Benutzung über Javascript (Funktionen) // -------------------------------------- // // szeneStart(lampenGruppe,szene,bri); // bri ist optional // // Beispiel: // // szeneStart("wohnzimmer","sonne"); // startet in der Lampengruppe "wohnzimmer" die Szene "sonne" // // // szeneStop(lampenGruppe); // // // lampenAus(lampenGruppe); // // // // // // // // ! // todo // ---- // // strobo Effekt // Rotalarm Effekt // Feuer Effekt // // prüfen: // ------- // // // erledigt: // --------- // bri optional übergeben (zur Laufzeit veränderbar) // Einschaltzeit beim ersten Einschalten // sat optional übergeben (zur Laufzeit veränderbar) // Änderungen sat, bri per on() überwachen und Lampen in aktiver Gruppe sofort anpassen // neue DP Strukutur () // // ! // ------------ ANFANG der individuellen Konfiguration ------------ ! // die eigenen Lampen in Gruppen sortiert (die Farbverläufe und Effekte werden nach Gruppen aktiviert) ! var lampen ={ "wohnzimmer": // Lampengruppe [ "hue.0.Philips_hue.wohnzimmer.kugel", "hue.0.Philips_hue.wohnzimmer.stehlampe.oben", "hue.0.Philips_hue.wohnzimmer.stehlampe.mitte", "hue.0.Philips_hue.wohnzimmer.stehlampe.unten", "hue.0.Philips_hue.küche.kühlschrank.lc" ], "schlafzimmer": // Lampengruppe [ "hue.0.Philips_hue.schlafzimmer.decke.hinten.links", "hue.0.Philips_hue.schlafzimmer.decke.hinten.mitte", "hue.0.Philips_hue.schlafzimmer.decke.hinten.rechts", "hue.0.Philips_hue.schlafzimmer.decke.vorne.links", "hue.0.Philips_hue.schlafzimmer.decke.vorne.mitte", "hue.0.Philips_hue.schlafzimmer.decke.vorne.rechts" ], "arbeitszimmer": // Lampengruppe [ "hue.0.Philips_hue.arbeitszimmer.schreibtisch.ls", "hue.0.Philips_hue.arbeitszimmer.regal.li.re" ] }; ! var hueSzenenApapterPfad = "hue.szene."; // wo sollen die Datenpunkte in den ioBroker Objekten angelegt werden // je Lampengruppe werden die Datenpunkte: // .szene -> Änderung der Szene per Datenpunkt, z.B. über VIS oder im Script per szeneStart(lampenGruppe,szene,bri); // .bri -> Änderung der Helligkeit per Datenpunkt (0-254) // .sat -> Änderung der Farbsättigung per Datenpunkt ())0-254) // .bri_inc -> Erhöhung/Verminderung der Helligkeit per Datenpunkt (positiver Wert = Heller, negativer Wert = dunkler) // .sat_inc -> Erhöhung/Verminderung der Sättigung per Datenpunkt (positiver Wert = mehr Farbe, negativer Wert = blasser) // angelegt // z.B. unter: javascript.0.hue.szene.arbeitszimmer.szene (Javascfript Instanz 0, Pfad = "hue.szene.") ! // globaler Parameter: Zufällige Zeit zwischen den Wechsel zwischen zwei Farben, je Lampe, in der aktivierten Szene in ms // (wenn keine individuelle Zeit in der Szene definiert ist) var delayMin = 1000; // minimale Zeit in ms einer Lampe, um in die nächste Farbe zu wechseln var delayMax = 3000; // maximale Zeit in ms einer Lampe, um in die nächste Farbe zu wechseln ! // ------------ ENDE der individuellen Konfiguration ------------ ! // ------------------------------------------------------------------------- // Script: Logik & Szenen - ab hier muss in der Regel nichts geändert werden // ------------------------------------------------------------------------- ! var szenen = { "beispiel": { "description": "Beispielszene", // optional: Beschreibung der Szene "delayMin": 2000, // optional (ohne werden die globalen Einstellungen verwendet) "delayMax": 9000, // optional (ohne werden die globalen Einstellungen verwendet) "hueMin": 0, // niedrigste Farbe im Verlauf "hueMax": 50000 // höchste Farbe im Verlauf }, "kamin": { "description": "roter Farbverlauf", "hueMin": 0, "hueMax": 10000 }, "wald": { "description": "grüner Farbverlauf", "hueMin": 20000, "hueMax": 27000 }, "sonne": { "description": "gelb/oranger Farbverlauf", "hueMin": 10000, "hueMax": 17000 }, "blau": { "description": "Energie, blauer Farbverlauf", "hueMin": 44000, "hueMax": 48000 }, "strobo": { "description": "Stroboskop", "ct": 153, "delayMin": 500, "delayMax": 800 }, "feuer": { "description": "pulsierende Farben", "delayMin": 200, "delayMax": 600, "hueMin": 0, "hueMax": 17000 }, "regenbogen": { "description": "das gesamte Farbspektrum", "delayMin": 1000, "delayMax": 8000, "hueMin": 0, "hueMax": 65355 }, ! "love": { "description": "langsam wechselnder Farbverlauf im lila/violetten Bereich, bis zu den Endpunkten blau und rot", "delayMin": 5000, "delayMax": 8000, "hueMin": 46920, "hueMax": 65355 } }; ! // ##### Script Variablen ##### ! var timer = {}; var nextDelay = {}; var szeneAktiv = []; var szene = []; ! // ##### Script Funktionen ##### ! function rand(min, max) { return Math.floor(Math.random() * (max - min + 1)) + min; } ! function dpAnlegen() { for (var lampenGruppe in lampen) { createState(hueSzenenApapterPfad + lampenGruppe + ".szene","aus"); createState(hueSzenenApapterPfad + lampenGruppe + ".infoAktiveSzene","keine"); createState(hueSzenenApapterPfad + lampenGruppe + ".bri",254); createState(hueSzenenApapterPfad + lampenGruppe + ".bri_inc",0); createState(hueSzenenApapterPfad + lampenGruppe + ".sat",254); createState(hueSzenenApapterPfad + lampenGruppe + ".sat_inc",0); log(hueSzenenApapterPfad + lampenGruppe + " wurde angelegt","info"); } } ! function restoreSzenen() { for (var lampenGruppe in lampen) { var aktiveSzene = getState(hueSzenenApapterPfad + lampenGruppe + ".szene").val; var bri = getState(hueSzenenApapterPfad + lampenGruppe + ".bri").val; if (aktiveSzene != "aus") { log("im der Gruppe: " + lampenGruppe + " wurde die Szene: " + aktiveSzene + " wieder aktiviert."); setState(hueSzenenApapterPfad + lampenGruppe + ".infoAktiveSzene",aktiveSzene); szeneStart(lampenGruppe,aktiveSzene,bri); } } } ! function varsAnlegen() { // Script-Variablen für jede Lampengruppe anlagen for (var lampenGruppe in lampen) { timer[lampenGruppe] = []; nextDelay[lampenGruppe] = []; szeneAktiv[lampenGruppe] = false; szene[lampenGruppe] = null; // Script-Variablen für jede Lampe in jeder Lampengruppe anlegen for (var i = 0; i < lampen[lampenGruppe].length; i++) { // timer und die nächste Delayzeit für jede Lampe zurückstellen timer[lampenGruppe][i] = null; nextDelay[lampenGruppe][i] = 0; } } } ! function szenenwechsel (lampenGruppe,lampe,delay) { delay = Math.floor(delay / 100); // der zufällige Wert für die nächste Lichtfarbe wird auch als transitiontime verwendet (dazu wird das delay durch 100 geteilt) //log("aktive Szene: hueMin: " + szenen[szene[lampenGruppe]]["hueMin"] + " hueMax: " + szenen[szene[lampenGruppe]]["hueMax"]); var hue = rand(szenen[szene[lampenGruppe]].hueMin,szenen[szene[lampenGruppe]].hueMax); var bri = getState(hueSzenenApapterPfad + lampenGruppe+".bri").val; var sat = getState(hueSzenenApapterPfad + lampenGruppe+".sat").val; var command = '{"on":true,"hue":' + hue + ',"sat":' + sat + ',"bri":' + bri + ',"transitiontime":' + delay + ',"colormode":"hs"}'; //log ("Lampe: " + lampen[lampenGruppe][lampe] + " # command: " + command); if (bri == 0) command = '{"on":false,"bri":0}'; setState(lampen[lampenGruppe][lampe] + ".command", command); } ! function stroboskop(lampenGruppe,lampe) { var command = '{"on":true,"ct":153,"bri":254,"transitiontime":0,"colormode":"ct"}'; setState(lampen[lampenGruppe][lampe] + ".command", command); command = '{"on":false,"transitiontime":0}'; setState(lampen[lampenGruppe][lampe] + ".command", command); } ! function berechneDelay (lampenGruppe,lampe){ // globale Delay-Einstellungen übernehmen var delayMinTemp = delayMin; var delayMaxTemp = delayMax; // globale Delay-Einstellungen überschreiben, wenn in der Szene ein eingener Delay definiert ist if (szenen[szene[lampenGruppe]].delayMin) delayMinTemp = szenen[szene[lampenGruppe]].delayMin; if (szenen[szene[lampenGruppe]].delayMax) delayMaxTemp = szenen[szene[lampenGruppe]].delayMax; nextDelay[lampenGruppe][lampe] = rand(delayMinTemp,delayMaxTemp); } ! function szeneTimer(lampenGruppe,lampe) { var delay = nextDelay[lampenGruppe][lampe] || 0; var aktuelleSzene = szene[lampenGruppe]; //log("gesetztes Delay: " + delay); if (timer[lampenGruppe][lampe]) clearTimeout(timer[lampenGruppe][lampe]); timer[lampenGruppe][lampe] = setTimeout(function() { timer[lampenGruppe][lampe] = null; berechneDelay(lampenGruppe,lampe); switch (aktuelleSzene) { case "strobo": stroboskop(lampenGruppe,lampe); break; default: szenenwechsel(lampenGruppe,lampe,nextDelay[lampenGruppe][lampe]); break; } //log("Delay = " + nextDelay[lampenGruppe][lampe] + " # Lampe: " + lampen[lampenGruppe][lampe]); szeneTimer(lampenGruppe,lampe); // ruft den Timer nach Ablauf wieder auf },delay); } ! function check254(check) { if (check !== 0) if (!check) check = 254; check = parseInt(check); if (check > 254) check =254; if (check <= 0 ) check = 0; return check; } ! function setBri(lampenGruppe,aktiveSzene,bri) { if (szenen[aktiveSzene].bri) bri = szenen[aktiveSzene].bri; bri = check254(bri); setState(hueSzenenApapterPfad + lampenGruppe+".bri", bri); } ! function setSat(lampenGruppe,aktiveSzene,sat) { if (szenen[aktiveSzene].sat) sat = szenen[aktiveSzene].sat; sat = check254(sat); setState(hueSzenenApapterPfad + lampenGruppe+".sat", sat); } ! function szeneStart(lampenGruppe,aktiveSzene,bri,sat) { if (!szenen[aktiveSzene]) { // undefinierte Szenen abfangen log("# hue Szenen Script: undefinierte Szene wurde versucht aufzurufen: " + aktiveSzene,"error"); return; } szene[lampenGruppe] = aktiveSzene; setBri(lampenGruppe,aktiveSzene,bri); setSat(lampenGruppe,aktiveSzene,sat); if (!szeneAktiv[lampenGruppe]) { szeneAktiv[lampenGruppe] = true; for (var i = 0; i < lampen[lampenGruppe].length; i++) { // für alle Lampen den timer starten nextDelay[lampenGruppe][i] = 0; szeneTimer(lampenGruppe,i); } } } ! function szeneStop(lampenGruppe) { // alle aktiven timer löschen for (var i = 0; i < lampen[lampenGruppe].length; i++) { clearTimeout(timer[lampenGruppe][i]); log("Timer: " + lampen[lampenGruppe][i] + " gestoppt"); } szeneAktiv[lampenGruppe] = false; szene[lampenGruppe] = null; } ! function lampenAus(lampenGruppe) { for (var i = 0; i < lampen[lampenGruppe].length; i++) { setState(lampen[lampenGruppe][i]+".command",'{"on":false}'); } } ! function setBriSat(com,wert,lampenGruppe) { if (wert != check254(wert)) { wert = check254(wert); setState(hueSzenenApapterPfad + lampenGruppe + "." + com, wert); //korrigiert bri/sat und ruft diese on() Funktion direkt wieder auf } else { //log("Lampengruppe: " + lampenGruppe + " # " + com + ": " + wert + " empfangen","warn"); if (szeneAktiv[lampenGruppe]) { // wenn die Szene in der Gruppe aktiv ist: for (var i = 0; i < lampen[lampenGruppe].length; i++) { // für alle Lampen der Gruppe setState(lampen[lampenGruppe][i] + "." + com, wert); // die Helligkeit/Saturation direkt ändern //log(com + ": " + wert + " # " + lampen[lampenGruppe][i] + " gesetzt","warn"); } } } } ! function changeBriSat (com, wert, lampenGruppe) { com = com.replace("_inc", ""); var alterWert = getState(hueSzenenApapterPfad + lampenGruppe + "." + com).val; wert = parseInt(wert) + alterWert; setState(hueSzenenApapterPfad + lampenGruppe + "." + com, wert); //setzt bri/sat neu. Dies ruft die on() Funktion direkt wieder auf, diesmal mit bri/sat } ! // ##### Überwachte Datenpunkte ##### ! // Änderung der Helligkeit (.bri) oder Farbsättigung (.sat) während der Laufzeit über einen Datenpunkt ! var reg = new RegExp("^javascript\\.\\d+\\." + hueSzenenApapterPfad.replace('.', '\\.') + ".*\\.(sat|bri)"); on({"id":reg , "change": "ne"}, function (obj) { var com = obj.id.split('.').pop(); var str = obj.id.replace(/\.(bri|sat)$/, ""); var reg2 = new RegExp("^javascript\\.\\d+\\."+ hueSzenenApapterPfad.replace('.', '\\.')); var lampenGruppe = str.replace(reg2, ""); var wert = obj.newState.val; setBriSat (com, wert, lampenGruppe); }); ! // Änderung der Helligkeit oder Farbsättignung als adaptiver Wert (.bri_inc, .sat_inc) ! var reg = new RegExp("^javascript\\.\\d+\\." + hueSzenenApapterPfad.replace('.', '\\.') + ".*\\.(sat_inc|bri_inc)"); on({"id":reg , "change": "any"}, function (obj) { var com = obj.id.split('.').pop(); var str = obj.id.replace(/\.(sat_inc|bri_inc)$/, ""); var reg2 = new RegExp("^javascript\\.\\d+\\."+ hueSzenenApapterPfad.replace('.', '\\.')); var lampenGruppe = str.replace(reg2, ""); var wert = obj.newState.val; changeBriSat (com, wert, lampenGruppe); }); ! // Änderung einer Szene während der Laufzeit, z.B. über VIS ! var reg = new RegExp("^javascript\\.\\d+\\." + hueSzenenApapterPfad.replace('.', '\\.') + ".*\\.szene"); on(reg , function (obj) { var str = obj.id.replace(/\.szene$/, ""); var reg2 = new RegExp("^javascript\\.\\d+\\."+ hueSzenenApapterPfad.replace('.', '\\.')); var lampenGruppe = str.replace(reg2, ""); var neueSzene = obj.newState.val; log("Lampengruppe: " + lampenGruppe + " # Szene: " + neueSzene + " empfangen"); switch (neueSzene) { case "aus": szeneStop(lampenGruppe); lampenAus(lampenGruppe); log(lampenGruppe + " Szene deaktiviert"); break; case "stop": szeneStop(lampenGruppe); log(lampenGruppe + " Szene angehalten"); break; default: if (szenen[neueSzene]) { // TODO: bri nur ermitteln, wenn in der Szene kein eigener bri festgelegt ist var bri = getState(hueSzenenApapterPfad + lampenGruppe+".bri").val; bri = check254(bri); if (bri == 0) bri = 254; szeneStart(lampenGruppe,neueSzene,bri); setState(hueSzenenApapterPfad + lampenGruppe+".infoAktiveSzene", neueSzene); log(lampenGruppe + " Szene: " + neueSzene + " gestartet"); break; } log("### unbekannte Szene: " + neueSzene,"error"); break; } }); ! // ##### Scriptstart ##### ! dpAnlegen(); // je einen Datenpunkt pro Lampengruppe anlegen varsAnlegen(); // die für das Script notwendigen Variablen erstellen ! // warte bis alle States und Objekte angelegt werden. // 500ms und dann starte main(); function main() { ! // ##### Scriptstart main() ##### ! restoreSzenen(); // aktiviert zuletzt eingestellte Szenen ! } setTimeout(main, 500); [/i][/i][/i][/i][/i][/i][/i][/i]

      Adapter: Fritzbox, Unify Circuit
      Skripte: dynamic hue, Bluetooth Scan, Multi-Ereignisliste

      1 Antwort Letzte Antwort
      0
      • EisbaeeerE Offline
        EisbaeeerE Offline
        Eisbaeeer
        Developer
        schrieb am zuletzt editiert von
        #3

        Ich hab eins für die Ansteuerung der 2. Zone für einen Onkyo Receicer.

        Findest du in der Scriptsammlung.

        Kein support per PM. Bitte im Forum Fragen stellen!

        1 Antwort Letzte Antwort
        0
        • D Offline
          D Offline
          DiJaexxl
          schrieb am zuletzt editiert von
          #4

          Hallo zusammen,

          ich habe das Script nun angepasst, und es läuft auch.

          ! // Channel-IDs
          ! idTaster = "hm-rpc.0.MEQ0027273"/Taster-2-ol/;
          ! idHueLampe = "hue.0.Philips_hue.hgrp-0000000028";
          ! // HUE Gruppe WZ
          ! // "hue.0.Philips_hue.hgrp-0000000028"/Philips_hue.hgrp-0000000028/
          ! // 6fach Schalter WZ
          ! // "hm-rpc.0.MEQ0027273
          ! // DimDown
          ! on({id: idTaster + ".3.PRESS_CONT", change: "any"} , function(obj) {
          ! if (obj.newState.val === true || obj.newState.val === "true") {
          ! setState("javascript.0.hue.szene.wohnzimmer.bri_inc", -16);
          ! }
          ! });
          ! // DimUp
          ! on({id: idTaster + ".4.PRESS_CONT", change: "any"} , function(obj) {
          ! if (obj.newState.val === true || obj.newState.val === "true") {
          ! setState("javascript.0.hue.szene.wohnzimmer.bri_inc", 16);
          ! }
          ! });
          ! // On
          ! on({id: idTaster + ".3.PRESS_SHORT", change: "any"}, function (obj) {
          ! if (obj.newState.val === true || obj.newState.val === "true") {
          ! setState("hue.0.Philips_hue.hgrp-0000000028.on", "true");
          ! setState("hue.0.Philips_hue.hgrp-0000000028.level", "50");
          ! }
          ! });
          ! // Off
          ! on({id: idTaster + ".4.PRESS_SHORT", change: "any"}, function (obj) {
          ! if (obj.newState.val === true || obj.newState.val === "true") {
          ! setState("hue.0.Philips_hue.hgrp-0000000028.on", "false");
          ! setState("hue.0.Philips_hue.hgrp-0000000028.level", "0");
          ! }
          ! });
          ! // CtDown
          ! on({id: idTaster + ".5.PRESS_CONT", change: "any"} , function(obj) {
          ! if (obj.newState.val === true || obj.newState.val === "true") {
          ! setState(idHueLampe+".ct", getState(idHueLampe+".ct").val - 16);
          ! }
          ! });
          ! // CtUp
          ! on({id: idTaster + ".6.PRESS_CONT", change: "any"} , function(obj) {
          ! if (obj.newState.val === true || obj.newState.val === "true") {
          ! setState(idHueLampe+".ct", getState(idHueLampe+".ct").val + 16);
          ! }
          ! });
          ! // Cold
          ! on({id: idTaster + ".5.PRESS_SHORT", change: "any"}, function (obj) {
          ! if (obj.newState.val === true || obj.newState.val === "true") {
          ! setState(idHueLampe+".ct", 196);
          ! }
          ! });
          ! // Warm
          ! on({id: idTaster + ".6.PRESS_SHORT", change: "any"}, function (obj) {
          ! if (obj.newState.val === true || obj.newState.val === "true") {
          ! setState(idHueLampe+".ct", 500);
          ! }
          ! });

          Aber…. wenn ich die Lampe Ein und Aus schalte, bekomme ich den folgenden Log Eintrag:

          hue-0	2016-06-15 20:39:01.025	info	final lightState: {"bri":127,"on":true,"level":50}
          hue-0	2016-06-15 20:39:01.015	info	final lightState: {"bri":127,"on":true,"level":50}
          javascript-0	2016-06-15 20:39:00.916	warn	Wrong type of hue.0.Philips_hue.hgrp-0000000028.level: "string". Please fix, while deprecated and will not work in next versions.
          javascript-0	2016-06-15 20:39:00.913	warn	Wrong type of hue.0.Philips_hue.hgrp-0000000028.on: "string". Please fix, while deprecated and will not work in next versions.
          hue-0	2016-06-15 20:38:58.531	info	final lightState: {"bri":0,"on":false,"level":0}
          hue-0	2016-06-15 20:38:58.524	info	final lightState: {"bri":0,"on":false,"level":0}
          javascript-0	2016-06-15 20:38:58.456	warn	Wrong type of hue.0.Philips_hue.hgrp-0000000028.level: "string". Please fix, while deprecated and will not work in next versions.
          javascript-0	2016-06-15 20:38:58.454	warn	Wrong type of hue.0.Philips_hue.hgrp-0000000028.on: "string". Please fix, while deprecated and will not work in next versions.
          
          

          Was mache ich da falsch?

          Gruss aus Bensberg

          Dirk

          1 Antwort Letzte Antwort
          0
          • lobomauL Offline
            lobomauL Offline
            lobomau
            schrieb am zuletzt editiert von
            #5

            @Eisbaeeer:

            Ich hab eins für die Ansteuerung der 2. Zone für einen Onkyo Receicer.

            Findest du in der Scriptsammlung. `
            Wo finde ich die Script Sammlung?

            Edit: die sind auf io broker Homepage. Hab ich gefunden.

            Host: NUC8i3 mit Proxmox:

            • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
            • Slave: Pi4
            1 Antwort Letzte Antwort
            0
            • paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @DiJaexxl:

              Was mache ich da falsch? `
              Du sendest Werte in Anführungszeichen, also als String, was falsch ist. Entferne die Anführungszeichen (Beispiel: //On):

              // On
              on({id: idTaster + ".3.PRESS_SHORT", change: "any"}, function (obj) {
              if (obj.newState.val === true || obj.newState.val === "true") {
              	setState("hue.0.Philips_hue.hgrp-0000000028.on", true);
              	setState("hue.0.Philips_hue.hgrp-0000000028.level", 50);
              	}
              });
              
              

              oder einfacher:

              // On
              on({id: idTaster + ".3.PRESS_SHORT", val: true}, function (obj) {
              	setState("hue.0.Philips_hue.hgrp-0000000028.on", true);
              	setState("hue.0.Philips_hue.hgrp-0000000028.level", 50);
              });
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              • D Offline
                D Offline
                DiJaexxl
                schrieb am zuletzt editiert von
                #7

                Hallo und guten Morgen,

                klappt! Danke

                Gruss aus Bensberg

                Dirk

                1 Antwort Letzte Antwort
                0
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                409

                Online

                32.5k

                Benutzer

                81.7k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2025
                logo
                • Anmelden

                • Du hast noch kein Konto? Registrieren

                • Anmelden oder registrieren, um zu suchen
                • Erster Beitrag
                  Letzter Beitrag
                0
                • Home
                • Aktuell
                • Tags
                • Ungelesen 0
                • Kategorien
                • Unreplied
                • Beliebt
                • GitHub
                • Docu
                • Hilfe