Hello
Weiß jemand, ob es möglich ist 2 RGBW-Module zusammen miteinander zu synchronisieren?
Hello
Weiß jemand, ob es möglich ist 2 RGBW-Module zusammen miteinander zu synchronisieren?
ich glaube das geht über Assoziationen. Heißt du schreibst die ID des jeweils anderen RGB Moduls in die Assoziations Gruppe des RGB Moduls.
hab es selber aber leider noch nicht probiert.
Hallo , nachfolgende Szene ist aus dem Fibaro Forum und funktioniert bei mir ,sehr gut:
Es müssen nur die IDs auf Deine ID
s angepasst werden ! (143,158)
–[[
%% properties
143 color
%% globals
–]]
local id_master = 143; – ID of Master (also change ID above)
local id_slaves = {158}; – ID of Slaves, seperated by comma {1}, {1,2,3}
local debug = true; – Debug true or false
if debug then fibaro:debug(“Syncing RGB”); end
function split(s, pattern, maxsplit)
local pattern = pattern or ’ ’
local maxsplit = maxsplit or -1
local s = s
local t = {}
local patsz = #pattern
while maxsplit ~= 0 do
local curpos = 1
local found = string.find(s, pattern)
if found ~= nil then
table.insert(t, string.sub(s, curpos, found - 1))
curpos = found + patsz
s = string.sub(s, curpos)
else
table.insert(t, string.sub(s, curpos))
break
end
maxsplit = maxsplit - 1
if maxsplit == 0 then
table.insert(t, string.sub(s, curpos - patsz - 1))
end
end
return t
end
local result = split(fibaro:getValue(id_master, “color”), ‘,’)
if debug then fibaro:debug(result[1]…","…result[2]…","…result[3]…","…result[4]); end
for i = 1, #id_slaves do
if (result[1] == “0” and result[2] == “0” and result[3] == “0” and result[4] == “0” and (tonumber(fibaro:getValue(id_master, “currentProgramID”)) > 0)) then
if debug then fibaro:debug(fibaro:getValue(id_master, “currentProgramID”)); end
fibaro:call(id_slaves[i], “startProgram”, fibaro:getValue(id_master, “currentProgramID”));
else
fibaro:call(id_slaves[i], “setColor”, result[1], result[2], result[3], result[4])
end
end
Guten Abend,
vielen Dank für das LUA Script.
Hab es eben mal mit copy & paste eingefügt.
Welche ID der RGBs muss im Kopf des Scripts rein? Der Master?
–[[
%% properties
143 color
%% globals
–]]
Leider erhalte ich aktuell folgenden Error.
[ERROR] 22:01:24: line 6: unexpected symbol near char(226)
Guten Morgen
local id_master = 143; — ID of Master (also change ID above)
local id_slaves = {158}; — ID of Slaves, seperated by comma {1}, {1,2,3}
Diese ID `s auf Deine ändern.(143,158)
U.S
Lösch mal Zeile 6 ,da sollte ja nicht drin stehen !
Hallo Männers,
das Problem welches katy LINN hat, ist wohl ein Formatierungsproblem. Durch copy & paste ist aus dem doppelten Bindestrich (–) ein (–) geworden. Daher erkennt die LUA demzufolge den nachfolgenden Code nicht aus auskommentiert.
Ich habe mal die Script Formatierung freigeschalten. Ihr könnt nun, wenn ihr Code hier in das Forum kopiert die Formatierung nutzen. Für LUA Code nutzt “AppleScript” das kommt dem Sytle sehr Nahe wie es auch auf der HC2 aussieht.
--[[ %% properties 143 color %% globals --]] local id_master = 143; -- ID of Master (also change ID above) local id_slaves = {158}; -- ID of Slaves, seperated by comma {1}, {1,2,3} local debug = true; — Debug true or false if debug then fibaro:debug(“Syncing RGB”); end function split(s, pattern, maxsplit) local pattern = pattern or ‘ ‘ local maxsplit = maxsplit or -1 local s = s local t = {} local patsz = #pattern while maxsplit ~= 0 do local curpos = 1 local found = string.find(s, pattern) if found ~= nil then table.insert(t, string.sub(s, curpos, found – 1)) curpos = found + patsz s = string.sub(s, curpos) else table.insert(t, string.sub(s, curpos)) break end maxsplit = maxsplit – 1 if maxsplit == 0 then table.insert(t, string.sub(s, curpos – patsz – 1)) end end return t end local result = split(fibaro:getValue(id_master, “color”), ‘,’) if debug then fibaro:debug(result[1]..”,”..result[2]..”,”..result[3]..”,”..result[4]); end for i = 1, #id_slaves do if (result[1] == “0” and result[2] == “0” and result[3] == “0” and result[4] == “0” and (tonumber(fibaro:getValue(id_master, “currentProgramID”)) > 0)) then if debug then fibaro:debug(fibaro:getValue(id_master, “currentProgramID”)); end fibaro:call(id_slaves[i], “startProgram”, fibaro:getValue(id_master, “currentProgramID”)); else fibaro:call(id_slaves[i], “setColor”, result[1], result[2], result[3], result[4]) end end
Guten Abend,
ja es lag wirklich an der Formatierung. Jetzt erhalte ich im Debug keine Fehlermeldung mehr.
Aber die Leuchten synchronisieren sich dennoch nicht.
Ich habe oben in den properties die ID des RGB Moduls eingetragen, bei welchem sich die Farbe ändern soll (Slave)
--[[ %% properties 125 color %% globals --]]
weiter unten ich ich die entsprechenden IDs von Master und Slave eingetragen.
local id_master = 155; -- ID of Master (also change ID above) local id_slaves = {125}; -- ID of Slaves, seperated by comma {1}, {1,2,3}
Kann es vielleicht an der beta 4.017 liegen?
Hallo,
bekomme ich das mit nem HCL evtl. auch irgendwie hin?
Danke!
Jürgen
Hallo.
Ich möchte meinen LED Streifen über einen Taster mit einschalten. Das klappt auch super. Aber wie sage ich dem LED Streifen in der Szene die passende Farbe, in der er leuchten soll?? Oder besser noch eines der vordefinierten Programme wie “Aurora” oder dieser “Regenbogen”??