Je souhaite flasher mon Sonoff 4CH Pro R3 pour l’intégrer dans HA.
Coté matos : j’ai branché mon Sonoff,(après avoir soudé les pins) sur une carte UART et le tout sur le port USB du PC. J’ai suivi ce tuto pour qu’il passe en mode « maintenance » tuto flash (lien externe).
Ensuite les étapes que j’ai suivi dans le le tuto de @McFlyTuto ESPHome
Il y a sans doute eu qques évolutions car je ne retrouve pas exactement ce qui est écrit :
ex : il n’est pas proposé de mdp pour OTA (mais il y en a eu un par défaut dans le .yaml)
Ensuite je vais sur les « … » et je clique sur Validate (le fichier est bien créé : INFO Configuration is valid!
En bas je n’ai que ce choix :
Et quand je vais sur les « … », je n’ai pas « Compil » mais :
Je suis donc bloqué ici.
Testé 2x : en le branchant sur le PC puis directement sur le Rasberry
Ma configuration
___
## System Information
version | core-2022.10.1
-- | --
installation_type | Home Assistant OS
dev | false
hassio | true
docker | true
user | root
virtualenv | false
python_version | 3.10.5
os_name | Linux
os_version | 5.15.61-v8
arch | aarch64
timezone | Europe/Paris
config_dir | /config
<details><summary>Home Assistant Cloud</summary>
logged_in | false
-- | --
can_reach_cert_server | ok
can_reach_cloud_auth | ok
can_reach_cloud | ok
</details>
<details><summary>Home Assistant Supervisor</summary>
host_os | Home Assistant OS 9.0
-- | --
update_channel | stable
supervisor_version | supervisor-2022.09.1
agent_version | 1.3.0
docker_version | 20.10.17
disk_total | 27.8 GB
disk_used | 3.9 GB
healthy | true
supported | true
board | rpi4-64
supervisor_api | ok
version_api | ok
installed_addons | Duck DNS (1.15.0), File editor (5.4.1), NGINX Home Assistant SSL proxy (3.1.5), ESPHome (2022.9.4)
</details>
<details><summary>Dashboards</summary>
dashboards | 1
-- | --
resources | 0
views | 1
mode | storage
</details>
<details><summary>Recorder</summary>
oldest_recorder_run | 28 septembre 2022 à 19:52
-- | --
current_recorder_run | 7 octobre 2022 à 18:34
estimated_db_size | 62.95 MiB
database_engine | sqlite
database_version | 3.38.5
</details>
Il me semble que la compil se fait lors de install.
Pour ma part, je fais « validate » et si c’est ok je fais « install ».
La procédure de compil se fait pendant install, juste avant uploading sur mes esp32.
J’ai donc utilisé ESPHome flasher
en fichier source, j’ai mis le .bin
Bref j’ai ceci :
Using 'COM5' as serial port.
Connecting....
Detecting chip type... Unsupported detection protocol, switching and trying again.. %)Writing at 0x00071044... (100 %)Wrote 478624 bytes (337674 compressed) at 0x00000000 in 7.7 seconds (effective 495.7 kbit/s)...
Hash of data verified.
Leaving...
Hard Resetting...
Hard resetting via RTS pin...
Done! Flashing is complete!
Showing logs:
Quand je clique sur Views logs :
Using 'COM5' as serial port.
Unexpected error: could not open port 'COM5': PermissionError(13, 'Accès refusé.', None, 5)
J’ai banché mon ensemble sur le Raspberry via port USB.
Il apparait en "Online " dans ESPHome.
HA détecte un nouvel élément, c’est une avancée.
J’ai donc mis la clé de chiffrement visible dans le log
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Sonoff-Cellier Fallback Hotspot"
password: "xxx"
Il est donc reconnu.(mais est repassé en Offline quand je vais dans ESPHome, je ne sais pas si c’est normal).
J’ai retiré mon branchement et testé le Sonoff sur le 230V, et la aucune LED s’allume (je ne l’avais jamais branché avant…), je ne sais donc pas si il est opérationnel, ou vu que j’ai commencé qques manips, c’est normal qu’il ne s’allume plus…
Tu as raison , je l’ai rebranché et j’ai trouvé son adresse IP il est pas mort, c’est déjà ça !
Je ne sais pas quoi en faire, mais il est visible.
Ma question suivante : comment puis-je lui injecté du code ?
Je dois le rebrancher en direct sur mon PC, et j’aimerai lui filer le code du Step5 de cette page.https://esphome.io/devices/sonoff_4ch.html
(en espérant ne pas griller des étapes avant)
une fois que tu as flashé un premier firmware EspHome, que tu as le module dans EspHome et qu’il est visible, tu peux charger une nouveau firmware sans fil, en utilisant l"option « Wirelessly » de install.
Tu n’as plus du tout besoin de le débrancher, ça marche assez bien.
...
[23:23:21][D][api.connection:861]: Home Assistant 2022.10.2 (192.168.0.10): Connected successfully
Citation
Rendez vous dans ESPHome, vérifier que votre matériel est bien connecté puis faites EDIT. Coller votre code ou celui qui vous est donné dans les articles, remplacer bien les infos de connexion Wifi par les vôtres au besoin.
Valider votre configuration, si elle est OK alors cliquer sur UPLOAD,
Maintenant si je suis le tuto, je peux faire ceci avec le bout de code du Step 5 donné plus haut j’imagine ?
De ce que je comprend, j’édite le fichier sonoff-cellier.yaml
Et je colle tout mon code à la suite ?
Dans l’interface de EspHome tu vois toute tes modules, j’imagine que t’en vois qu’un seul qui s’appelle sonoff-cellier.
Tu vas sur edit et c’est le code de ton sonoff.
Si tu le change, que tu sauve et clique sur Install>wirelessly, ça v le compiler et l’envoyer sur ton esp.
Faut bien s’assurer de garder les parties principales du début pour gérer le nom les mots de passe et le wifi…
mais toute la partie du bas qui contient la config des plateformes, les entités et la logique, tu la changer comme tu veux.
Je pensais que c’était ça mais j’avais des doutes alors je n’osais pas.
C’est donc opérationnel de ce coté là, je peux le gérer via HA.
Merci !
Pour être parfait pour moi, je souhaiterais pouvoir activer les boutons manuellement (comme à l’origine) en plus de HA.
(car les boutons sont inopérant maintenant).
Vu que moi et Python, ça fait 2 je ne sais pas quel code est à rajouter.
Ca tombe bien, EspHome c’est absolument pas du python c’est du yaml et du C
Il va falloir regarder la doc des binary_sensor de esphome.
Les boutons sont définis dans le code de ton « step 5 ».
Il faut rajouter des actions sur les boutons pour qu’ils changent l’état des relais.
Bon j’ai repiqué un autre bout de code puis modifié le mien, et ça loupe pas, il y a 2 erreurs que je ne pige pas.
Il ne veux plus de la 1ère ligne, que je n’ai pas touché et un tiret ligne 33 c’est là :
Message d’erreur en voulant faire l’installation :
INFO Reading configuration /config/esphome/sonoff-cellier.yaml...
ERROR Error while reading config: Invalid YAML syntax:
while parsing a block collection
in "/config/esphome/sonoff-cellier.yaml", line 32, column 3:
- platform: gpio
^
expected <block end>, but found '<block mapping start>'
in "/config/esphome/sonoff-cellier.yaml", line 33, column 5:
pin:
^
Ca te le dit ans le message d’erreur… des binary_sensor doivent avoir au moins un nom ou un ID pour gérer les event type on_press (je ne sais pas pour quelle raison)