Page 10 sur 13

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 22 oct. 2020, 10:12
par syrhus
Bonjour Skarab22

J'ai du mal à comprendre le problème car les règles du planning/timers sont celles enregistrées dans la bdd de Domoticz. Mon outil n'est là que pour mettre en forme graphiquement les timers présents (ceux de type "OnTime")

Donc plantage, redémarrage ou autre, si mon outil ne présentent pas les timers, c'est qu'à priori qu'ils n'ont pas été enregistrés.
Si toutefois ils sont listés dans la liste originale et non affichés dans mon tableau graphique, alors c'est un bug et il faudrait me faire part de quelques captures d'écrans afin que je puisse voir le problème et essayer de le reproduire pour le corriger.

Bonne journée

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 22 oct. 2020, 10:48
par skarab22
Merci pour ton retour.

Désolé de ne pas avoir été clair. Je n'ai en fait pas de soucis avec ton plugin qui marche très bien.

Comme je disais, mon but est de connaitre l'état dans lequel devrait être un device si jamais il ne l'est pas dans le bon état. Le problème avec les timer, c'est que à priori il est possible de connaître le prochain état à l'aide d'une commande json. Par contre je ne sais pas comment connaitre le dernier "on time" à s'être activé.

Pourrais tu me dire ou les règles sont stockées dans la base de données domoticz et comment y accéder ?

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 22 oct. 2020, 12:57
par syrhus
Dans mon code, je récupère les timers déjà récupéré par la liste originale.

Pour l'avoir par json, il te suffit de lancer la commande :
http://IP_DOMOTICZ:PORT_DOMOTICS/json.htm?idx=ID_DU_DEVICE&type=timers

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 22 oct. 2020, 14:09
par skarab22
oh!!!! trop bien! effectivement ça marche carrément mieux qu'avec ma commande!

Faut juste que je fasse un listing de tous les idx qui ont un timer actif puis que je retourne j'actualise avec le timer actif.

Encore merci

edit : par contre comment fais tu pour savoir quel jour ils sont actifs ? Je vois que lorsque tous les jours est actif days = 128 et pour mardi et jeudi days = 10

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 22 oct. 2020, 16:02
par syrhus
Si c'est pour tous les timers de tous les devices, mieux vaut utiliser:
../json.htm?type=schedules&filter=device

Le mieux est que tu ailles voir les API

Ensuite, tu as l'état du timer s'il est actif ou non avec la propriété "Active" à "false" ou "true"

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 22 oct. 2020, 16:59
par skarab22
syrhus a écrit : 22 oct. 2020, 16:02 Le mieux est que tu ailles voir les API
Merci pour ton lien. J'avais déjà consulté cette page, mais pas trouvé la bonne commande et je n'ai pas réussi à la déduire malgré de nombreux essais.

syrhus a écrit : 22 oct. 2020, 16:02 Si c'est pour tous les timers de tous les devices, mieux vaut utiliser:
../json.htm?type=schedules&filter=device
Effectivement, cela me renvois les prochains timer à venir mais pas l'ensemble des timers pour un device et donc, c'est impossible de connaître le bon état d'un device. Pour le moment je m'en sers pour extraire les différents 'DeviceRowID' ce qui me permet ensuite de faire la requête : http://IP_DOMOTICZ:PORT_DOMOTICS/json.htm?idx=ID_DU_DEVICE&type=timers

Cette solution me permet de faire ce que je veux à condition que j'arrive à décrypter les jours actifs.

edit : la valeur days est codé de la façon suivante:
lundi = 1
mardi = 2
mercredi = 4
jeudi = 8
vendredi = 16
samedi = 32
dimanche = 64
Je vais tenter de faire le calcul, mais je pense que si on transforme en une liste binaire, on peut s'en sortir !

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 22 oct. 2020, 17:25
par syrhus
J'ai vraiment du mal à comprendre le but de tout cela; la liste des timers renvoyée lorsqu'on les demande c'est tout l'ensemble des timers, pas seulement ceux à venir; ce sont tous ceux enregistrés.

Mais si c'est pour avoir l'état en cours d'un device, il suffit de l'interroger directement:

/json.htm?type=devices&rid=IDX

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 23 oct. 2020, 16:18
par e111111
Bonjour,

l'idée est inintéressante, si tant est je je l'aie correctement saisie,
dans mon cas, je désactive parfois mes timers, pour partir en vacances par exemple, et du coup, quand ils sont réactivés, ils attendent le prochain changement d'état pour basculer le device, alors que si à l'instant T, au moment ou je réactive le planning, je connaissais l'état théorique du device si le planning n'avait pas été désactivé, je ferais en sorte que celui-ci reprenne l'état qu'il aurait-eu si je n'avais rien désactivé.

Par exemple, entre le OFF d'un chauffage et son ON, il peut se passer plusieurs heures et du coup quand on rentre à la maison il fait froid.

J'avoue que même si c'est agaçant, ne pas avoir trop creusé le sujet, mais le présent post pourrait bien m'aider à avancer sur ce problème.

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 23 oct. 2020, 17:10
par skarab22
syrhus a écrit : 22 oct. 2020, 17:25 J'ai vraiment du mal à comprendre le but de tout cela;
Si tu n'utilise pas le timer plan, on si domoticz ne plante jamais, tu ne dois jamais rencontrer d'écart entre ton planning et et l'état du device. Dans mon cas, il arrive assez régulièrement que mon device loupe un OnTime et j'ai alors des écarts entre l'état supposé du device et son état réel. Aujourd'hui Domoticz ne semble pas permettre de faire un mise à jour.

Je fais mon programme et je vous montre une fois fini. Peut être verra tu plus l'intérêt.

Je t'incite également à regarder ce site qui explique en détail les "profils de gestion" des planing.

Re: Programmation hebdomadaire pour chauffage ou interrupteurs

Publié : 23 oct. 2020, 17:14
par syrhus
OK, je cerne mieux le but... l'éternel sujet qui réclame qu'à chaque démarrage de Domoticz les timers non executés s'executent.

Si vous arrivez à avoir un plugin, modif du code de Domoticz, ca plaira à bcp de monde! :D