Bonjour Imet,
et merci!!!!
dans mon cas je souhaite récupérer l'etat d'une entrée. donc je vais bidouiller ton bout de code ca donne ca:
test Json input
ce qui me donne ca:
"product":"IPX800_V3","IN1":0,"IN2":0,"IN3":0,"IN4":0,"IN5":0,"IN6":0,"IN7":0,"IN8":0,"IN9":0,"IN10":0,"IN11":0,"IN12":0,"IN13":0,"IN14":0,"IN15":0,"IN16":0,"IN17":0,"IN18":0,"IN19":0,"IN20":0,"IN21":0,"IN22":0,"IN23":0,"IN24":0,"IN25":0,"IN26":0,"IN27":0,"IN28":0,"IN29":0,"IN30":0,"IN31":0,"IN32":0
donc pour la suite on va dire que mon IP est juste, et ma commande aussi
je fais un evenement type LAU a base de temps (je pense que c'est ce dont j'ai besoin?)
Code : Tout sélectionner
-- Récupération de l'état de l'entrée 29 de l'IPX800 v3
local IP_IPX = "**.***.**.***:*****"
function jsoncapture()
local json = (loadfile "/home/pi/domoticz/scripts/lua/JSON.lua")()
local cmd = 'curl -s ' .. '"' .. "http://" .. IP_IPX .. "/api/xdevices.json?cmd=10" .. '"'
local url = assert(io.popen(cmd))
local blocjson = url:read('*all')
url:close()
local jsonValeur = json:decode(blocjson)
val = tostring(jsonValeur.IN29) -- Ici on récupère le statut de l'entrée 29
return val
end
commandArray = {}
val = tostring(jsoncapture())
if val == "1" then
print ("lumiere escalier : allumée")
elseif val == "0" then
print ("lumiere escalier : éteinte")
end
return commandArray
le log me dit:
2019-12-06 17:34:00.659 Status: LUA: lumiere escalier : éteinte
donc on est pas mal deja.
Mais on est bien d'accord que je ne suis à ce stade pas en mesure d'avoir une interraction avec un interrupteur? je suis juste censé avoir un message dans le log?
j'imagine qu'il faut continuer à écrire le code LUA pour qu'il agisse sur un dispositif?
mais je me suis posé une question cependant,
la lecture du LUA va t'elle uniquement changer " l'image " de la lampe sur domoticz ou est ce que cela va engendrer un envoi CMD ON CMD OFF a chaque mise a jour?
dans ce cas je vais avoir un problème car j'utilise un periph' virtuel (appelé IPX V3) et des interrupteur ON/OFF avec
CMD On:
http://192.168.1.3:8383/leds.cgi?led=29
CMD OFF:
http://192.168.1.3:8383/leds.cgi?led=29
donc ca risque de me crée une sorte de boucle sans fin cette histoire non?
ou peut être je n'ait pas créé le bon type de materiel ou interrupteur?
en tout cas merci beaucoup tu temps que tu m'a accordé en répondant, ca fait plusieurs nuits que je cherche et essaie des truc mais a chaque fois je fait petit pas par petit pas, là par contre avec le coup du Json pfff mes cernes vont commencer à disparaitre!!!
merci
FREE.