Bonjour,
Mon problème
Je cherche à allumer la led interne de mon esp8266 selon l’état d’un binary sensor (binary_sensor.retour) présent dans home assistant.
ci dessous une partie du code transféré dans mon esp8266 avec ESPHOME:
# Configuration de la LED
output:
- platform: gpio
pin: GPIO02
id: internal_led
inverted: True
light:
- platform: binary
name: "LED ESP8266"
output: internal_led
id: light_led
binary_sensor:
- platform: homeassistant
entity_id: binary_sensor.retour
name: "Retour"
on_press:
then:
- if:
condition:
and:
- light.is_on: light_led
then:
- light.turn_off: light_led
else:
- light.turn_on: light_led
Toutefois, la LED ne s’allume pas…
Ma configuration
System Information
version
core-2025.1.1
installation_type
Home Assistant Supervised
dev
false
hassio
true
docker
true
user
root
virtualenv
false
python_version
3.13.1
os_name
Linux
os_version
6.1.0-12-amd64
arch
x86_64
timezone
Europe/Paris
config_dir
/config
Home Assistant Community Store
GitHub API
ok
GitHub Content
ok
GitHub Web
ok
HACS Data
ok
GitHub API Calls Remaining
5000
Installed Version
2.0.2
Stage
running
Available Repositories
1497
Downloaded Repositories
1
Home Assistant Cloud
logged_in
false
can_reach_cert_server
ok
can_reach_cloud_auth
ok
can_reach_cloud
ok
Home Assistant Supervisor
host_os
Debian GNU/Linux 12 (bookworm)
update_channel
stable
supervisor_version
supervisor-2024.12.3
agent_version
1.4.1
docker_version
24.0.6
disk_total
77.2 GB
disk_used
18.2 GB
healthy
true
supported
true
host_connectivity
true
supervisor_connectivity
true
ntp_synchronized
true
virtualization
vmware
supervisor_api
ok
version_api
ok
installed_addons
ESPHome Device Builder (2024.12.2), Advanced SSH & Web Terminal (20.0.0), File editor (5.8.0), Grafana (10.2.2), InfluxDB (5.0.1), Mosquitto broker (6.4.1), Samba share (12.3.2), MQTT Explorer (browser-1.0.3), SQLite Web (4.3.0)
Dashboards
dashboards
2
resources
5
views
8
mode
storage
Recorder
oldest_recorder_run
31 décembre 2024 à 06:25
current_recorder_run
9 janvier 2025 à 09:23
estimated_db_size
36.45 MiB
database_engine
sqlite
database_version
3.47.1
___
Cloom
Janvier 9, 2025, 4:02
2
Gemeni me dit:
binary_sensor:
- platform: homeassistant
entity_id: binary_sensor.retour
name: "Retour"
on_message:
then:
- if:
condition:
template: "{{ is_state('light.light_led', 'on') }}"
then:
- light.turn_off: light_led
else:
- light.turn_on: light_led
Je pense qu’il a inversé le tun_off et le turn_on et je suis pas sûr que ça fonctionne mais ça coute pas grand chose d’essayer
J’ai mon ESPHome qui tourne sur autre chose, j’ai une entité pour switcher mon eink entre noir sur blanc et blanc sur noir, je pourrai regarder plus tard.
Bob
Janvier 9, 2025, 7:09
3
Bonsoir,
J’ai un cas fonctionnel un peu similaire si ça peut aider, sur un ESP 32 qui a un capteur de température AHT10:
switch:
- platform: gpio
name: "LedBleu2"
id: ledbleu2
pin: 2
- platform: gpio
name: "LEDIO5"
pin: 5
id: ledio5
interval:
- interval: 10s
then:
if:
condition:
wifi.connected:
then:
- switch.turn_on: ledio5
else:
- switch.turn_off: ledio5
sensor:
- platform: aht10
temperature:
name: "PSalon Temperature"
accuracy_decimals: 1
on_value_range:
- above: 20
then:
- switch.turn_on: ledbleu2
- below: 18
then:
- switch.turn_off: ledbleu2
Bob
Merci, BOB
Dans ton cas l’information n’est pas récupérée de HA , non ?, elle est déjà présente dans ton esp32 , c’est bien cela ?
@+
Bob
Janvier 9, 2025, 8:18
5
En effet, sinon il faut l’importer.
Et tu utilises l’id.
Désolé, sur tablette je ne peux sélectionner le code.
Bob
je me réponds tout seul …
# Capteur Home Assistant pour surveiller l'état de l'entité
binary_sensor:
- platform: homeassistant
id: etat_scie
entity_id: binary_sensor.esp_scieth_etat_scie_th
name: "Etat de la Scie"
# Sortie PWM pour contrôler la LED
output:
- platform: esp8266_pwm
pin: GPIO02
id: pwm_led_output
# Configuration de la lumière
light:
- platform: monochromatic
name: "LED ESP8266"
output: pwm_led_output
id: gpio_output
# Interrupteur basé sur l'état du capteur Home Assistant
switch:
- platform: template
name: "Contrôle par Scie"
lambda: |-
if (id(etat_scie).state) { // 'true' pour on, 'false' pour off
id(gpio_output).turn_on();
return true;
} else {
id(gpio_output).turn_off();
return false;
}
turn_on_action:
- logger.log: "Activation manuelle via Home Assistant"
- light.turn_on:
id: gpio_output
brightness: 5% # Luminosité à 5%
turn_off_action:
- logger.log: "Désactivation manuelle via Home Assistant"
- light.turn_off:
id: gpio_output