Page 1 sur 1
Récupérer la couleur d'un device ALERT dans un script lua
Publié : 02 oct. 2019, 13:25
par J.M.B
Bonjour à tous,
Je cherche à récupérer simplement (sans travailler sur un JSON) la couleur d'un device ALERT dans un script lua.
Quelqu'un a-t-il une solution ?
Merci.
Bonne journée.
Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 03 oct. 2019, 08:52
par Thorgal
Ben d'apres la doc, le niveau d'alerte est dans nvalue du coup tu as testé tout simplement
(0=gray, 1=green, 2=yellow, 3=orange, 4=red)
Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 03 oct. 2019, 13:12
par J.M.B
Merci pour ta réponse
J'ai déjà testé. otherdevices['ID_Device'] retourne le texte affiché sur le device mais pas la couleur
Bonne journée.
Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 03 oct. 2019, 18:16
par Thorgal
Ha mince ca marche a l'envers ?
Si la fonction normale te donne svalue, peut etre que de demander svalue va te donner nvalue ?
Edit:
Je viens de tester, marche pas.
Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 03 oct. 2019, 19:38
par lmet
Salut,
Même demande
ici faite en 2016 par un de nos compatriotes, restée sans réponse

Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 03 oct. 2019, 21:12
par Thorgal
Effectivement, je viens de tester, j'ai trouvé aucune commande LUA qui a fonctionné.
Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 03 oct. 2019, 23:02
par vil1driver
Salut,
Peut-être travailler sur ce qui met à jour le device alerte pour passer l'info à un autre plus exploitable par la suite..
Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 04 oct. 2019, 01:35
par lmet
Quelques lignes de code, en attendant, ce n'est pas la mer à boire.
J'imagine que tu n'en a pas besoin mais si cela peut servir :
Code : Tout sélectionner
local mon_ip = "127.0.0.1:8080"
local alert_idx = '177'
json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()
function GetJSONResult(cmd)
local f = assert(io.popen(cmd))
local s = f:read('*all')
f:close()
jsonValue = json:decode(s)
ret = jsonValue.result[1].Level
return ret
end
commandArray = {}
if (devicechanged["Test"] == 'On') then
cmd = "curl " .. '"' .. mon_ip .. "/json.htm?type=devices&rid=" .. alert_idx .. '"'
ret = GetJSONResult(cmd) -- (0=gray, 1=green, 2=yellow, 3=orange, 4=red)
end
return commandArray
Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 04 oct. 2019, 09:41
par boum
En fouillant un peu, on peut récupérer la couleur sans passer par du JSON. J'ai testé, ça marche.
Mais ce n'est pas documenté, donc à voir si ce sera maintenu dans le futur.
Code : Tout sélectionner
local alertDevice = 'TestAlert'
if (devicechanged_ext["idx"] == otherdevices_idx[alertDevice]) then
local color = devicechanged_ext["nvalue"]
print('color is ' .. color) -- 0 = gris, 4 = rouge
end
Note : si le script peut être facilement converti en dzVents, la couleur est disponible directement par domoticz.devices('TestAlert').color
Re: Récupérer la couleur d'un device ALERT dans un script lua
Publié : 04 oct. 2019, 15:23
par Thorgal
boum a écrit : 04 oct. 2019, 09:41
En fouillant un peu, on peut récupérer la couleur sans passer par du JSON. J'ai testé, ça marche.
Mais ce n'est pas documenté, donc à voir si ce sera maintenu dans le futur.
Note : si le script peut être facilement converti en dzVents, la couleur est disponible directement par domoticz.devices('TestAlert').color
Jolie trouvaille, j'ai voulu trouver des infos dessus, c'est vraiment une fonction obscure.