Je cherche à faire des automatismes (pilotant des relais en fonction de l’heure de la journée, avec un esp32 non connecté. Il sera alimenté sur batterie + panneau solaire.
Existe t-il un moyen via esphome, d’initialiser l’heure de départ et qu’il soit ensuite autonome sur l’incrémentation du temps?
Je ferais les modifications (heure d’été/heure d’hiver en manuel).
ça doit être possible, soit manuellement, soit en NTP je suppose.
Par contre, si l’ESP en lui même contient bien une horloge RTC, la grande majorité des modules du commerce n’ont pas le quartz à 32kHz qui permet sont fonctionnement.
Il faudrait donc que tu l’ajoutes, ou que tu conçoives ta propre carte.
C’est certainement plus simple de passer par un RTC « externe » comme le classique DS1307
Sur amazon/aliexpress on trouve des modules tout fait qui embarquent tout ce qu’il faut pour que e genre d’horloge fonctionne sans se prendre la tête.
De ce que j’ai compris (j’ai jamais utilisé cette fonction) le composant « time » de ESPHome s’initialise automatiquement à la bonne heure quand l’ESP se connecte à HA. Il doit sans doute y avoir aussi la possibilité de le faire manuellement avec un lambda (mais bon, la documentation ESPhome est souvent minimaliste donc il faudra sans doute fouiller le web pour en savoir plus)
Pour ce qui est de gérer l’heure, en théorie l’ESP peut le faire seul, puisqu’il dispose en interne d’une horloge RTC. Cependant, pour qu’elle fonctionne, il faut qu’elle soit raccordée à son propre quartz « horloger » de 32768 Hz et il faut aussi s’assurer que l’alimentation de l’ESP ne soit jamais interrompue.
Sans ça, il y aura forcement une dérive plus ou moins importante (au mieux quelques secondes par jour, ce qui au bout de quelques mois peut vite faire une grosse différence par rapport à l’heure réelle)
Mais la RTC interne de l’ESP ne semble pas être gérée nativement par ESPHome (en tout cas j’ai rien vu d’explicitement précisé à ce sujet).
Le plus simple (aussi bien du point de vue du matériel que du logiciel) ça reste donc d’utiliser un composant RTC externe (le DS1307 étais un exemple parce que je l’ai déjà utilisé, mais il y en a d’autres) qui a du coup son propre quartz à la bonne fréquence et sa propre pile de sauvegarde et qui est calibré en usine pour être « juste »; et qui gère l’heure et la date tout seul comme un grand (faut juste l’initialiser une fois)
J’ai testé …et maintenant mon ESP ne se connecte plus!
En Log, j’ai:
INFO ESPHome 2024.12.2 INFO Reading configuration /config/esphome/esp32-c1.yaml... WARNING GPIO2 is a strapping PIN and should only be used for I/O with care. Attaching external pullup/down resistors to strapping pins can cause unexpected failures. See INFO Detected timezone 'Europe/Paris' INFO Starting log output from 192.168.1.73 using esphome API WARNING Can't connect to ESPHome API for esp32-c1 @ 192.168.1.73: Error connecting to [AddrInfo(family=<AddressFamily.AF_INET: 2>, type=<SocketKind.SOCK_STREAM: 1>, proto=6, sockaddr=IPv4Sockaddr(address='192.168.1.73', port=6053))]: [Errno 111] Connect call failed ('192.168.1.73', 6053) (SocketAPIError) INFO Trying to connect to esp32-c1 @ 192.168.1.73 in the background