Page 1 sur 1

Etat des gpio dans Espeasy mega

Publié : 14 déc. 2020, 15:30
par skarab22
Bonjour,

Après des aller retour entre script perso et espeasy mega, j'ai finalement décidé de revenir sur espeasy. Je m'en sers principalement pour controller les fils pilotes de mes différents radiateurs.

J'ai donc un interrupteur à 4 niveaux par radiateur (Off, HG, Eco, Confort). Lorsque je change l'inter un script s'execute pour faire une requête HTTP vers l'esp en question :

Code : Tout sélectionner

commandArray[#commandArray+ 1] = {['OpenURL'] =ip..'/control?cmd=gpio,NB,STATE'}


Globalement ça marche plutôt pas mal sauf quand j'ai des soucis de wifi. En effet, comme ma box est au sous sol, et que je suis obligé de remonter le wifi dans les étages à l'aide d'un CPL répéteur wifi, il arrive que j'ai quelques coupures. Du coup parfois je vois des erreurs de requête HTTP lorsque domoticz n'arrive pas à joindre le périphérique.

Y a t'il un moyen de gérer ces erreurs ?
  • Dans un 1er temps, j'aimerai que si l'esp n'a pas réellement changé d'état, l'état dans domoticz revienne à sa valeur précédente (mais ça risque de poser des soucis avec script lua device actuelle )
  • Dans un second temps, j'aimerai que si le périphérique n'a pas correctement répondu, le script se lance à nouveau au bout d'un certain temps

Re: Etat des gpio dans Espeasy mega

Publié : 14 déc. 2020, 18:52
par Keros
Je te propose une troisième idée : utiliser le plugin System Alive Checker qui permet de faire un ping sur les équipements réseau. Le résultat prend la forme d'un interrupteur avec On pour ping Ok et Off pour ping sans réponse.
Tu peux ainsi vérifier que le ping de ton espeasy est bon avant d'envoyer ta commande.

Re: Etat des gpio dans Espeasy mega

Publié : 15 déc. 2020, 16:28
par skarab22
Je vais essayé. Après j'ai une question et une chose qui me perturbe un peu :
- est ce qu'il peut arrivé que mon device ping mais ne réponde pas à une requête http ? J'aurais tendance à dire que si le temps de lattence est un peu trop long ça peut arrivé...
- En général, quand on fait des requête c'est pas mal de mettre des système de gestion d'erreur ?

Re: Etat des gpio dans Espeasy mega

Publié : 15 déc. 2020, 19:26
par Keros
La réponse au ping ne fait pas tout, c'est certain mais je ne vois pas pourquoi un esp n’écourterai pas un message.

Là tu rentres dans le délicat problème des retours d'état : quelle intelligence donner au programme pour gérer les réponses ? Ce n'est vraiment pas évident.

Re: Etat des gpio dans Espeasy mega

Publié : 16 déc. 2020, 22:00
par Neutrino
Tu peux ajouter des devices "Switch input - Switch" pour chaque GPIO avec un interval de configuré.
Tu peux même récupérer leur état via l'adresse /json.

Re: Etat des gpio dans Espeasy mega

Publié : 17 déc. 2020, 16:00
par skarab22
Neutrino a écrit : 16 déc. 2020, 22:00 Tu peux même récupérer leur état via l'adresse /json.
Ca c'est déjà plus quelque chose qui me plait parce que du coup, ça veut dire que je peux interroger l'état avant et après et je peux éventuellement le changer via json (enfin si j'ai bien compris)
Keros a écrit : 15 déc. 2020, 19:26 Là tu rentres dans le délicat problème des retours d'état : quelle intelligence donner au programme pour gérer les réponses ? Ce n'est vraiment pas évident.
Sur le bout de code que j'avais via l'ide arduino, je donnais une réponse à une requête json, donc c'est qu'à priori c'est faisable... D'ailleurs lorsque j'interroge mon poele, il me répond pour me dire qu'il a bien reçu la requête json que je lui envoi

Re: Etat des gpio dans Espeasy mega

Publié : 17 déc. 2020, 17:41
par skarab22
Effectivement, avec un petit

Code : Tout sélectionner

/json?tasknr=1
je récupère l'état de mon GPIO.

Dans la mesure ou j'ai pas mal de carte et que je me vois mal créer un switch par GPIO dans domoticz, est ce qu'il y a un moyen de créer un device virtuel équivalent à mon selector switch de domoticz et qui mettrai à jour ce dernier ?

Re: Etat des gpio dans Espeasy mega

Publié : 11 janv. 2021, 09:06
par skarab22
Je fait un petit up sur le sujet.

Ca fait un petit moment que je ne me suis pas pencher sur le sujet. Est ce que l'un d'entre vous vois un moyen de créer un switch virtuel à 4 niveau que je pourrai piloter via domoticz ?

Edit : Je viens de créer un Dummy Devices de type switch. Est ce qu'il est possible que ESP easy interroge domoticz pour recopier la valeur du switch correspondant dans domoticz.
Ex : switch [salon] dans domoticz en mode confort. On interroge domoticz avec une requête json et on recopie la valeur dans esp easy ?