Wemos Teleinfo et ESP Home
-
Après m'être battu pendant quelque temps avec un D1 mini 8266, le wemos shield et ESPHome, le D1 rebootant de manière aléatoire, voici ma config ESPHome enfin stable.
Spoiler : j'avais récupéré d'une autre config teleinfo la ligne "tx_pin: GPIO1", une fois commentée, la configuration est stable.
Disclaimer : Tous les informations disponibles dans le mode standard du Linky ne sont pas reprises dans la config ci-dessous. La config est pour un Linky monophasé.
esphome: name: "esp82-01" esp8266: board: nodemcuv2 #d1_mini # Enable logging logger: level: DEBUG hardware_uart: UART1 #baud_rate: 0 # Enable Home Assistant API api: ota: wifi: ssid: !secret wifi_ssid password: !secret wifi_password # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "Esp82-01" password: !secret wifi_fallback_password captive_portal: uart: id: uart_bus rx_pin: GPIO13 #tx_pin: GPIO1 # Was crashing when tx_pin was set baud_rate: 9600 parity: EVEN data_bits: 7 teleinfo: id: myteleinfo update_interval: 15s historical_mode: false sensor: - platform: wifi_signal name: "WiFi Signal Sensor" update_interval: 60s unit_of_measurement: dB accuracy_decimals: 0 force_update: false icon: mdi:wifi - platform: uptime id: uptime_seconds name: "Uptime Sensor" update_interval: 60s unit_of_measurement: s accuracy_decimals: 0 force_update: false icon: mdi:timer - platform: teleinfo tag_name: "IRMS1" name: "Intensite Inst." unit_of_measurement: "A" icon: mdi:current-ac teleinfo_id: myteleinfo - platform: teleinfo tag_name: "URMS1" name: "Tension Inst." unit_of_measurement: "V" icon: mdi:current-ac teleinfo_id: myteleinfo - platform: teleinfo tag_name: "SINSTS" name: "Puissance Inst." device_class: power unit_of_measurement: "VA" icon: mdi:flash teleinfo_id: myteleinfo - platform: teleinfo tag_name: "EASF01" name: "Index heures creuses" unit_of_measurement: "kWh" accuracy_decimals: 3 device_class: energy state_class: "total_increasing" icon: mdi:gauge teleinfo_id: myteleinfo id: heures_creuses filters: - multiply: 0.001 - platform: teleinfo tag_name: "EASF02" name: "Index heures pleines" unit_of_measurement: "kWh" accuracy_decimals: 3 device_class: energy state_class: "total_increasing" icon: mdi:gauge teleinfo_id: myteleinfo id: heures_pleines filters: - multiply: 0.001 text_sensor: - platform: template name: Uptime update_interval: 30s icon: mdi:clock-start lambda: |- int seconds = (id(uptime_seconds).state); int days = seconds / (24 * 3600); seconds = seconds % (24 * 3600); int hours = seconds / 3600; seconds = seconds % 3600; int minutes = seconds / 60; seconds = seconds % 60; if ( days ) { return { (String(days) +"d " + String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() }; } else if ( hours ) { return { (String(hours) +"h " + String(minutes) +"m "+ String(seconds) +"s").c_str() }; } else if ( minutes ) { return { (String(minutes) +"m "+ String(seconds) +"s").c_str() }; } else { return { (String(seconds) +"s").c_str() }; } - platform: teleinfo tag_name: "LTARF" name: "Tarif en cours" icon: mdi:clock-time-nine-outline -
@yannlieb un grand merci pour ce retour.
-
Bonjour,
Pour ma part, les reboot intempestifs, semblaient plutôt du au logger série. C'est la conf suivante qui a corrigé le problème :
logger: baud_rate: 0(HA 2022.12.7, esphome 2022.11.3 en mode mqtt)
J'ajoute que je suis en mode historique et que tout fonctionne très bien avec une conf dans ce genre :
uart: id: uart_bus rx_pin: GPIO13 # tx_pin: GPIO12 # n'a pas corrigé les reboots baud_rate: 1200 parity: EVEN data_bits: 7 teleinfo: id: linky update_interval: 60s historical_mode: true sensor: - platform: teleinfo tag_name: "HCHC" name: "${name} Heures Creuses" unit_of_measurement: "Wh" icon: mdi:flash teleinfo_id: linky state_class: total_increasing device_class: energy - platform: teleinfo tag_name: "PAPP" name: "${name} Puissance Apparente" unit_of_measurement: "VA" icon: mdi:flash teleinfo_id: linky device_class: power etc... pour les autres tagsEt en bonus, voici un exemple de conf pour gérer la led:
light: - platform: neopixelbus type: GRB variant: WS2812 pin: GPIO14 num_leds: 1 name: "${name} status" effects: - pulse: name: "Fast Pulse" transition_length: 0.5s update_interval: 0.5s - pulse: name: "Slow Pulse" update_interval: 2s -
@jerome-labidurie merci pour le retour
Attention en ESP8266 il n'y a qu'un seul hardware serial (pour ça que je banni au profit de l'ESP32 beaucoup plus souple et performant)
Donc si t'as un logger série classique sur RX/TX et la téléinfo sur RX (même sur GPIO13 c'est relié a la même uart hard) et bien clairement ça merde. De plus, tu ne peux pas uploader le soft si la téléinfo est branchée car elle fait conflit.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login