Kleine LUA Scripte Teil 15: HUE Lampen mit Fibaro Taster dimmen

Geschrieben von Christian

HUE Lampen in Verbindung mit Fibaro sind eine häufig anzutreffende Kombination, und mit dem Fibaro HUE Plugin sind die HUE aus Szenen heraus auch leicht anzusprechen. Nun möchte man nicht für jedes An, Aus, Heller oder Dunkler das Telefon hervorholen oder Siri bemühen, und dazu gibt es ja auch noch diese praktischen Dinger an der richtigen Stelle direkt neben der Tür: Die Lichtschalter.

Hier stellen wir euch ein Skript vor, mit dem sich eure HUE, oder auch eine Gruppe von HUEs, über einen Taster am Dimmer 2 steuern lassen, als wären es "normale" Leuchtmittel: An/Aus mit Klick, Heller/Dunkler im Wechsel mit Halten und volle Helligkeit mit Doppelklick. Was ihr dazu braucht sind HUE Lampen an einer HUE Bridge, das Fibaro HUE Plugin installiert im Home Center und ein Taster am Eingang S2 eines Fibaro Dimmers. Diesen Taster am zweiten Eingang des Dimmers zum Dimmen der HUE zu verwenden ist in wenigen Schritten erledigt. So geht's:

Zuerst aktiviere in den Einstellungen des Fibaro Dimmers die "Scene activation functionality" (Parameter 28). Dadurch kann ein Tastendruck am Dimmer das Dimmen der HUE über die Szene mit unserem Skript auslösen.

Lege anschließend im Home Center eine neue Szene an und kopiere den Code für die Szene dort hinein. Den Namen und Raum der Szene kannst du dir aussuchen, er hat keine Auswirkungen.

Konfiguration des HUE Skript

Jetzt musst du im Kopf der Szene die IDs deiner Geräte eintragen:

Die IDs des Dimmers und der HUEs findest im Home Center, wenn du beim Bearbeiten der Szene links in der Leiste mit dem Mauszeiger über die "Devices List" fährst und das gesuchte Gerät auswählst. Nur gucken, nicht klicken! Die IDs der zu steuernden HUEs kommen mit Komma getrennt in die geschwungenen Klammern. Wenn es nur eine HUE ist, nur eine ID ohne Komma.

Die ID der Szene findest du, wenn du in der Szene auf den Reiter "General / Allgemein" umschaltest. Wenn du fertig bist, Speichern nicht vergessen.

Damit das Skript sich merken kann, ob als nächstes hoch oder herunter gedimmt werden soll, legen wir noch zwei Variablen an: Gehe dazu im Home Center auf "Panels > Variables Panel" und klicke im oberen Bereich "Variables" (nicht bei "Predefined variables") auf "Add". Hier legst du zwei neue Einträge an:

"dimUpDown" mit dem Wert 1
"lastDimToggle" ebenfalls mit dem Wert 1

Du musst die Einträge genau so schreiben, ohne die Anführungszeichen. Auch hier das Speichern nicht vergessen.

Das war es schon. Jetzt sollte die bisher ungenutzte zweite Taste am Dimmer 2 deine HUE dimmen.

Die Tasten tauschen

Wahrscheinlich schaltet die erste Taste des Dimmers (S1) deine HUE bisher komplett aus und weiß mit voller Helligkeit wieder an. Diese Funktion brauchst du jetzt nicht mehr, so wie zuvor die nutzlose zweite Taste. Damit du dich nicht umgewöhnen musst, können wir einfach die Tasten tauschen: Aktiviere dazu im Home Center beim Dimmer die Option "Switch functionality of S1 and S2" (Parameter 29). Jetzt macht die bisher gewohnte Taste, was man von ihr erwarten würde.

HUE Base Icon

HUE Base Icon

