je cherche a faire un détecteur de CO² avec ESPHome, un ESP8266MOD 12-F et un SenseAir S8
mais je rencontre un problème entre la connexion du capteur et l’esp… (remarquez, y’a que ca à relier…)
[12:17:00][E][uart:015]: Reading from UART timed out at byte 0!
[12:16:20][I][app:102]: ESPHome version 2022.6.2 compiled on Jul 6 2022, 12:15:34
[12:16:20][C][wifi:491]: WiFi:
[12:16:20][C][wifi:353]: Local MAC: AC:0B:FB:D6:43:FC
[12:16:20][C][wifi:354]: SSID: [redacted]
[12:16:20][C][wifi:355]: IP Address: 192.168.92.175
[12:16:20][C][wifi:356]: BSSID: [redacted]
[12:16:20][C][wifi:358]: Hostname: 'esp8266mod-12f'
[12:16:20][C][wifi:360]: Signal strength: -55 dB ▂▄▆█
[12:16:20][C][wifi:364]: Channel: 5
[12:16:20][C][wifi:365]: Subnet: 255.255.255.0
[12:16:20][C][wifi:366]: Gateway: 192.168.92.20
[12:16:20][C][wifi:367]: DNS1: 192.168.92.1
[12:16:20][C][wifi:368]: DNS2: 0.0.0.0
[12:16:20][C][logger:275]: Logger:
[12:16:20][C][logger:276]: Level: DEBUG
[12:16:20][C][logger:277]: Log Baud Rate: 115200
[12:16:20][C][logger:278]: Hardware UART: UART0
[12:16:20][C][uart.arduino_esp8266:102]: UART Bus:
[12:16:20][C][uart.arduino_esp8266:103]: TX Pin: GPIO4
[12:16:20][C][uart.arduino_esp8266:104]: RX Pin: GPIO5
[12:16:20][C][uart.arduino_esp8266:106]: RX Buffer Size: 256
[12:16:20][C][uart.arduino_esp8266:108]: Baud Rate: 9600 baud
[12:16:20][C][uart.arduino_esp8266:109]: Data Bits: 8
[12:16:20][C][uart.arduino_esp8266:110]: Parity: NONE
[12:16:20][C][uart.arduino_esp8266:111]: Stop bits: 1
[12:16:20][C][uart.arduino_esp8266:115]: Using software serial
[12:16:20][C][uptime.sensor:031]: Uptime Sensor 'Detecteur CO2 + Leds Allumé depuis (s)'
[12:16:20][C][uptime.sensor:031]: State Class: 'total_increasing'
[12:16:20][C][uptime.sensor:031]: Unit of Measurement: 's'
[12:16:20][C][uptime.sensor:031]: Accuracy Decimals: 0
[12:16:20][C][uptime.sensor:031]: Icon: 'mdi:timer-outline'
[12:16:20][C][template.text_sensor:021]: Template Sensor 'Detecteur CO2 + Leds Allumé depuis (j)'
[12:16:20][C][template.text_sensor:021]: Icon: 'mdi:clock-start'
[12:16:20][C][template.switch:058]: Template Switch 'Calibration Detecteur CO2 + Leds'
[12:16:20][C][template.switch:059]: Restore State: NO
[12:16:20][C][template.switch:060]: Optimistic: YES
[12:16:20][C][switch.gpio:050]: GPIO Switch 'Voyant vert'
[12:16:20][C][switch.gpio:050]: Icon: 'mdi:led-on'
[12:16:20][C][switch.gpio:051]: Pin: GPIO14
[12:16:20][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF)
[12:16:20][C][switch.gpio:050]: GPIO Switch 'Voyant jaune'
[12:16:20][C][switch.gpio:050]: Icon: 'mdi:led-on'
[12:16:20][C][switch.gpio:051]: Pin: GPIO12
[12:16:20][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF)
[12:16:20][C][switch.gpio:050]: GPIO Switch 'Voyant rouge'
[12:16:20][C][switch.gpio:050]: Icon: 'mdi:led-on'
[12:16:20][C][switch.gpio:051]: Pin: GPIO13
[12:16:20][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF)
[12:16:20][C][homeassistant.time:010]: Home Assistant Time:
[12:16:20][C][homeassistant.time:011]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[12:16:20][C][status:034]: Status Binary Sensor 'Statut Detecteur CO2 + Leds'
[12:16:20][C][status:034]: Device Class: 'connectivity'
[12:16:20][C][adc:073]: ADC Sensor 'Tension alim. Detecteur CO2 + Leds'
[12:16:20][C][adc:073]: Device Class: 'voltage'
[12:16:20][C][adc:073]: State Class: 'measurement'
[12:16:20][C][adc:073]: Unit of Measurement: 'V'
[12:16:20][C][adc:073]: Accuracy Decimals: 2
[12:16:20][C][adc:076]: Pin: VCC
[12:16:20][C][adc:105]: Update Interval: 60.0s
[12:16:20][C][mhz19:094]: MH-Z19:
[12:16:20][C][mhz19:095]: CO2 'test CO2'
[12:16:20][C][mhz19:095]: Device Class: 'carbon_dioxide'
[12:16:20][C][mhz19:095]: State Class: 'measurement'
[12:16:20][C][mhz19:095]: Unit of Measurement: 'ppm'
[12:16:20][C][mhz19:095]: Accuracy Decimals: 0
[12:16:20][C][mhz19:095]: Icon: 'mdi:molecule-co2'
[12:16:20][C][mhz19:096]: Temperature 'test Temperature from CO2 sensor'
[12:16:20][C][mhz19:096]: Device Class: 'temperature'
[12:16:20][C][mhz19:096]: State Class: 'measurement'
[12:16:20][C][mhz19:096]: Unit of Measurement: '°C'
[12:16:20][C][mhz19:096]: Accuracy Decimals: 0
[12:16:20][C][mhz19:102]: Automatic baseline calibration disabled on boot
[12:16:20][C][version.text_sensor:021]: Version Text Sensor 'ESPHome Version Detecteur CO2 + Leds'
[12:16:20][C][version.text_sensor:021]: Icon: 'mdi:new-box'
[12:16:20][C][restart:022]: Restart Switch 'Redémarrage Detecteur CO2 + Leds'
[12:16:20][C][restart:022]: Icon: 'mdi:restart'
[12:16:20][C][captive_portal:088]: Captive Portal:
[12:16:20][C][web_server:125]: Web Server:
[12:16:20][C][web_server:126]: Address: esp8266mod-12f.local:80
[12:16:20][C][mdns:084]: mDNS:
[12:16:20][C][mdns:085]: Hostname: esp8266mod-12f
[12:16:21][C][ota:085]: Over-The-Air Updates:
[12:16:21][C][ota:086]: Address: esp8266mod-12f.local:8266
[12:16:21][C][ota:089]: Using Password.
[12:16:21][C][api:138]: API Server:
[12:16:21][C][api:139]: Address: esp8266mod-12f.local:6053
[12:16:21][C][api:141]: Using noise encryption: YES
[12:16:21][C][wifi_signal.sensor:009]: WiFi Signal 'Signal Wifi Detecteur CO2 + Leds'
[12:16:21][C][wifi_signal.sensor:009]: Device Class: 'signal_strength'
[12:16:21][C][wifi_signal.sensor:009]: State Class: 'measurement'
[12:16:21][C][wifi_signal.sensor:009]: Unit of Measurement: 'dBm'
[12:16:21][C][wifi_signal.sensor:009]: Accuracy Decimals: 0
[12:16:21][C][wifi_info:009]: WifiInfo IPAddress 'IP Detecteur CO2 + Leds'
[12:16:21][C][wifi_info:011]: WifiInfo SSID 'SSID Detecteur CO2 + Leds'
[12:16:21][C][wifi_info:012]: WifiInfo BSSID 'BSSID Detecteur CO2 + Leds'
[12:16:30][D][api:102]: Accepted 192.168.92.25
[12:16:30][D][api.connection:861]: Home Assistant 2022.6.7 (192.168.92.25): Connected successfully
[12:16:30][D][time:041]: Synchronized time: 2022-07-06 12:16:30
[12:16:39][D][sensor:124]: 'Tension alim. Detecteur CO2 + Leds': Sending state 2.88281 V with 2 decimals of accuracy
[12:17:00][E][uart:015]: Reading from UART timed out at byte 0!
[12:17:00][W][mhz19:034]: Reading data from MHZ19 failed!
[12:17:02][D][sensor:124]: 'Signal Wifi Detecteur CO2 + Leds': Sending state -62.00000 dBm with 0 decimals of accuracy
[12:17:03][D][text_sensor:067]: 'Detecteur CO2 + Leds Allumé depuis (j)': Sending state '0d 0h 0m 9s'
[12:17:04][D][sensor:124]: 'Detecteur CO2 + Leds Allumé depuis (s)': Sending state 64.42900 s with 0 decimals of accuracy
[12:17:39][D][sensor:124]: 'Tension alim. Detecteur CO2 + Leds': Sending state 2.87695 V with 2 decimals of accuracy
[12:18:00][E][uart:015]: Reading from UART timed out at byte 0!
[12:18:00][W][mhz19:034]: Reading data from MHZ19 failed!
[12:18:02][D][sensor:124]: 'Signal Wifi Detecteur CO2 + Leds': Sending state -59.00000 dBm with 0 decimals of accuracy
[12:18:03][D][text_sensor:067]: 'Detecteur CO2 + Leds Allumé depuis (j)': Sending state '0d 0h 1m 4s'
[12:18:04][D][sensor:124]: 'Detecteur CO2 + Leds Allumé depuis (s)': Sending state 124.42900 s with 0 decimals of accuracy
coté config j’ai commencé comme çà:
substitutions:
devicename: esp8266mod-12f
long_devicename: Detecteur CO2 + Leds
esphome:
name: $devicename
platform: ESP8266
board: nodemcuv2
comment: $long_devicename
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
power_save_mode: light
ap:
ssid: $devicename
password: !secret ap_password
captive_portal:
api:
encryption:
key: "gO+MAvMQFep4Bz9NX4bDV5DfSEMpHnuUF44Z2JhYeCE="
# service definition to force manual zero calibration from HA
services:
- service: esp99test_mhz19_calibrate_zero
then:
- mhz19.calibrate_zero: esp99_co2
ota:
password: "d518a90831038ca9c6f29808b36a669a"
# Enable Web server.
web_server:
port: 80
logger:
# baud_rate: 0
# level: VERBOSE
binary_sensor:
# statut
- platform: status
name: "Statut $long_devicename"
sensor:
# Voltage de l'alimentation
- platform: adc
pin: VCC
name: "Tension alim. $long_devicename"
# Qualité du signal
- platform: wifi_signal
name: "Signal Wifi $long_devicename"
update_interval: 60s
# Temps de fonctionnement
- platform: uptime
name: "$long_devicename Allumé depuis (s)"
id: uptime_sec
- platform: mhz19
co2:
name: "test CO2"
temperature:
name: "test Temperature from CO2 sensor"
update_interval: 60s
automatic_baseline_calibration: false
uart_id: uart_mhz19
id: esp99_co2
switch:
# Bouton de redémarrage
- platform: restart
name: "Redémarrage $long_devicename"
# switch configuration to turn calibration on/off
- platform: template
name: "Calibration $long_devicename"
optimistic: true
on_turn_on:
mhz19.abc_enable: esp99_co2
on_turn_off:
mhz19.abc_disable: esp99_co2
# Gestion des LED
- platform: gpio
pin: GPIO14 #d5
name: "Voyant vert"
icon: "mdi:led-on"
- platform: gpio
pin: GPIO12 #d6
name: "Voyant jaune"
icon: "mdi:led-on"
- platform: gpio
pin: GPIO13 #d7
name: "Voyant rouge"
icon: "mdi:led-on"
uart:
- rx_pin: GPIO05 #d1
tx_pin: GPIO04 #d2
baud_rate: 9600
id: uart_mhz19
Bon, les leds ne sont pas encore gérées par la quantité de CO², mais il faut pour çà que je puisse la lire…
je vois bien la led infrarouge qui clignote dans le senseur, je vois des données passer du fil TX du capteur qui va sur le port d1 mais c’est pas lisible par un port série.
J’ai déjà essayé les inversions logicielles et matérielles, mêmes effets.
en mettant le fil rx de mon com sur la sortie tx du module, y’a de la vie… pas exploitable, des caractères bizares mais des infos arrivent.
je viens de remplacer le SenseAir S8 par un MH-Z19C, des fois que la définition du sensor: platform: mhz19 soit trop pointilleuse…
mêmes erreurs…
[14:08:03][E][uart:015]: Reading from UART timed out at byte 0!
[14:08:03][W][mhz19:034]: Reading data from MHZ19 failed!
[14:08:05][D][sensor:124]: 'Signal Wifi Detecteur CO2 + Leds': Sending state -59.00000 dBm with 0 decimals of accuracy
[14:08:50][D][text_sensor:067]: 'Detecteur CO2 + Leds Allumé depuis (j)': Sending state '0d 0h 0m 48s'
[14:08:54][D][sensor:124]: 'Detecteur CO2 + Leds Allumé depuis (s)': Sending state 108.44400 s with 0 decimals of accuracy
[14:08:58][D][sensor:124]: 'Tension alim. Detecteur CO2 + Leds': Sending state 2.87988 V with 2 decimals of accuracy
Pour vérifier que mon câblage était bon, j’ai mis des led sur les ports destinés à l’uart, soit GPIO05/d1 et GPIO04/d2
les leds sont bien allumées et correspondent bien au tx et rx qui sont croisés avec le rx et tx du MH-Z19c.
INFO Reading configuration /config/esphome/esp8266mod-12f.yaml...
INFO Detected timezone 'Europe/Paris'
INFO Starting log output from esp8266mod-12f.local using esphome API
INFO Successfully connected to esp8266mod-12f.local
[16:26:42][I][app:102]: ESPHome version 2022.6.2 compiled on Jul 8 2022, 12:54:51
[16:26:43][C][wifi:491]: WiFi:
[16:26:43][C][wifi:353]: Local MAC: AC:0B:BF:6D:43:FC
[16:26:43][C][wifi:354]: SSID: [redacted]
[16:26:43][C][wifi:355]: IP Address: 192.168.92.175
[16:26:43][C][wifi:356]: BSSID: [redacted]
[16:26:43][C][wifi:358]: Hostname: 'esp8266mod-12f'
[16:26:43][C][wifi:360]: Signal strength: -48 dB ▂▄▆█
[16:26:43][C][wifi:364]: Channel: 5
[16:26:43][C][wifi:365]: Subnet: 255.255.255.0
[16:26:43][C][wifi:366]: Gateway: 192.168.92.20
[16:26:43][C][wifi:367]: DNS1: 192.168.92.1
[16:26:43][C][wifi:368]: DNS2: 0.0.0.0
[16:26:43][C][logger:275]: Logger:
[16:26:43][C][logger:276]: Level: DEBUG
[16:26:43][C][logger:277]: Log Baud Rate: 115200
[16:26:43][C][logger:278]: Hardware UART: UART0
[16:26:43][C][uart.arduino_esp8266:102]: UART Bus:
[16:26:43][C][uart.arduino_esp8266:103]: TX Pin: GPIO4
[16:26:43][C][uart.arduino_esp8266:104]: RX Pin: GPIO5
[16:26:43][C][uart.arduino_esp8266:106]: RX Buffer Size: 256
[16:26:43][C][uart.arduino_esp8266:108]: Baud Rate: 9600 baud
[16:26:43][C][uart.arduino_esp8266:109]: Data Bits: 8
[16:26:43][C][uart.arduino_esp8266:110]: Parity: NONE
[16:26:43][C][uart.arduino_esp8266:111]: Stop bits: 1
[16:26:43][C][uart.arduino_esp8266:115]: Using software serial
[16:26:43][C][uptime.sensor:031]: Uptime Sensor 'uptime_sec'
[16:26:43][C][uptime.sensor:031]: State Class: 'total_increasing'
[16:26:43][C][uptime.sensor:031]: Unit of Measurement: 's'
[16:26:43][C][uptime.sensor:031]: Accuracy Decimals: 0
[16:26:43][C][uptime.sensor:031]: Icon: 'mdi:timer-outline'
[16:26:43][C][template.text_sensor:021]: Template Sensor 'Detecteur CO2 MH-Z19c Allumé depuis (j)'
[16:26:43][C][template.text_sensor:021]: Icon: 'mdi:clock-start'
[16:26:43][C][template.switch:058]: Template Switch 'Calibration Detecteur CO2 MH-Z19c'
[16:26:43][C][template.switch:059]: Restore State: NO
[16:26:43][C][template.switch:060]: Optimistic: YES
[16:26:43][C][switch.gpio:050]: GPIO Switch 'Voyant vert'
[16:26:43][C][switch.gpio:050]: Icon: 'mdi:led-on'
[16:26:43][C][switch.gpio:051]: Pin: GPIO14
[16:26:43][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF)
[16:26:43][C][switch.gpio:050]: GPIO Switch 'Voyant jaune'
[16:26:43][C][switch.gpio:050]: Icon: 'mdi:led-on'
[16:26:43][C][switch.gpio:051]: Pin: GPIO12
[16:26:43][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF)
[16:26:43][C][switch.gpio:050]: GPIO Switch 'Voyant rouge'
[16:26:43][C][switch.gpio:050]: Icon: 'mdi:led-on'
[16:26:43][C][switch.gpio:051]: Pin: GPIO13
[16:26:43][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF)
[16:26:43][C][switch.gpio:050]: GPIO Switch 'Voyant blanc'
[16:26:43][C][switch.gpio:050]: Icon: 'mdi:led-on'
[16:26:43][C][switch.gpio:051]: Pin: GPIO2
[16:26:43][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF)
[16:26:43][C][switch.gpio:050]: GPIO Switch 'Voyant bleu'
[16:26:43][C][switch.gpio:050]: Icon: 'mdi:led-on'
[16:26:43][C][switch.gpio:051]: Pin: GPIO15
[16:26:43][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF)
[16:26:43][C][homeassistant.time:010]: Home Assistant Time:
[16:26:43][C][homeassistant.time:011]: Timezone: 'CET-1CEST,M3.5.0,M10.5.0/3'
[16:26:43][C][status:034]: Status Binary Sensor 'Statut Detecteur CO2 MH-Z19c'
[16:26:43][C][status:034]: Device Class: 'connectivity'
[16:26:43][C][adc:073]: ADC Sensor 'Tension alim. Detecteur CO2 MH-Z19c'
[16:26:43][C][adc:073]: Device Class: 'voltage'
[16:26:43][C][adc:073]: State Class: 'measurement'
[16:26:43][C][adc:073]: Unit of Measurement: 'V'
[16:26:43][C][adc:073]: Accuracy Decimals: 2
[16:26:43][C][adc:076]: Pin: VCC
[16:26:43][C][adc:105]: Update Interval: 60.0s
[16:26:43][C][mhz19:094]: MH-Z19:
[16:26:43][C][mhz19:095]: CO2 'Valeur CO² Detecteur CO2 MH-Z19c'
[16:26:43][C][mhz19:095]: Device Class: 'carbon_dioxide'
[16:26:43][C][mhz19:095]: State Class: 'measurement'
[16:26:43][C][mhz19:095]: Unit of Measurement: 'ppm'
[16:26:43][C][mhz19:095]: Accuracy Decimals: 0
[16:26:43][C][mhz19:095]: Icon: 'mdi:molecule-co2'
[16:26:43][C][mhz19:096]: Temperature 'Temperature Detecteur CO2 MH-Z19c'
[16:26:43][C][mhz19:096]: Device Class: 'temperature'
[16:26:43][C][mhz19:096]: State Class: 'measurement'
[16:26:43][C][mhz19:096]: Unit of Measurement: '°C'
[16:26:43][C][mhz19:096]: Accuracy Decimals: 0
[16:26:43][C][mhz19:102]: Automatic baseline calibration disabled on boot
[16:26:43][C][version.text_sensor:021]: Version Text Sensor 'ESPHome Version Detecteur CO2 MH-Z19c'
[16:26:43][C][version.text_sensor:021]: Icon: 'mdi:new-box'
[16:26:43][C][restart:022]: Restart Switch 'Redémarrage Detecteur CO2 MH-Z19c'
[16:26:43][C][restart:022]: Icon: 'mdi:restart'
[16:26:43][C][captive_portal:088]: Captive Portal:
[16:26:43][C][web_server:125]: Web Server:
[16:26:43][C][web_server:126]: Address: esp8266mod-12f.local:80
[16:26:43][C][mdns:084]: mDNS:
[16:26:43][C][mdns:085]: Hostname: esp8266mod-12f
[16:26:43][C][ota:085]: Over-The-Air Updates:
[16:26:43][C][ota:086]: Address: esp8266mod-12f.local:8266
[16:26:43][C][ota:089]: Using Password.
[16:26:43][C][api:138]: API Server:
[16:26:43][C][api:139]: Address: esp8266mod-12f.local:6053
[16:26:43][C][api:141]: Using noise encryption: YES
[16:26:43][C][wifi_signal.sensor:009]: WiFi Signal 'Signal Wifi Detecteur CO2 MH-Z19c'
[16:26:43][C][wifi_signal.sensor:009]: Device Class: 'signal_strength'
[16:26:43][C][wifi_signal.sensor:009]: State Class: 'measurement'
[16:26:43][C][wifi_signal.sensor:009]: Unit of Measurement: 'dBm'
[16:26:43][C][wifi_signal.sensor:009]: Accuracy Decimals: 0
[16:26:43][C][wifi_info:009]: WifiInfo IPAddress 'IP Detecteur CO2 MH-Z19c'
[16:26:43][C][wifi_info:011]: WifiInfo SSID 'SSID Detecteur CO2 MH-Z19c'
[16:26:43][C][wifi_info:012]: WifiInfo BSSID 'BSSID Detecteur CO2 MH-Z19c'
[16:27:00][D][mhz19:057]: MHZ19 Received CO₂=574ppm Temperature=33°C Status=0x00
[16:27:00][D][sensor:124]: 'Valeur CO² Detecteur CO2 MH-Z19c': Sending state 574.00000 ppm with 0 decimals of accuracy
[16:27:00][D][sensor:124]: 'Temperature Detecteur CO2 MH-Z19c': Sending state 33.00000 °C with 0 decimals of accuracy
[16:27:00][D][sensor:124]: 'uptime_sec': Sending state 12700.63086 s with 0 decimals of accuracy
[16:27:03][D][text_sensor:067]: 'Detecteur CO2 MH-Z19c Allumé depuis (j)': Sending state '0d 3h 31m 40s'
[16:27:05][D][sensor:124]: 'Tension alim. Detecteur CO2 MH-Z19c': Sending state 2.87598 V with 2 decimals of accuracy
[16:27:26][D][sensor:124]: 'Signal Wifi Detecteur CO2 MH-Z19c': Sending state -50.00000 dBm with 0 decimals of accuracy
c’est cette ligne qui change tout:
[16:27:00][D][sensor:124]: ‹ Valeur CO² Detecteur CO2 MH-Z19c ›: Sending state 574.00000 ppm with 0 decimals of accuracy
Il ne me reste plus qu’à afficher les leds vert/jaune/rouge en fonction de la valeur détectée.
si qqn a un exemple, ca m’aiderait.
il me reste un paquet de ports dispo pour ajouter d’autres capteurs…
Bon, pour les autres capteurs, je bloque…
la première config mhz19 / uart GPIO04-GPIO05 fonctionne bien (quoique il faut quelque fois des reboots pour que la com démarre entre le mhz19 et l’esp démarre).
dès que j’active le bus i2c GPIO09-GPIO10 l’esp n’arrive pas à booter, même si il n’y a rien de connecté sur le bus I2C.
au bout de 10 tentatives, il passe en mode sans echec, pour pouvoir modifier la conf.
Voila les logs
wdt reset
load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v000858f0
~ld
[I][logger:243]: Log initialized
[C][ota:461]: There have been 8 suspected unsuccessful boot attempts.
[I][app:029]: Running through setup()...
[I][i2c.arduino:161]: Performing I2C bus recovery
ets Jan 8 2013,rst cause:4, boot mode:(3,4)
wdt reset
load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v000858f0
~ld
[I][logger:243]: Log initialized
[C][ota:461]: There have been 9 suspected unsuccessful boot attempts.
[I][app:029]: Running through setup()...
[I][i2c.arduino:161]: Performing I2C bus recovery
ets Jan 8 2013,rst cause:4, boot mode:(3,4)
wdt reset
load 0x4010f000, len 3460, room 16
tail 4
chksum 0xcc
load 0x3fff20b8, len 40, room 4
tail 4
chksum 0xc9
csum 0xc9
v000858f0
~ld
[I][logger:243]: Log initialized
[C][ota:461]: There have been 10 suspected unsuccessful boot attempts.
[E][ota:468]: Boot loop detected. Proceeding to safe mode.
[I][app:029]: Running through setup()...
[C][wifi:037]: Setting up WiFi...
[D][wifi:373]: Starting scan...
C’est bon, j’ai du tout casser, l’i2c ne veux pas marcher en SDD2/SDD3 (GPIO09/GPIO10) alors qu’en D7/D8 (GPIO13/GPIO15) c’est bon, mais il y avait des leds que j’ai du déplacer…
ca plantait direct l’I²C avec un scan à true et ca ne voyait rien avec un scan à false…
peut être est-ce du au fait que j’avais un nodemcu V3 (12F) et que ESPHome ne voit que le nodemcuv2 (12E) ???
avec toutes ces manipulations, les deux BMP11 que j’avais (capteur de température et de pression) ont grillé et un des deux plantait le bus I²C
le capteur d’hygrométrie SHT21 est en plein décalage horaire en me mettant -30°C et 5% d’humidité…
j’ai testé un on_value_range: above / below, mais ca ne va pas avec mes 3 leds vert/jaune/rouge…
J’aimerais un peu plus d’essplications concernant le on_value_range
# MH-Z19 Analyseur de CO2
- platform: mhz19
co2:
name: "Valeur CO² $long_devicename"
on_value_range:
- above: 400
then:
- switch.turn_on: vert
- above: 900
then:
- switch.turn_on: jaune
- above: 2200
then:
- switch.turn_on: rouge
- below: 400 # le capteur est donné pour 400-5000, en dessous de 400, il est HS ou hors specs...
then:
- switch.turn_off: rouge
- switch.turn_off: jaune
- switch.turn_off: vert
- below: 900
then:
- switch.turn_off: rouge
- switch.turn_off: jaune
- below: 2200
then:
# - switch.turn_off: vert
- switch.turn_off: jaune
comme tout le monde, j’ai eu l’histoire du « trop de then » en oubliant le « - ».
j’aimerais comprendre à quel moment on sort de la boucle… ???
au début j’avais la diode verte qui s’allumait puis restait éteinte, d’où le #commentaire.
ce que je cherche à avoir:
0—400 → rien d’allumé
400—900 → vert
900—2200 → jaune
2200—et au-delà → rouge
ca vous parait bon ? en tous cas, c’est pas très élégant…
C’est pas une boucle mais un case à première vue…
Du coup à mon avis il y a mélange avec tes seuils… Puisque tu peux être above 400 et bellow 900 en même temps…
ça c’est 2 conditions indépendantes (=>2 then)
Je pense que tu dois donner des intervalles qui ne se recouvrent pas
Dans la doc le above et below sont liés (=> 1 then)
Je n’ai pas pu tester le below 400, mais dans le principe ca doit être OK.
l’essentiel est que mes voyants d’alerte fonctionnent en hardware, sans passer par HA.
effectivement j’avais mal lu la doc, je pensais qu’il y avait below qui prenait les valeurs strictement inférieures et above prenait égal ou suppérieur… lecture trop diagonale de ma part.
le seul problème qui me reste, c’est qu’une fois qu’on bascule manuellement un switch d’une led, d’une part il faut s’y reprendre 2 à 3 fois (la première fois depuis le reboot) et une fois la led modifiée, elle ne reprend plus sa valeur indiquée dans le on_value_range … ???
Pas sur de comprendre…
Comme ça, sans réflechir, je pense que la led doit revenir à sa couleur initiale seulement quand il y a une nouvelle valeur du capteur. Dons si pas de variation ou pas de relecture la led reste dans l’état que tu lui a donné
le coup des diodes ca ne marche pas trop, ca empêche le 8266 de booter de temps en temps, surement un gpio pas utilisé à bon escient. par exemple le GPIO02 ou j’avais mis le rouge.
surtout que j’ai rajouté un écran sur l’I²C pour l’affichage, c’est top. (un SSD1306 128x64 de 0.91")
je reviens sur mes LEDS et j’ai opté sur une config plus simple au niveau câblage mais bien plus complexe au niveau programmation…
ci dessous ma config, avec une Led adressable. (en gros une LED transparente normale mais qui se comporte comme un ruban LED WS2812) mais qui a l’avantage de ne nécessiter qu’un trou et qu’un GPIO
coté serveur web, j’arrive à allumer la LED et lui donner les 3 couleurs.
coté paramétrage, je n’arrive pas à le faire fonctionner avec un template, le light.addressable_set Action a l’air d’une piste intéressante, mais je suis comme une poule qui aurait trouvé un couteau…
ca marcherait avec un on_value_range ?