Witam forumowiczów,
zadanie wydaje się proste, ale skrypt mnie trochę przerósł. Moje poprzednie próby nie wypaliły. Potrzebuję skrypt w dzVents, który będzie kopiował ustawienia z wirtualnego przełącznika RGB na wybrane żarówki RGB, które są już dodane w domoticzu.
Z góry dziękuję za pomoc : )
zadanie wydaje się proste
Na pewno takie proste ? Trzeba odpytać w skrypcie o wszystkie ustawienia tego wirtualnego RGB i tworząc tabelę żarówek przesłać te paramerty do tej tabeli. Dodatkowo musi być wysyłka statusu bo nie wiemy czy żarówki są ON czy OFF, a może jedna ON a inne OFF.
Na domiar złego nie korzystam już z Domoticz i nigdy nie miałem kolorowych żarówek, ale zobacz czy to będzie działać.
return
{
on = { devices = { 'Główny' } -- zmien nazwe na swój wirtualny przełacznik
},
data = {state = { initial = 0 }
},
logging = { level = domoticz.LOG_ERROR },
execute = function(dz, item)
local slaves = -- poniżej wpisz nazwy swoich żarówek RGB, żarówek może być dowolna ilość
{
'Żarówka 1',
'Żarówka 2',
}
local function setColor(target, source, delay)
local delay = delay or 0
local source = source or item
local switchOnURL = dz.settings['Domoticz url'] .. '/json.htm?type=command¶m=switchlight&idx=' .. target.id .. '&switchcmd=On'
local colorURL = dz.settings['Domoticz url'] ..
'/json.htm?type=command¶m=setcolbrightnessvalue' ..
'&idx=' .. target.id .. '&brightness=' .. source.level .. '&color=' .. source.color
dz.openURL(colorURL)
dz.openURL(switchOnURL).afterSec(0.2)
dz.log('Color set to ' .. source.color .. '( brightness: ' .. source.level ..')',dz.LOG_DEBUG )
end
if item.state ~= 'Off' and dz.data.state == 0 then
item.switchOn().afterSec(0.3)
dz.data.state = 1
elseif item.state ~= 'Off' and dz.data.state == 1 then
for index, value in pairs(slaves) do
setColor(dz.devices(value))
end
dz.data.state = 0
elseif item.state == 'Off' then
for index, value in pairs(slaves) do
dz.devices(value).switchOff()
end
dz.data.state = 0
else
dz.data.state = 0
end
end
}
Jedno jest pewne nawet jak będzie działać, to będzie małe opóźnienie, wzgędem tego wirtualnego przełacznika.
Dziękuję za pomoc. Postaram się wypróbować skrypt w najbliższym czasie : ).

