UWAGA: Strona oraz Forum Smart'ny Dom nie będzie dostępne 23 Grudnia 2024 ze względu na przenoszenie serwisu na mocniejszą maszynę.
W tym czasie polecam poświęcenie swojego czasu na pomoc partnerowi w przygotowaniu udanych Świąt 😉
Za niedogodności z góry przepraszam, admin
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 : ).