Json disabletimer du planning
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Json disabletimer du planning
Bonsoir,
je suis en train de tester dans les blocky la commande http://127.0.0.1:8080/json.htm?type=com ... imer&idx=1
mais le résultat n'est pas à la hauteur de ce que j'espérais, je pensais que cela désactivait les timer d'un interrupteur mais non, cela désactive un timer mais jamais tous.
J'oubliais le but était de désactiver tous les timer lorsque j'activais le mode absence de mon interrupteur
il existe en effet une autre solution via la base de donnée sql en exécutant une requête, mais je voulais en savoir plus sur le fonctionnement du paramètre disabletimer
Bonne soirée
Pierrotori
je suis en train de tester dans les blocky la commande http://127.0.0.1:8080/json.htm?type=com ... imer&idx=1
mais le résultat n'est pas à la hauteur de ce que j'espérais, je pensais que cela désactivait les timer d'un interrupteur mais non, cela désactive un timer mais jamais tous.
J'oubliais le but était de désactiver tous les timer lorsque j'activais le mode absence de mon interrupteur
il existe en effet une autre solution via la base de donnée sql en exécutant une requête, mais je voulais en savoir plus sur le fonctionnement du paramètre disabletimer
Bonne soirée
Pierrotori
Re: Json disabletimer du planning
bonsoir
Sans passer par la base de données
fais un script dans un langage quelconque qui parcours tous les idx et qui appelle le json en question
pour index de 1 a 10
lance http://127.0.0.1:8080/json.htm?type=com ... imer&idx=$index
next index
"ceci est un exemple"
ensuite tu mets ce script dans un interrupteur dans le champ action ON, tu fais l'inverse pour un action OFF
Sans passer par la base de données
fais un script dans un langage quelconque qui parcours tous les idx et qui appelle le json en question
pour index de 1 a 10
lance http://127.0.0.1:8080/json.htm?type=com ... imer&idx=$index
next index
"ceci est un exemple"
ensuite tu mets ce script dans un interrupteur dans le champ action ON, tu fais l'inverse pour un action OFF
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
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Re: Json disabletimer du planning
merci, mais en faite le problème de la commande c'est que l'on désactive bien le timer qui est dans interrupteur mais via un index d'un timer qui est dans la base de données.
Le problème qui n'est pas des moindre si on est amené à recréer un domoticz l'index désactivé ne sera peut plus le bon dans la nouvelle base de données, il faudra retoucher à tous scripts
Dans le cas de la désactivation totale des timers cela ne pose pas de problème et on peut faire le programme avec la boucle
Le problème qui n'est pas des moindre si on est amené à recréer un domoticz l'index désactivé ne sera peut plus le bon dans la nouvelle base de données, il faudra retoucher à tous scripts
Dans le cas de la désactivation totale des timers cela ne pose pas de problème et on peut faire le programme avec la boucle
Dernière modification par pierrotori le 28 avr. 2016, 23:01, modifié 1 fois.
Re: Json disabletimer du planning
Pas sur d' avoir compris ta reponse
La commande json change l' inde ?? C' est ca ?
Ca m etonne bcp qd meme
Tu as u lie sur ce Json car sur le wiki je ne trouve pas de référence
La commande json change l' inde ?? C' est ca ?
Ca m etonne bcp qd meme
Tu as u lie sur ce Json car sur le wiki je ne trouve pas de référence
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: Json disabletimer du planning
J'ai aussi le scripts de Oliviers qui modifie les planning dans la base de donnée.
Pas encore essayé.
C'est vraiment dommage que ce ne soit pas en natif...
Le réel frein c'est le fait que pour qu'une nouvelle "feature" soit intégrée elle doit être codé en dur, alors qu'un System normalisé de plug in (comme d'autre logiciel de domotique) permettrait l'intégration de plus de matériel.
Pas encore essayé.
C'est vraiment dommage que ce ne soit pas en natif...
Le réel frein c'est le fait que pour qu'une nouvelle "feature" soit intégrée elle doit être codé en dur, alors qu'un System normalisé de plug in (comme d'autre logiciel de domotique) permettrait l'intégration de plus de matériel.
De quoi se faire Plaisir et essayer d'aider...
http://www.domo-attitude.fr
http://www.domo-attitude.fr
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Re: Json disabletimer du planning
La commande désactive le l'index d'un timer qui est dans un interrupteur
interrupteur A possède les index 1,3,5
interrupteur B possède les index 2,4,6
pour moi si on désactive l'index 1, celui-ci sera désactivé dans l'interrupteur A.
Il ne faudra alors pas supprimer et recréer les timer de l'interrupteur A car l'index 1 ne sera peut être pas l'action prévue sur l'index 1 d'origine
alors que en sql on donne la device (interrupteur) voir lien
https://www.domoticz.com/forum/viewtopi ... 812#p57543
mon but était donc de désactiver un timer on(fermeture volet) lorsque que mon gsm était détecté afin de remplacer la commande par "stopped" l'équivalent de la touche "MY" de ma commande SOMFY
interrupteur A possède les index 1,3,5
interrupteur B possède les index 2,4,6
pour moi si on désactive l'index 1, celui-ci sera désactivé dans l'interrupteur A.
Il ne faudra alors pas supprimer et recréer les timer de l'interrupteur A car l'index 1 ne sera peut être pas l'action prévue sur l'index 1 d'origine
alors que en sql on donne la device (interrupteur) voir lien
https://www.domoticz.com/forum/viewtopi ... 812#p57543
mon but était donc de désactiver un timer on(fermeture volet) lorsque que mon gsm était détecté afin de remplacer la commande par "stopped" l'équivalent de la touche "MY" de ma commande SOMFY
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Re: Json disabletimer du planning
on peut donc récupérer les index des timers via l'api json dans le champ timerID
json.htm?type=schedules&filter=device
resultat
"result" : [
{
"Active" : "false",
"Date" : "",
"Days" : 128,
"DevName" : "chambre",
"DeviceRowID" : 21,
"Hue" : 0,
"IsThermostat" : "false",
"Level" : 100,
"MDay" : 0,
"Month" : 0,
"Occurence" : 0,
"Randomness" : "false",
"ScheduleDate" : "",
"Time" : "00:00",
"TimerCmd" : 0,
"TimerID" : 10,
"TimerType" : 4,
"TimerTypeStr" : "After Sunset",
"Type" : "Device"
},
avec cette requete on peut récupérer le nombre de timer
curl -s 'http://192.168.0.x:8080/json.htm?type=s ... ter=device' | jq -r .result[].Status | wc -l
json.htm?type=schedules&filter=device
resultat
"result" : [
{
"Active" : "false",
"Date" : "",
"Days" : 128,
"DevName" : "chambre",
"DeviceRowID" : 21,
"Hue" : 0,
"IsThermostat" : "false",
"Level" : 100,
"MDay" : 0,
"Month" : 0,
"Occurence" : 0,
"Randomness" : "false",
"ScheduleDate" : "",
"Time" : "00:00",
"TimerCmd" : 0,
"TimerID" : 10,
"TimerType" : 4,
"TimerTypeStr" : "After Sunset",
"Type" : "Device"
},
avec cette requete on peut récupérer le nombre de timer
curl -s 'http://192.168.0.x:8080/json.htm?type=s ... ter=device' | jq -r .result[].Status | wc -l
-
pierrotori
- Messages : 821
- Inscription : 29 févr. 2016, 12:11
Re: Json disabletimer du planning
Bonjour
du coup j'ai une question quand on gère un changement de device en parallele dans les évènements et un script device lua sur la meme device
dans l'évenement j'ai mis
si mode absent == on et variable absent = 0
alors je met à jour des variables et en variable_absent à 1
et je change d'état la device mode semaine à off
dans script lua device
if (devicechanged['mode_absent'] == 'On' then
for i=1, 12 do
oss = ('curl "http://192.168.0.xx:8080/json.htm?type= ... r&idx='..i..'"')
os.execute(oss)
end
end
return commandArray
résultat le système est très lent à changer d'état le bouton de l'interrupteur, bizarre comme si il y avait télescopage des 2 traitements ?
Auriez vous une idée ?
Pierrotori
du coup j'ai une question quand on gère un changement de device en parallele dans les évènements et un script device lua sur la meme device
dans l'évenement j'ai mis
si mode absent == on et variable absent = 0
alors je met à jour des variables et en variable_absent à 1
et je change d'état la device mode semaine à off
dans script lua device
if (devicechanged['mode_absent'] == 'On' then
for i=1, 12 do
oss = ('curl "http://192.168.0.xx:8080/json.htm?type= ... r&idx='..i..'"')
os.execute(oss)
end
end
return commandArray
résultat le système est très lent à changer d'état le bouton de l'interrupteur, bizarre comme si il y avait télescopage des 2 traitements ?
Auriez vous une idée ?
Pierrotori