J’utilise le code ci-dessous pour contrôler mon volet roulant à base d’un esp8266 et tout fonctionne trés bien, mon probléme c’est que lorsque je dois rebooter l’esp mon volet descent sytématiquement.
J’ai essayé restore_mode: ALWAYS_OFF; on_boot et rien n’y fait.
Auriez-vous une idée ?
tu peux essayer ça si ça aide.
Je pense que ça vient du fait que les pins sont flottants au démarrage car pas encore initialisés.
D’après la doc ça doit aider. (ça marche sur mon garage en tous cas.)
early_pin_init (Optional, boolean): Specifies whether pins should be initialised as early as possible to known values. Recommended value is false where switches are involved, as these will toggle when updating the firmware or when restarting the device. Defaults to true.
Faut regarder dans la doc des ESP, certains GPIO sont connu pour « glitcher » le temps de l’init. Sans doute un choix de GPIO utilisés en sortie à revoir.
Ce que dit l’article, c’est qu’en dehors des GPIO4 et GPIO5, tu n’a aucune certitude de ne pas avoir d’état transitoires provoquant des effets non voulu.
Donc si tu n’as besoin que de 2 sorties « fiables » il faut utiliser ces deux là en priorité.
Sinon il faut passer par des mécanismes de « verrouillage » hardware (genre aucun relais ne peut être alimenté tant qu’une de ces deux sortie « fiable » n’est activé)
ou utiliser une extension I2C, dont, normalement, l’état des sorties est connu et fiable tant qu’on ne lui envoi pas une commande valide.
Faut garder à l’esprit que les GPIO de ces ESP sont destiné à s’interfacer à des périphériques rapides (communication, comptage, interruption) et que pour des capteurs / actionneurs lent (bouton, relais, etc…) on passe par des I/O déportées (I2C, SPI, etc)
Je viens de faire un teste en inversant 2 pins celui de la descente et le stop, vu qu’a chaque redémarrage le volet se ferme et bien ça ne change rien mon volet se ferme quand même.
De plus avant avec espeasy je n’avais jamais remarqué ce probléme.
Les 12 13 et 14 que tu as pris correspondent à D5 D6 & D7 qui devraient être ok à être utilsés.
As-tu dejà essayé d’activer un pullup ou pulldown sur ces pins? (suivant comment tu as cablé)
Je ne comprends pas trop ce que tu veux me dire, pour le cablage chaque pin de mon esp est relié à un pin de ma télécommande et j’envois du 3v3 de l’esp vers la télécomande, pour le pullup ou pulldown je ne vois pas lequel activer ni comment.
C’est des options dans la config des pins, mais je ne sais pas si ça servirait au reboot…
De mon côté je pilote les télécommandes avec des relais entre l’esp et la télécommande…
Et je n’utilise pas de « switch », mais des « outputs » avec des « button » par dessus pour contrôler l’output. Peut-être que ça change le comportement?
Je pense que la différence est le fonctionement de ta télécommande car tu mets « inverted: true » donc si j’ai bien compris tu as une tension dés le début.
Inverted = true, c’est surement lié à la façon dont j’ai cablé les relais, comme je l’ai dit je ne me branche pas directement sur la commande, je ne voulais pas risquer de mixer les tensions…