Bonsoir
Afin de passer mes « vieux » volets roulants sur HA , j’ai flashé un Sonoff Dual R3 / EspHome sans problème.
j’ai testé des pads sensitifs a la place des inters existants ( TTP223) sur les SW1 et SW2 qui seront collés a l’intérieur d’un obturateur de boitier Mosaic Legrand et c’a marche plutot bien.
Maintenant je suis dans le programme pour l’ouverture/fermeture totale ou partielle …
Pour la fermeture/Ouverture totale rien de compliqué mais pour les ouvertures partielles j’ai pensé a définir une valeur d’ouverture partielle ( secondes) règlé sur un Slider dans HA .
Question: comment recuperer la valeur du Slider pour l’attribuer au délay dans le script.?
La question semblera basique pour nombre d’entre vous mais c’est le 1er programme Yaml que j’ecrit .
Globals:, Sensor:, Number:,et Button: sont un bout de code recupéré pour le slider , sans doute à épurer,
Merçi d’avance de votre aide
esphome:
name: sonoff-1
friendly_name: Sonoff 1
esp32:
board: esp32dev
framework:
type: arduino
# Enable logging
# logger:
logger:
baud_rate: 0
uart:
tx_pin: GPIO25
rx_pin: GPIO26
baud_rate: 4800
parity: NONE
stop_bits: 2
# Enable Home Assistant API
api:
encryption:
key: "Fo1a+D42EplAbP81IReFBLo92garwM2eoEzSraWnrrE="
ota:
password: "58367f749e996596e50c61a0dd726ee2"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Sonoff-1 Fallback Hotspot"
password: "muFMQF8iX7oK"
captive_portal:
output:
- platform: gpio
pin: GPIO27
id: relay1
- platform: gpio
pin: GPIO14
id: relay2
switch:
- platform: output
name: "$Sonoff Dual R3 Relay_1"
output: relay1
id: sw1
- platform: output
name: "$Sonoff Dual R3 Relay_2"
output: relay2
id: sw2
status_led:
pin:
number: GPIO13
inverted: yes
# code pour le slider et la valeur arecuperer pour Ouverture /Fermeture partielle)
globals:
# This variable stores the current mode chosen by pressing the buttons (physical or digital)
- id: totalClick
type: int
restore_value: no
initial_value: "0"
sensor:
# This sensor only displays the current mode chosen by pressing one of the buttons (digital or physical button)
- platform: template
id: buttonClickSensor
name: "esp01s01_buttonClickSensor"
update_interval: 0.5s
accuracy_decimals: 0
#unit_of_measurement: "clk"
lambda: return id(totalClick);
number:
- platform: template
name: "esp01s01_mode_slider"
id: "modeSlider"
step: 5
min_value: 0
max_value: 25
mode: slider
set_action:
then:
- lambda: id(totalClick) = x;
button:
# This is the digital button which is the equivalent of the physical button
- platform: template
name: "esp01s01_publicButton"
id: "publicButton"
# script timer)
script:
- id: my_script
then:
- switch.turn_on: sw1
- delay: 10s
- switch.turn_off: sw1
# Bouton sensitif Fleche Haut: On = Activation relais SW1 (montée du volet)
binary_sensor:
- platform: gpio
pin:
number: GPIO32
mode: INPUT_PULLUP
#inverted: True
name: "$long_devicename switch 1"
on_press:
- logger.log: "$long_devicename switch 1"
- script.execute: my_script
# Bouton sensitif Fleche Bas On = Activation relais SW2 (descente du volet)
- platform: gpio
pin:
number: GPIO33
mode: INPUT_PULLUP
#inverted: True
name: "$long_devicename switch 2"
on_press:
- logger.log: "$long_devicename switch 2"
- switch.toggle: sw2