Falls du übrigens die schönen Flat Icons von Andreas Vichr benutzt (an dieser Stelle nochmal Danke, Andreas), findest du hier HUE Icons für den Fibaro Dimmer, der nur den Strom für deine HUE schaltet, und den du ja jetzt nicht mehr brauchst, damit du ihn zukünftig von den "echten" Dimmern unterscheiden kannst. Es sind drei Icons: On (100%) und Off (0%), sowie ein "Low" (10%-90%) um dir anzuzeigen, dass du die HUE gerade über den Dimmer dimmst, was diese gar nicht mögen.

Wenn du möchtest, kannst du jetzt noch über die weiteren Parameter im Kopf des Skriptes die Geschwindigkeit und die Schritte des Dimmens einstellen, sowie die Zeit in der man von Hoch- auf Herunter-Dimmen wechseln kann. Wähle die "stepTime" nicht zu kurz, das überfordert das HUE Plugin. Sollte das Plugin nicht mehr reagieren, hilft ein Neustart des Home Centers.

Übrigens funktioniert das Skript auch am Eingang S1, mit einem Schalter statt Taster und auch mit anderen Fibaro Modulen. Dazu musst du die Szene Activation Codes im Skript auf die gewünschten Auslöser anpassen.

Hier das Skript. Viel Spaß!



Alternativ kannst du dir das Skript hier herunterladen:

[icons icon="icon-folder-open" color="#dd3333" size="18"] Skript - DOWNLOAD ZIP

In der Zip-Datei befindet sich eine LUA-Datei mit dem oben geposteten Quellcode. Diese Zip muss nur entpackt werden und der Inhalt kann dann mit einem beliebigen Text-Editor bearbeitet werden.

Diesen Blogpost hat geschrieben ...

Christian

Ich bin Christian. Mit einer gehörigen Portion Neugier beschäftige ich mich seit vielen Jahren mit der Digitalisierung von Lichtsteuerung und Home Automation mit Fibaro, Empirbus NXT, Homebridge und HomeKit. Ich schreibe hier als Gastautor und freue mich, meine Erfahrungen mit euch teilen zu können.

