Bonjour
Suite a un souci avec un shelly uni, j’ai modifié mon installation pour fonctionner avec un ESP32.
sur le shelly j’utilisai ce code sur une custom card :
type: custom:button-card
entity: binary_sensor.esp1_debit_rejet_adoucisseur
aspect_ratio: 5/2
show_state: false
show_last_changed: true
styles:
card:
- background-color: white
- border-radius: 10%
- filter: opacity(100%)
- padding: 2px
- text-transform: null
- font-size: 12px
state:
- value: 'on'
icon: |
[[[
if (states['binary_sensor.switch_cycle_input'].state == 'off')
return 'mdi:water-alert'; if (states['timer.adoucisseur_minuteur_cycle'].state == 'idle')
return 'mdi:water-alert'; return 'mdi:water'
]]]
name: |
[[[
if (states['binary_sensor.switch_cycle_input'].state == 'off')
return 'Fuite Adoucisseur'; if (states['timer.adoucisseur_minuteur_cycle'].state == 'idle')
return 'Fuite Adoucisseur '; return 'Regeneration'
]]]
styles:
card:
- background-color: white
- border: |
[[[
if (states['binary_sensor.switch_cycle_input'].state == 'off')
return '2px solid var(--google-red)'; if (states['timer.adoucisseur_minuteur_cycle'].state == 'idle')
return '2px solid var(--google-red)'; return '2px solid var(--google-green)'
]]]
- color: red
icon:
- color: |
[[[
if (states['binary_sensor.switch_cycle_input'].state == 'off')
return 'red'; if (states['timer.adoucisseur_minuteur_cycle'].state == 'idle')
return 'red'; return 'green'
]]]
name:
- color: black
- value: 'off'
icon: mdi:water-check
name: Pas de Fuite
styles:
card:
- background-color: white
- border: 2px solid var(--google-blue)
- color: grey
icon:
- color: blue
name:
- color: black
Pour ESP , J’ai donc réutilisé cette carte en remplaçant les binary_sensor du shelly par ceux de ESP
type: custom:button-card
entity: binary_sensor.esp1_debit_rejet_adoucisseur
aspect_ratio: 5/2
show_state: false
show_last_changed: true
styles:
card:
- background-color: white
- border-radius: 10%
- filter: opacity(100%)
- padding: 2px
- text-transform: null
- font-size: 12px
state:
- value: 'on'
icon: |
[[[
if (states['binary_sensor.esp1_cycle_adoucisseur'].state == 'off')
return 'mdi:water-alert'; if (states['timer.adoucisseur_minuteur_cycle'].state == 'idle')
return 'mdi:water-alert'; return 'mdi:water'
]]]
name: |
[[[
if (states['binary_sensor.esp1_cycle_adoucisseur'].state == 'off')
return 'Fuite Adoucisseur'; if (states['timer.adoucisseur_minuteur_cycle'].state == 'idle')
return 'Fuite Adoucisseur '; return 'Regeneration'
]]]
styles:
card:
- background-color: white
- border: |
[[[
if (states['binary_sensor.esp1_cycle_adoucisseur].state == 'off')
return '2px solid var(--google-red)'; if (states['timer.adoucisseur_minuteur_cycle'].state == 'idle')
return '2px solid var(--google-red)'; return '2px solid var(--google-green)'
]]]
- color: red
icon:
- color: |
[[[
if (states['binary_sensor.esp1_cycle_adoucisseur'].state == 'off')
return 'red'; if (states['timer.adoucisseur_minuteur_cycle'].state == 'idle')
return 'red'; return 'green'
]]]
name:
- color: black
- value: 'off'
icon: mdi:water-check
name: Pas de Fuite
styles:
card:
- background-color: white
- border: 2px solid var(--google-blue)
- color: grey
icon:
- color: blue
name:
- color: black
Le souci c’est que j’ai ce message d’erreur :
la seul différence est le remplacement de binary_sensor.switch_cycle_input
par binary_sensor.esp1_cycle_adoucisseur
Je ne trouve pas le problème, faut il faire une modification dans le code de ESP, ou le problème est ailleurs.
code ESP :
Résumé
- platform: gpio
name: "ESP1_cycle_adoucisseur"
pin:
number: GPIO14
mode: INPUT_PULLUP
inverted: True
# on_press:
# then:
# - switch.turn_on: esp1_cycle_led_bleu
# on_release:
# then:
# - switch.turn_off: esp1_cycle_led_bleu
# Définition du bouton physique fuite rejet
- platform: gpio
name: "ESP1_debit_rejet_adoucisseur"
pin:
number: GPIO13
mode: INPUT_PULLUP
inverted: True
# on_press:
# then:
# - switch.turn_on: esp1_fuite_led_rouge
# on_release:
# then:
# - switch.turn_off: esp1_fuite_led_rouge
Merci de votre aide