Page 2 sur 2
Re: Grouper des ampoules RGBWW
Publié : 24 nov. 2021, 00:15
par beeenj
Bonsoir @garycooper,
désolé je viens de voir le message que ce soir.
C'est tout à fait un script dzVents qu'il faut créer.
Ensuite il faut créer un groupe dans Scene/groupe.
Ce groupe ne sert qu'à lister les lampes, en aucun les paramètres choisis ne serviront dans le script. Le nom du groupe est à remplacer là où il y a 'Group Color' en conservant les guillements.
Et dernière chose, il faut créer un interrupteur virtuel RGBWW qui servira de modèle à toutes les lampes. Son nom est à mettre à la place de 'Dummy Color'.
En résumé:
- Un groupe pour lister les lampes
- Un interrupteur virteur pour les contrôler
Bonne Soirée.
Re: Grouper des ampoules RGBWW
Publié : 25 nov. 2021, 23:25
par garycooper
Merci pour tes précisions. Ca marche ... presque ...
Lorsque j'actionne le switch RGBW, ça allume bien les lampes associées mais ça ne met pas la couleur demandée. En fait, ça les allume sur leurs dernières couleur et intensité. J'ai également le message d'erreur suivant :
2021-11-25 23:20:04.646 Error: dzVents: local netWork not open for dzVents openURL call !
2021-11-25 23:20:04.646 Error: dzVents: check dzVents wiki (look for 'Using dzVents with Domoticz')
2021-11-25 23:20:04.647 Error: dzVents: local netWork not open for dzVents openURL call !
2021-11-25 23:20:04.647 Error: dzVents: check dzVents wiki (look for 'Using dzVents with Domoticz')
Je précise que dzVents est bien activé dans les paramètres. J'ai d'ailleurs 2 autres scripts dzVents qui fonctionnent parfaitement.
Si j'éteins le switch RGBW, les lampes associées s'éteignent sans message d'erreur.
Re: Grouper des ampoules RGBWW
Publié : 19 déc. 2021, 15:31
par Martial
Bonjour,
Avec la zigate et son plugin, c'est trivial et efficace (notion de groupe) car défini dans la norme zigbee.
Je le fais avec toutes les fonctions (couleur, température du blanc, interrupteur)
Je suis étonné que zigbee2mqtt ne le permette pas
Re: Grouper des ampoules RGBWW
Publié : 17 juil. 2022, 00:11
par Skwi
Bonjour, j'aimerai piloter plusieurs yeelight en même temps (couleur/brightness), mais j'ai deux soucis :
1/ Quand je récupère les infos de mon dummy via getColor, ça récupère l’état juste avant que je modifie mon dummy => si le dummy était rouge et que je le passe en vert, le getColor retourne du rouge au lieu du vert
2/ le setColor me génère une URL avec trois "/" au lieu d'un seul, et donc ça ne marche pas
http://127.0.0.1:8080///json.htm?type=c ... :49,"b":69}
Une idée de comment bypasser et corriger mes deux problèmes?
Merci
Re: Grouper des ampoules RGBWW
Publié : 18 juil. 2022, 16:51
par Thorgal
Alors j'avais vu ca il y a pas longtemps
https://www.domoticz.com/forum/viewtopi ... 20#p252265
Mais, quand j'ai voulu tester chez moi ca a l'air de marcher, tu tournes avec quelle version de domoticz ?
- J'ai crée un color switch
- j'ai codé un bout de code bateau
Code : Tout sélectionner
return
{
active = true,
on =
{
devices = {'totest'},
},
logging =
{
level = domoticz.log_info,
marker = "template"
},
execute = function(domoticz, device)
if (device.setColor) then
domoticz.log(device.getColor(), domoticz.LOG_INFO)
end
end
}
Et ca m'affiche bien la valeur selectionnée en logs, sinon tu as essayé en LUA plutot que avec dzevent ?
Pour ton second probleme, aucune idée, mais je sais que ce setting a une importance sur l'url generee.
dzVents
Enable/Disable the dzVents eventsystem and set the logging.
when enabling dzVents make sure that in the Security section in the settings (Setup > Settings > System > Local Networks (no username/password) you allow 127.0.0.1 (and / or ::1 when using IPv6 ) to not need a password. dzVents does use this port to get the location settings and to send certain commands to Domoticz. Finally make sure you have set your current location in Setup > Settings > System > Location, otherwise there is no way to determine nighttime/daytime state.
Re: Grouper des ampoules RGBWW
Publié : 19 juil. 2022, 16:50
par Skwi
je suis en version: 2022.1, sous docker
j'ai bien les ip autorisées, et la location, testé avec un dummy rgb, rgbww
avec le lien donné, j'ai remarqué que domoticz.settings['Domoticz url'] retourne
http://127.0.0.1:8080// (mais je n'ai pas trouvé de doc concernant ce "domoticz url" et dans le /json.htm?type=settings ce champ n'existe pas non plus)
j'ai tenté avec 127.0.0.*;127.0.0.1:8080;127.0.0.1 mais ça génère tjs l'url avec // à la fin
mon bout de script :
Code : Tout sélectionner
return
{
active = false,
on =
{
devices = {'Yeelight dummy'},
},
logging =
{
level = domoticz.log_info,
marker = "devinprogress"
},
execute = function(domoticz, device)
if (device.setColor) then
local yeelight = domoticz.devices('yeelight-strip-mezza')
local rgb = device.getColor()
domoticz.log(rgb, domoticz.LOG_INFO)
--setColor(r, g, b, br, cw, ww, m, t)
--yeelight.setColor(rgb.r,rgb.g,rgb.b,100,0,0,0,0)
--yeelight.setColor(rgb.r,rgb.g,rgb.b)
--yeelight.setColor(0,255,0)
domoticz.devices().forEach(function(device)
if (device.name == 'yeelight-strip-mezza') then
device.setColor(rgb.r,rgb.g,rgb.b,rgb.br,rgb.cw,rgb.ww,rgb.m,rgb.t)
end
end)
end
end
}
Re: Grouper des ampoules RGBWW
Publié : 20 juil. 2022, 17:19
par Thorgal
Pas de probleme de mon coté
Code : Tout sélectionner
2022-07-20 17:17:00.337 Status: dzVents: Domoticz url http://127.0.0.1:8080
avec
Doit vraiment y avoir un soucis coté config, peut être le docker. Sinon de mon coté je suis sur le build 14382.
Re: Grouper des ampoules RGBWW
Publié : 21 juil. 2022, 09:49
par Skwi
je n'ai rien trouvé dans mon image docker, ni dans la bd domoticz directement, concernant cette url, du coup avec l'appel "externe" + construction de l'url ça marche, mais c'est triste que je ne puisse pas faire un simple getcolor / setcolor
Code : Tout sélectionner
return {
active = false,
on = {
devices = {
'Yeelight dummy'
},
httpResponses = {
"getColorFromDevice"
},
},
logging =
{
level = domoticz.log_info,
marker = "devinprogress"
},
execute = function(domoticz, item)
--local yeelight = domoticz.devices('yeelight-strip-mezza')
local function getDeviceStatus(idx)
local url = "http://192.168.xx:8080/json.htm?type=devices&rid=" .. idx
domoticz.log(url, domoticz.LOG_INFO)
domoticz.openURL ({ url = url, method = "GET", callback = "getColorFromDevice" })
end
if item.isDevice then
getDeviceStatus(item.id)
else
dataReceived = item.json
local colorTable = domoticz.utils.fromJSON(dataReceived.result[1].Color)
domoticz.log(colorTable, domoticz.LOG_INFO)
local name = dataReceived.result[1].Name
local level = dataReceived.result[1].Level
level = math.floor((level / 100) * 255) -- map 0-100 to 0-255
local dataToSend = string.format("%02x", colorTable.r) .. string.format("%02x", colorTable.g) .. string.format("%02x", colorTable.b) --.. string.format("%02x", colorTable.ww) .. string.format("%02x", level)
--print('Data to clock as r,g,b,ww,brightness: ' .. dataToSend)
--domoticz.log('coucou ', domoticz.LOG_INFO)
--domoticz.log(dataToSend, domoticz.LOG_INFO)
if not (dataReceived.result[1].Status == 'Off') then
url = 'http://192.168.xx:8080/json.htm?type=command¶m=setcolbrightnessvalue&idx=' .. domoticz.devices('yeelight-strip-mezza').idx .. '&hex='.. dataToSend ..'&brightness='.. level ..'&iswhite=false'
domoticz.openURL ({
url = url,
method = "GET"
})
else
domoticz.devices('yeelight-strip-mezza').switchOff()
end
--domoticz.devices('yeelight-strip-mezza').setColor(colorTable.r,colorTable.g,colorTable.b,level)
--domoticz.log('coucou ' .. domoticz.devices('yeelight-strip-mezza').idx, domoticz.LOG_INFO)
--local url = "http://192.168.xx:8080/json.htm?type=devices&rid=" .. idx
-- Specify RGB and brightness (optional)
-- RGB as hexadecimal number, RRGGBB without prefix (no 0x or #)
-- /json.htm?type=command¶m=setcolbrightnessvalue&idx=99&hex=RRGGBB&brightness=100&iswhite=false
end
end
}