26 Kommentare

  • Super Beitrag, danke! Eine Frage: Geht das auch mit dem RGBW-Modul? Ich habe nämlich 3 Dimmer verbaut mit denen ich jeweils über S2 meine sich im Raum befindlichen RGBWs steuere. Aktuell dimme ich mit Doppelklick hoch und mit gedrückt halten herunter. Jetzt wäre es natürlich richtig gut, wenn ich eben wie beim Script oben, das mit gedrückthalten hinbekomme. Ich hätte dann nämlich den Doppelklick für eine andere Aktion, wie z.B. Sonos an/aus, frei. Das wäre mega :)

    • Geht :) Hab HUE einfach durch RGWB ersetzt und die auszulesenden Daten an die Befehle des RGBWs angepasst. Anbei das Script

      --[[
      %% properties
      sceneActivation
      %% events
      %% globals
      --]]

      local RGBWs = {RGBW} -- IDs of RGBW as Array {X, Y, Z}
      local fibaroID = -- Set ID of Device which shall dim RGBW
      local sceneID = -- Set ID of this scene

      local stepPercentage = 3 -- Dimmer step in percent
      local stepTime = 0.05 -- Dimmer step duration in seconds
      local toggleTime = 5 -- Time to toggle dim up/down

      ---- Do not modify code below that line ----

      function dimRgbw (rgbwID, step)

      local valueDimmer = tonumber(fibaro:getValue(rgbwID, "brightness")) + step

      if valueDimmer 255 then
      if valueDimmer == 255 + step then return end;
      valueDimmer = 255
      end

      -- fibaro:debug("RGBW " .. rgbwID ..": ".. valueDimmer)
      fibaro:call(rgbwID, "setBrightness", valueDimmer)

      end

      local startSource = fibaro:getSourceTrigger();
      if (
      ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 26 )
      or
      startSource["type"] == "other"
      )
      then
      -- Click
      local deviceValue1 = tonumber(fibaro:getValue(RGBWs[1], "on"));

      if (deviceValue1 > 0) then
      for i, iRGBW in ipairs(RGBWs) do
      fibaro:call(iRGBW, "turnOff")
      end
      else
      for i, iRGBW in ipairs(RGBWs) do
      fibaro:call(iRGBW, "turnOn")
      end
      end

      elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 22 ) then

      -- Hold
      local dimUpDown = fibaro:getGlobal("dimUpDown")
      local lastDimToggle = fibaro:getGlobal("lastDimToggle")

      -- always start a new dim with dimming up
      if os.time() - lastDimToggle > toggleTime then dimUpDown = 1 end

      -- if off, switch on and dim up from darkest
      local deviceValue1 = tonumber(fibaro:getValue(RGBWs[1], "on"));
      if (deviceValue1 == 0) then
      for i, iRGBW in ipairs(RGBWs) do
      fibaro:call(iRGBW, "setBrightness", 1)
      fibaro:call(iRGBW, "turnOn")
      end
      dimUpDown = 1
      end

      -- if maximum brighntess start wich dimming down
      if tonumber(fibaro:getValue(RGBWs[1], "brightness")) == 255 then dimUpDown = -1 end

      fibaro:setGlobal("dimUpDown", dimUpDown * -1)
      local step = math.floor(255 / 100 * stepPercentage * dimUpDown)

      -- Start dim loop
      print ("Start dim",step)
      repeat
      for i, iRGBW in ipairs(RGBWs) do
      dimRgbw (iRGBW, step)
      end
      fibaro:sleep(1000 * stepTime)
      until false

      elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 23 ) then

      -- Release
      print ("Stop")
      fibaro:setGlobal("lastDimToggle", os.time())
      fibaro:killScenes(sceneID)

      elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 24 ) then

      -- Double Click
      print ("Setting maximum")
      for i, iRGBW in ipairs(RGBWs) do
      dimRgbw (iRGBW, 255)
      fibaro:call(iRGBW, "turnOn")
      end

      end

      • Ja, das geht so. Allerdings arbeitet das Fibaro RGB Modul mit dem Dimbereich 0-100 statt 0-255. Die angepasst Version ist unterwegs.

  • Auf die gleiche Weise lassen sich auch RGB Module über einen Dimmer 2 steuern. Es bedarf nur kleinerer Änderungen. Hier die angepasst Version des Skriptes:

    --[[
    %% properties
    98 sceneActivation
    %% events
    %% globals
    --]]

    local RGBs = {175, 176, 177} -- IDs of RGB as Array {X, Y, Z}
    local fibaroID = 98 -- Set ID of Device which shall dim RGB
    local sceneID = 8 -- Set ID of this scene

    local stepPercentage = 7 -- Dimmer step in percent
    local stepTime = 0.05 -- Dimmer step duration in seconds
    local toggleTime = 5 -- Time to toggle dim up/down

    ---- Do not modify code below that line ----

    function dimRGB (rgbID, step)

    local valueDimmer = tonumber(fibaro:getValue(rgbID, "brightness")) + step

    if valueDimmer 100 then
    if valueDimmer == 100 + step then return end;
    valueDimmer = 100
    end

    -- fibaro:debug("RGB " .. rgbID ..": ".. valueDimmer)
    fibaro:call(rgbID, "setBrightness", valueDimmer)

    end

    local startSource = fibaro:getSourceTrigger();
    if (
    ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 26 )
    or
    startSource["type"] == "other"
    )
    then
    -- Click
    local deviceValue1 = tonumber(fibaro:getValue(RGBs[1], "brightness"))

    if (deviceValue1 > 0) then
    for i, iRGB in ipairs(RGBs) do
    fibaro:call(iRGB, "turnOff")
    end
    else
    for i, iRGB in ipairs(RGBs) do
    fibaro:call(iRGB, "turnOn")
    end
    end

    elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 22 ) then

    -- Hold
    local dimUpDown = fibaro:getGlobal("dimUpDown")
    local lastDimToggle = fibaro:getGlobal("lastDimToggle")

    -- always start a new dim with dimming up
    if os.time() - lastDimToggle > toggleTime then dimUpDown = 1 end

    -- if off, switch on and dim up from darkest
    local deviceValue1 = tonumber(fibaro:getValue(RGBs[1], "brightness"))
    if (deviceValue1 == 0) then
    for i, iRGB in ipairs(RGBs) do
    fibaro:call(iRGB, "setBrightness", "1")
    end
    dimUpDown = 1
    end

    -- if maximum brighntess start wich dimming down
    if tonumber(fibaro:getValue(RGBs[1], "brightness")) == 100 then dimUpDown = -1 end

    fibaro:setGlobal("dimUpDown", dimUpDown * -1)
    local step = math.floor(100 / 100 * stepPercentage * dimUpDown)

    -- Start dim loop
    print ("Start dim",step)
    repeat
    for i, iRGB in ipairs(RGBs) do
    dimRGB (iRGB, step)
    end
    fibaro:sleep(1000 * stepTime)
    until false

    elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 23 ) then

    -- Release
    print ("Stop")
    fibaro:setGlobal("lastDimToggle", os.time())
    fibaro:killScenes(sceneID)

    elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 24 ) then

    -- Double Click
    print ("Setting maximum")
    for i, iRGB in ipairs(RGBs) do
    dimRGB (iRGB, 100)
    end

    end

    • was ich nicht so recht verstehen möchte, ist die Szene Aktivierung
      "sceneActivation")) == 24 )

      Was wird hier aktiviert???

      ich möchte das nämlich für meine Steuerung umschreiben. Und ich möchte das Ganze verstehen können.

      Beim mir ist es so, dass ich auf meinem RelaySwitch den Tasterkontakt habe und die Lampe an einem Dimmer2. Jetzt möchte ich nicht nur das Licht Ein/Aus schalten, sondern auch dimmen. Da würde die Programmierung ja passen. finde nur meinen Fehler nicht:

      --[[
      %% properties
      98 sceneActivation
      %% events
      %% globals
      --]]

      local DimWinterGarten = {154} -- IDs vom Dimmer
      local fibaroID = 157 -- ID vom Gerät was dimmen soll
      local sceneID = 12 -- ID von dieser Szene

      local stepPercentage = 7 -- Dimmer step in percent
      local stepTime = 0.05 -- Dimmer step duration in seconds
      local toggleTime = 5 -- Time to toggle dim up/down

      function dimWinterLicht (dimmID, step)

      local valueDimmer = tonumber(fibaro:getValue(dimmID, "brightness")) + step

      if valueDimmer > 100 then
      if valueDimmer == 100 + step then return end;
      valueDimmer = 100
      end

      fibaro:debug("DIMM " .. dimmID ..": ".. valueDimmer)
      fibaro:call(dimmID, "setBrightness", valueDimmer)

      end

      local startSource = fibaro:getSourceTrigger();
      if (
      ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 26 )
      or
      startSource["type"] == "other"
      )
      then
      -- Click
      local deviceValue1 = tonumber(fibaro:getValue(DimWinterGarten[1], "brightness"));

      if (deviceValue1 > 0) then
      for i, iDIMM in ipairs(DimWinterGarten) do
      fibaro:call(iDIMM, "turnOff")
      end
      else
      for i, iDIMM in ipairs(DimWinterGarten) do
      fibaro:call(iDIMM, "turnOn")
      end
      end

      elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 22 ) then

      -- Hold
      local dimUpDown = fibaro:getGlobalValue("dimUpDown")
      local lastDimToggle = fibaro:getGlobal("lastDimToggle")

      -- if off, switch on and dim up from darkest
      local deviceValue1 = tonumber(fibaro:getValue(DimWinterGarten[1], "brightness"));
      if (deviceValue1 == 0) then
      for i, iDIMM in ipairs(DimWinterGarten) do
      fibaro:call(iDIMM, "setBrightness", 1)
      end
      dimUpDown = 1
      end

      -- if maximum brighntess start wich dimming down
      if tonumber(fibaro:getValue(DimWinterGarten[1], "brightness")) == 100 then dimUpDown = -1 end

      fibaro:setGlobal("dimUpDown", dimUpDown * -1)
      local step = math.floor(100 / 100 * stepPercentage * dimUpDown)

      -- Start dim loop
      print ("Start dim",step)
      repeat
      for i, iDIMM in ipairs(DimWinterGarten) do
      dimWinterLicht (iDIMM, step)
      end
      fibaro:sleep(1000 * stepTime)
      until false

      elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 23 ) then

      -- Release
      print ("Stop")
      fibaro:setGlobal("lastDimToggle", os.time())
      fibaro:killScenes(12)

      elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 24 ) then

      -- Double Click
      print ("Setting maximum")
      for i, iDIMM in ipairs(DimWinterGarten) do
      dimWinterLicht (iDIMM, 100)
      end

      end

  • Hi, ich bin neu im Bereich FIbaro und habe eine Frage.
    Verstehe ich das richtig, dass die Hue Lampen durch Verwendung des Hue AddOn gedimmt werden, die Lampen also von der Bridge den Befehl bekommen, sich zu dimmen? Oder werden sie durch den Fibaro Dimmer gedimmt? Falls ersteres der Fall ist, wozu brauche ich dann den Fibaro Dimmer? Geht das nicht auch mit einem x-beliebigen Z-Wave Taster?

    Liebe Grüße und vielen Dank,
    Markus

    • Hi,

      die HUE-Lampen können über Fibaro nur durch das Plugin (welches die Bridge ansteuert) gesteuert werden, da Fibaro kein ZigBee-Chip verbaut. Das funktioniert auch mit einem x-beliebigen Z-Wave Taster ;)

      Gruß

    • Der Befehl an die HUE kommt von der HUE Bridge. Das vorgestellte Skript bedient den Wunsch, in einer Fibaro-Umgebung die "systemfremden" HUE Lampen mit dem zweiten Taster der an an den Wänden ohnehin vorhandenen Schalter an Fibaro Dimmern zu dimmen. Das geht auch mit anderen Z-Wave Modulen und Tasten, wenn man die Szene Activation Codes entsprechend anpasst.

  • Hi,
    tolles Script, vielen Dank. Funktioniert super mit dem Schalter!

    Nun habe ich versucht, das auch auf die neue Fibaro KeyFob zu übertragen, da hapert es bei mir etwas mit dem Verständnis....
    Ich habe ein Script, dass via CentralSceneEvent die Tastendrücke in Zahlen wandelt und darauf hin Aktionen auslöst. Wie integriere ich da die SceneActivation? Auch als extra-Szene, sozusagen parallel zu SceneEvent läuft das bei mir nicht. Ich bin mir aber auch nicht sicher, welche Codes die KeyFob für die einzelnen Tasten sendet. Mein Wallmote-Script (https://www.siio.de/board/thema/aeotec-wallmote/) konnte ich 1 zu 1 übernehmen, aber auch da war mir das Dimmen mit diesem Script nicht gelungen.

    Ist sicher ein Denkfehler von mir, aber welcher????
    LG TT

    • Hi, danke für das Lob :-)

      Versuche mal die Szene statt mit Szene Activation direkt über CentralSceneEvent zu starten und dann die Codes der Tastendrücke abzufragen, die du bisher auch in Zahlen umwandelst.

      Also das SzeneActivation + Activation Codes der Dimmer zu ersetzen durch das CentralSceneEvent und die Codes der KeyFob.

      Grüße, Christian

  • Ah, jetzt erst dein Script studiert. CentralSceneEvent und Codes der Tastendrücke abfragen hast du ja gemacht.

    Das Dimmen geht nur in Richtung "Heller" ganz auf hell und erst bei voller Helligkeit dann wieder dunkler, oder? - Du speicherst die nächste Dimm-Richtung nicht mehr in einer globalen Variable, sondern beginnst immer mit "Heller":
    local dimUpDo = 1
    ---
    if tonumber(fibaro:getValue(HUEs[1], "ui.brightness.value")) == 255 then dimUpDo = -1 end

    Mein Script speichert die nächste Dimm-Richtung und den Zeitpunkt des letzten Dimm-Stops in einer globalen Variable.
    fibaro:setGlobal("dimUpDown", dimUpDown * -1)
    ---
    fibaro:setGlobal("lastDimToggle", os.time())

    Vor dem Dimmen werden die Richtung und der Zeitpunkt des letzten Dimmens aus der globalen Variable geholt.
    local dimUpDown = fibaro:getGlobal("dimUpDown")
    local lastDimToggle = fibaro:getGlobal("lastDimToggle")

    Wenn das letzte Dimmer länger her ist, wird immer mit "heller" begonnen:
    -- always start a new dim with dimming up
    if os.time() - lastDimToggle > toggleTime then dimUpDown = 1 end

    Und wenn die Lampen ausgeschaltet sind, wird auch immer mit "heller" begonnen:
    -- if off, switch on and dim up from darkest
    local deviceValue1 = tonumber(fibaro:getValue(HUEs[1], "on"));
    if (deviceValue1 == 0) then
    for i, iHUE in ipairs(HUEs) do
    fibaro:call(iHUE, "changeBrightness", 1)
    fibaro:call(iHUE, "turnOn")
    end
    dimUpDown = 1
    end

    Diese Funktion musst du in deinem Script wiederherstellen. Dann sollte das Dimmen gehen.

    Grüße, Christian

  • Hi Christian,

    vielen Dank, das Du Dich damit noch mal beschäftigt hast.
    Habe jetzt die globalen Variablen wieder reingenommen, also original Dein Script in meine functions eingesetzt.
    Beim ersten mal drücken ist alles super, Licht dimmt hoch.
    Beim 2. mal drücken regeln dann die Hues unabhängig hoch und runter, das dauert auch etwas länger als ich die Taste drücke. To many instances wird nicht angezeigt. Wirkt, als ob das HC2 nicht klarkommt, der Debug ist aber zeitnah und korrekt, er erkennt Taste3 HeldDown und verändert die Helligkeit (lasse ich mir auch ausgeben), aber alle Lampen geben unterschiedliche Werte und die Reihenfolge im Debug wechselt auch. Leider kann ich hier keinen Screenshot anfügen, aber Du verstehst, was ich meine? Die globalen Variablen werden dem Script entsprechend gesetzt.
    Hast Du noch eine Idee?

    LG TT

    • Nein, ich verstehe leider nicht genau, was du meinst.
      Wenn das Dimmen zu schnell geht, verschluckt sich das Fibaro HUE Plugin und arbeite die Dimm Befehle im Puffer langsam nacheinander ab. Das hat sehr merkwürdige Effekte zwischen nicht mehr reagieren und dann plötzlich nach einer Weile wild dimmen. Ist es das? Neustart des Homecenters hilft hier.

      Andere Möglichkeit, wenn die Lampen gegeneinander hoch und runter dimmen: Das Speichern der dimUpDown, das sich die Richtung für das nächste Dimmen merkt ist ein der Schleife, die die Gruppe der HUE abarbeitet. Dann drehst du die Richtung für jede Lampe um.

      Poste nochmal dein Script hier, dann schaue ich es mit an.

      Grüße, Christian

  • Guten morgen zusammen,

    bei mir kommt im debugg immer der Fehler " line 8: unexpected symbol near < "
    so sieht meine Zeile 8 aus :
    local HUEs = -- IDs of HUE as Array {X, Y, Z}

    kann ich diese einzelne Szene für alle meine Schalter gemeinsam nutzen, oder muss ich sie für jeden Schalter einzeln anlegen?

    Vielen Danke für die Hilfe und schon mal ein schönes Wochenende.

    Grüße Eike

    • Hallo Eike.

      In der Zeile 8 fehlt die Angabe der HUES, die du dimmen möchtest in geschweiften Klammern mit Komma getrennt, so wie im Kommentar dahinter gezeigt. z.B.

      local HUEs = {23, 105, 213} -- IDs of HUE as Array {X, Y, Z}

      Du must die Szene für jeden Schalter einzeln anlegen, mit dem du dann eine Gruppe von mehreren HUE dimmen kannst.

      Viele Grüße, Christian

  • Hey Christian,
    jetzt kommt diese Meldung:

    [DEBUG] 18:09:18: line 115: attempt to concatenate local 'deviceId' (a table value)

    Liebe Grüße

    Eike

  • Hoi,
    Das Skript läuft jetzt, Danke schon mal für die Hilfe.
    Welche Parameter und wie, muss ich noch ändern wenn ich nur eine Taste am Schalter habe?

    Liebe Grüße und ein schönes Wochenende,

    Eike

  • Hoi,
    Das Skript läuft jetzt, Danke schon mal für die Hilfe.
    Welche Parameter und wie, muss ich noch ändern wenn ich nur eine Taste am Schalter habe?

    Liebe Grüße und ein schönes Wochenende,

    Eike

    • Gerne.
      Um die Funktion auf die Taste S1 zu legen kannst du die Szene Activation Codes anpassen: Mache aus den Zwanzigern Zehner, z.B. für "Halten"

      elseif ( tonumber(fibaro:getValue(fibaroID, "sceneActivation")) == 12 ) then

      Allerdings wird die direkt an den Dimmer angeschlossene Lampe ebenfalls reagieren. Die Szene Activation Codes für andere Ereignisse und Geräte findest du hier: http://manuals.fibaro.com/document/fgr-scene-activation/

  • Hallo Christian,
    mit Begeisterung habe ich Deinen Artikel gelesen und habe versucht es mit meiner Hardware umzusetzen, leider ohne Erfolg. Ich beitze einen Remotec Szenen Master Controller ( https://www.home4u-shop.de/z-wave-remotec-szenen-master-remezrc90 ), mit dem ich gerne meine Hue Beleuchtung steuern möchte. Das Ein- und Ausschalten, Farbsteuerung und Helligkeitseinstellung über einzelne Tasten funktioniert mit dem Hue-Plugin. Es gelingt mir aber nicht, die Lampen durch langen Tastendruck z.B. auf Taste 1 hochzudimmen oder z.B. auf Taste 2 herunterzudimmen. Wenn ich in Dein Script die ID des Controllers eingebe passiert gar nichts. Die einzelnen Tasten sind mit jeweils 4 Kommandos belegbar ( Key 1 Pressed, Key 1 Relased, Key 1 HeldDown, Key 1 Pressed2 usw.). Ich würde mich riesig freuen, wenn Du mir helfen könntest, damit ich verstehe, wie die Befehlsumsetzung für meinen Controller funktioniert, da ich auch vorhabe dieses Gerät auch für die Steuerung meiner Sonos Lautsprecher einzusetzen.
    Viele Grüße Salve.

    • Hallo Salve.

      Schön, dass dich mein Skript begeistert. :-)
      Es gibt keinen Grund warum das nicht laufen sollte. Lass und den Fehler finden:

      - Hast du die globalen Variablen angelegt?
      - Ist Szene Acitivation für den Schalter aktiviert?
      - Hast du die IDs des Schalters und auch der Lampen eingetragen?
      - Was zeigt die Debug-Ausgabe an?

      Du schreibst es funktioniert “mit einzelnen Tasten und dem HUE-Plugin”. Meinst hier mit meinem Skript oder ohne?

      Grüße, Christian

  • Das ganze ist zwar schon ein paar Jahre alt aber dennoch würde ich das gern so machen. Leider funktioniert die Scene nicht bei mir. Und ich weiß leider nicht im geringsten warum.

  • Hallo,

    ich bekomme nur die Meldung:
    [20:27:46] ID 265: Received parameter 13 report, value = 1
    [20:27:47] ID 265: Received parameter 13 report, value = 0
    und nichts passiert?!?

    Kann mir da bitte einer helfen?

    Danke.

    cu
    karlk

  • Hallo,

    Danke an Christian.
    Das Problem bei mir war der Dimmer 2.

    Nachdem er auf die Standard Werte gesetzt worden ist - läuft das Script.

    cu
    karlk

Gib deinen Senf dazu!

Cookie Consent mit Real Cookie Banner