Lua switch propriété
Lua switch propriété
Bonjour,
je me lance dans lua avec Domoticz, mais il me manque des infos, je vous explique j'ai un switch (une télécommande miantech) qui active mon alarme, elle fonctionne très bien, le soucis c'est quand je récupère son état il est indiqué "Open" alors que dans l'interface web j'ai la valeur Disarm, arm home ou arm away.
Mon switch (ma télécommande) a comme nom SetAlarme
J'ai récupéré l'état avec devicechanged['SetAlarme'] ou avec otherdevices['SetAlarme'] il me donne la valeur "Open".
Alors que si je fais une requête JSON on voit en rouge que je récupère bien disarm en status et data:
curl -s "http://192.168.x.xx/json.htm?type=devices&rid=6"
{
"ActTime" : 1483515980,
"ServerTime" : "2017-01-04 08:46:20",
"Sunrise" : "08:18",
"Sunset" : "17:02",
"result" : [
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 100,
"CustomImage" : 0,
"Data" : "Disarm",
"Description" : "",
"Favorite" : 1,
"HardwareID" : 4,
"HardwareName" : "RFXtrx433E",
"HardwareType" : "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver",
"HardwareTypeVal" : 1,
"HaveDimmer" : false,
"HaveGroupCmd" : false,
"HaveTimeout" : false,
"ID" : "7247E9",
"LastUpdate" : "2017-01-04 08:34:46",
"MaxDimLevel" : 0,
"Name" : "SetAlarme",
"Notifications" : "false",
"PlanID" : "0",
"PlanIDs" : [ 0 ],
"Protected" : false,
"ShowNotifications" : true,
"SignalLevel" : "-",
"Status" : "Disarm",
"StrParam1" : "",
"StrParam2" : "",
"SubType" : "Meiantech/Atlantic/Aidebao",
"SwitchType" : "Security",
"SwitchTypeVal" : 3,
"Timers" : "false",
"Type" : "Security",
"TypeImg" : "security",
"Unit" : 0,
"Used" : 1,
"XOffset" : "0",
"YOffset" : "0",
"idx" : "6"
}
],
"status" : "OK",
"title" : "Devices"
}
Est ce qu'il est possible sans intégrer JSON dans LUA de récupérer toutes ces valeurs(propriétés) ?
Merci de votre retour
je me lance dans lua avec Domoticz, mais il me manque des infos, je vous explique j'ai un switch (une télécommande miantech) qui active mon alarme, elle fonctionne très bien, le soucis c'est quand je récupère son état il est indiqué "Open" alors que dans l'interface web j'ai la valeur Disarm, arm home ou arm away.
Mon switch (ma télécommande) a comme nom SetAlarme
J'ai récupéré l'état avec devicechanged['SetAlarme'] ou avec otherdevices['SetAlarme'] il me donne la valeur "Open".
Alors que si je fais une requête JSON on voit en rouge que je récupère bien disarm en status et data:
curl -s "http://192.168.x.xx/json.htm?type=devices&rid=6"
{
"ActTime" : 1483515980,
"ServerTime" : "2017-01-04 08:46:20",
"Sunrise" : "08:18",
"Sunset" : "17:02",
"result" : [
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 100,
"CustomImage" : 0,
"Data" : "Disarm",
"Description" : "",
"Favorite" : 1,
"HardwareID" : 4,
"HardwareName" : "RFXtrx433E",
"HardwareType" : "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver",
"HardwareTypeVal" : 1,
"HaveDimmer" : false,
"HaveGroupCmd" : false,
"HaveTimeout" : false,
"ID" : "7247E9",
"LastUpdate" : "2017-01-04 08:34:46",
"MaxDimLevel" : 0,
"Name" : "SetAlarme",
"Notifications" : "false",
"PlanID" : "0",
"PlanIDs" : [ 0 ],
"Protected" : false,
"ShowNotifications" : true,
"SignalLevel" : "-",
"Status" : "Disarm",
"StrParam1" : "",
"StrParam2" : "",
"SubType" : "Meiantech/Atlantic/Aidebao",
"SwitchType" : "Security",
"SwitchTypeVal" : 3,
"Timers" : "false",
"Type" : "Security",
"TypeImg" : "security",
"Unit" : 0,
"Used" : 1,
"XOffset" : "0",
"YOffset" : "0",
"idx" : "6"
}
],
"status" : "OK",
"title" : "Devices"
}
Est ce qu'il est possible sans intégrer JSON dans LUA de récupérer toutes ces valeurs(propriétés) ?
Merci de votre retour
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Lua switch propriété
Salut,
Bien sûr comme n'importe quel autre device
Regarde le wiki..
Bien sûr comme n'importe quel autre device
Regarde le wiki..
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Lua switch propriété
Bonjour,
j'ai regardé ce wiki https://www.domoticz.com/wiki/Events
j'ai vu qu'il y avait les devicechanged, otherdevices, uservariables.
et les otherdevices_svalues et
device changed contains state and svalues for the device that changed.
-- devicechanged['yourdevicename'] = state
-- devicechanged['svalues'] = svalues string
j'ai testé ceci:
if (devicechanged['SetAlarme'])
then
val = otherdevices_svalues[('SetAlarme')]
print("values",otherdevices_svalues[('SetAlarme')])
end
print(val) me donne aucune valeur (error val null)
avec cette function que j'ai trouvé sur https://www.domoticz.com/wiki/LUA_commands
je récupère toutes les valeurs normalement:
function LogVariables(x,depth,name)
for k,v in pairs(x) do
if (depth>0) or ((string.find(k,'device')~=nil) or (string.find(k,'variable')~=nil) or
(string.sub(k,1,4)=='time') or (string.sub(k,1,8)=='security')) then
if type(v)=="string" then print(name.."['"..k.."'] = '"..v.."'") end
if type(v)=="number" then print(name.."['"..k.."'] = "..v) end
if type(v)=="boolean" then print(name.."['"..k.."'] = "..tostring(v)) end
if type(v)=="table" then LogVariables(v,depth+1,k); end
end
end
end
-- call with this command
LogVariables(_G,0,'');
je ne retrouve pas les propriétés.
Auriez vous un exemple pour récupérer les proprietés
merci
j'ai regardé ce wiki https://www.domoticz.com/wiki/Events
j'ai vu qu'il y avait les devicechanged, otherdevices, uservariables.
et les otherdevices_svalues et
device changed contains state and svalues for the device that changed.
-- devicechanged['yourdevicename'] = state
-- devicechanged['svalues'] = svalues string
j'ai testé ceci:
if (devicechanged['SetAlarme'])
then
val = otherdevices_svalues[('SetAlarme')]
print("values",otherdevices_svalues[('SetAlarme')])
end
print(val) me donne aucune valeur (error val null)
avec cette function que j'ai trouvé sur https://www.domoticz.com/wiki/LUA_commands
je récupère toutes les valeurs normalement:
function LogVariables(x,depth,name)
for k,v in pairs(x) do
if (depth>0) or ((string.find(k,'device')~=nil) or (string.find(k,'variable')~=nil) or
(string.sub(k,1,4)=='time') or (string.sub(k,1,8)=='security')) then
if type(v)=="string" then print(name.."['"..k.."'] = '"..v.."'") end
if type(v)=="number" then print(name.."['"..k.."'] = "..v) end
if type(v)=="boolean" then print(name.."['"..k.."'] = "..tostring(v)) end
if type(v)=="table" then LogVariables(v,depth+1,k); end
end
end
end
-- call with this command
LogVariables(_G,0,'');
je ne retrouve pas les propriétés.
Auriez vous un exemple pour récupérer les proprietés
merci
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Lua switch propriété
Pourquoi es tu allé coller des parenthèses ici ?
Essai plus simplement
Code : Tout sélectionner
val = otherdevices_svalues[('SetAlarme')]Code : Tout sélectionner
val = otherdevices['SetAlarme']MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Lua switch propriété
otherdevices['SetAlarme']
me donne "Open"
et
otherdevices_svalues['SetAlarme']
me donne null aussi
je m'étais trompé dans la syntax mais j'avais déjà essayé,
quand je fais otherdevices_svalues['SetAlarme']
j'ai normalement le retour de toutes les propriétés de 'SetAlarme' en format string, est ce bien cela?
me donne "Open"
et
otherdevices_svalues['SetAlarme']
me donne null aussi
je m'étais trompé dans la syntax mais j'avais déjà essayé,
quand je fais otherdevices_svalues['SetAlarme']
j'ai normalement le retour de toutes les propriétés de 'SetAlarme' en format string, est ce bien cela?
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Lua switch propriété
Non, du tout.Mho a écrit : quand je fais otherdevices_svalues['SetAlarme']
j'ai normalement le retour de toutes les propriétés de 'SetAlarme' en format string, est ce bien cela?
Ca te donne Data
Et ceci te donne Status
Code : Tout sélectionner
otherdevices['SetAlarme']
Ce n'est nul par dans la liste.
Tu n'aurais pas un autre device avec le même nom ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
Re: Lua switch propriété
Le retour de otherdevices['SetAlarme'] est "Open" je ne sais pas pourquoi, cependant via la requete JSON j'ai plein d'infos.
Ces infos sont ils récupérable via LUA ? sans intégrer JSON,
Aussi otherdevices_svalues['SetAlarme'] devrait me donner qu'une seule valeur ou un tableau de valeur ?
quand on voit le retour du JSON: en rouge le nom du switch et Disarm
curl -s "http://192.168.x.xx/json.htm?type=devices&rid=6"
{
"ActTime" : 1483515980,
"ServerTime" : "2017-01-04 08:46:20",
"Sunrise" : "08:18",
"Sunset" : "17:02",
"result" : [
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 100,
"CustomImage" : 0,
"Data" : "Disarm",
"Description" : "",
"Favorite" : 1,
"HardwareID" : 4,
"HardwareName" : "RFXtrx433E",
"HardwareType" : "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver",
"HardwareTypeVal" : 1,
"HaveDimmer" : false,
"HaveGroupCmd" : false,
"HaveTimeout" : false,
"ID" : "7247E9",
"LastUpdate" : "2017-01-04 08:34:46",
"MaxDimLevel" : 0,
"Name" : "SetAlarme",
"Notifications" : "false",
"PlanID" : "0",
"PlanIDs" : [ 0 ],
"Protected" : false,
"ShowNotifications" : true,
"SignalLevel" : "-",
"Status" : "Disarm",
"StrParam1" : "",
"StrParam2" : "",
"SubType" : "Meiantech/Atlantic/Aidebao",
"SwitchType" : "Security",
"SwitchTypeVal" : 3,
"Timers" : "false",
"Type" : "Security",
"TypeImg" : "security",
"Unit" : 0,
"Used" : 1,
"XOffset" : "0",
"YOffset" : "0",
"idx" : "6"
}
],
"status" : "OK",
"title" : "Devices"
}
si je veux récupérer le subtype en lua est ce possible ?
merci pour vos infos
Ces infos sont ils récupérable via LUA ? sans intégrer JSON,
Aussi otherdevices_svalues['SetAlarme'] devrait me donner qu'une seule valeur ou un tableau de valeur ?
quand on voit le retour du JSON: en rouge le nom du switch et Disarm
curl -s "http://192.168.x.xx/json.htm?type=devices&rid=6"
{
"ActTime" : 1483515980,
"ServerTime" : "2017-01-04 08:46:20",
"Sunrise" : "08:18",
"Sunset" : "17:02",
"result" : [
{
"AddjMulti" : 1.0,
"AddjMulti2" : 1.0,
"AddjValue" : 0.0,
"AddjValue2" : 0.0,
"BatteryLevel" : 100,
"CustomImage" : 0,
"Data" : "Disarm",
"Description" : "",
"Favorite" : 1,
"HardwareID" : 4,
"HardwareName" : "RFXtrx433E",
"HardwareType" : "RFXCOM - RFXtrx433 USB 433.92MHz Transceiver",
"HardwareTypeVal" : 1,
"HaveDimmer" : false,
"HaveGroupCmd" : false,
"HaveTimeout" : false,
"ID" : "7247E9",
"LastUpdate" : "2017-01-04 08:34:46",
"MaxDimLevel" : 0,
"Name" : "SetAlarme",
"Notifications" : "false",
"PlanID" : "0",
"PlanIDs" : [ 0 ],
"Protected" : false,
"ShowNotifications" : true,
"SignalLevel" : "-",
"Status" : "Disarm",
"StrParam1" : "",
"StrParam2" : "",
"SubType" : "Meiantech/Atlantic/Aidebao",
"SwitchType" : "Security",
"SwitchTypeVal" : 3,
"Timers" : "false",
"Type" : "Security",
"TypeImg" : "security",
"Unit" : 0,
"Used" : 1,
"XOffset" : "0",
"YOffset" : "0",
"idx" : "6"
}
],
"status" : "OK",
"title" : "Devices"
}
si je veux récupérer le subtype en lua est ce possible ?
merci pour vos infos
Re: Lua switch propriété
Bonsoir
C'est possible en incluant la librairie json.lua ds ton script lua puis en appelant la rubrique json qui t'intéresse voir le wiki anglophone ou la semaine prochaine ( je crois) sur le blog ( me souviens plus de la date de parution automatique)
Envoyé de mon PULP 4G en utilisant Tapatalk
C'est possible en incluant la librairie json.lua ds ton script lua puis en appelant la rubrique json qui t'intéresse voir le wiki anglophone ou la semaine prochaine ( je crois) sur le blog ( me souviens plus de la date de parution automatique)
Envoyé de mon PULP 4G en utilisant Tapatalk
Raspberry pi 3, Dongle RfxCom et Zigate +, plugin de pipiche, Volets Roulants profalux, contrôle d'éclairage, détecteurs de présence, alarme incendie, pilotage livebox ...
Objectif : WAF > 1
Objectif : WAF > 1
Re: Lua switch propriété
merci de votre retour,
donc sans importer json, juste avec LUA (domoticz) il n'est pas possible de récupérer ces mêmes valeurs ?,
Merci
donc sans importer json, juste avec LUA (domoticz) il n'est pas possible de récupérer ces mêmes valeurs ?,
Merci
-
vil1driver
- Messages : 5661
- Inscription : 30 janv. 2015, 11:07
- Localisation : Rennes (35)
Re: Lua switch propriété
bah non, si tu vas voir le wiki ou l'article de Patrice, tu vas comprendre que domoticz ne passe aux scripts lua qu'un minimum d'infos.
et la plupart du temps c'est amplement suffisant. (tu devrais vraiment trouver pourquoi ça te mets 'Open' !)
si tu veux utiliser json c'est juste 5 lignes de plus dans ton script, pourquoi te sent on si réfractaire ?
et la plupart du temps c'est amplement suffisant. (tu devrais vraiment trouver pourquoi ça te mets 'Open' !)
si tu veux utiliser json c'est juste 5 lignes de plus dans ton script, pourquoi te sent on si réfractaire ?
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua
Un ex domoticzien