Esphome (yaml) vers Arduino (c++), possible?

Bonsoir, j’ai un fichier yaml fait sous ESPHome televersé dans un ESP32 qui me permet de récupérer les données d’un onduleur (rs485).
Serait il possible de récupérer ce programme sous la forme du language Arduino?
J’ai un ami qui a le même onduleur mais souhaite rester sur l’IDE Arduino ou PlatformiO.
Merci pour votre aide.


Texte à remplacer par votre configuration

Comment récupérer ma configuration :
Dans votre HA, Menu latéral Paramètres > Système > Corrections puis les trois petits points en haut a droite > Informations Système puis une fois en bas Copier


Salut,

Je n’ai jamais regardé les détails, mais à un moment ou un autre ESPHome convertit le yaml en C++… peut-être qu’en fouillant dans ls fichier de l’add-on il y a moyen de récupérer les dernières sources compilés.
Mais bon vu le nombre de librairies qu’il faudrait installer sur son ide Arduino autant installe Esphome

Une autre solution pourrait être de lui compiler un firmware et lui envoyer. Mais là dès qu’il change de wifi il t’embêtera.

Sinon le meilleure solution de toutes c’est faire le code sur arduino directement… ça doit pas être le mer à boire, l’onduleur crache tout le temps les mêmes données devrait pas y avoir de surprise. Et il est presque certain qu’il peut facilement trouver des exemples sur le net.

On m’a mis un peu sur la voie.

Apparement ESPHome lors de la compilation monte dans un docker PlatformiO.

Dans PlatformiO il faut récupérer le dossier main.c dans le répertoire .pio/build/…

Si sa peu aider ?

Pour le code Arduino je me suis arrêter à BLINK …

Bonjour,

A priori le code c++ est dans :
/config/esphome/.esphome/build/nom_du_device/src/

Il est possible de mettre un portail captif pour changer le nom du wifi quand le wifi initialement configuré n’est plus disponible :

Salut
Sur ESP32, tu as la possibilité de creer un mode specifique pour permettre de passer par BLE les user et mdp du WIFI

C’est vrai j’avais oublié.

Du coup compiler le firmware pour l’autre personne c’est beaucoup mieux que d’essayer de compiler dans un autre environnement à partir des sources.

J’ai trouvé le programme en suivant l’arborescence, par contre le programme semble avoir une structure un peu différente de ce que l’on à l’habitude de voir. Le fait que ce soit compilé depuis Esphome change quelques choses?

Salut,

c’est du C++ comme avec l’IDE Arduino.
En revanche c’est pas fait pour être lisible vu que c’est généré à partir de la config yaml.

Qu’entends tu par « structure un peu différente de ce que l’on à l’habitude de voir. » ?

Car quand on regarde, on trouve les fonctions « main » et « loop » comme tout autre programme de fw ESP ou arduino.

Salut,
AMHA, il serait plus simple de regarder le code de chacun des composants utilisé dans le github esphome et « essayer » de les réutiliser en arduino que des sources générées à partir du YAML.
Par contre arduino n’as pas de wifi… Comment les données sont censé être récupéré ?

Bonjour à tous,

Peut être une autre approche en utilisant un capteur personnalisé.

Pas un Arduino mais un ESP32, pour commencer on fera en sorte de les récupérer dans le moniteur série de l’IDE.

OK. J’ai lu ArduinoIDE et ai donc conclu Arduino… My bad :wink:
Mon conseil reste identique, néanmoins.
Le truc d’ESPHOME et de configurer de manière simple en YAML et magie ça fonctionne. Je ne comprend pas l’idée de "rester sur ArduinoIDE /PlatformIO " ce qui nécessite des compétences qui, à mon sens, rend la question hors de propos.

1 « J'aime »