Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • 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

  • Der neue Monatsrückblick für Mai und Juni 2026 ist online!
    BluefoxB
    Bluefox
    8
    1
    1.1k

  • wichtiges UPDATE für controller 7.2.2 im stable
    HomoranH
    Homoran
    10
    1
    3.6k

  • Neues YouTube-Video: Visualisierung im Devices-Adapter
    BluefoxB
    Bluefox
    16
    1
    6.2k

HUE Script like Sonos Script (6 face Schalter)

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
7 Beiträge 5 Kommentatoren 1.7k 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: Asus PN 42 / N100 / 8 GB / 500 GB; Proxmox mit 2 VM (iob / openCCU)

              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

                Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                Registrieren Anmelden
                Antworten
                • In einem neuen Thema antworten
                Anmelden zum Antworten
                • Älteste zuerst
                • Neuste zuerst
                • Meiste Stimmen


                Support us

                ioBroker
                Community Adapters
                Donate

                340

                Online

                33.0k

                Benutzer

                83.6k

                Themen

                1.3m

                Beiträge
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                ioBroker Community 2014-2026
                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