Relais sonoff 2 voies ac85-250v

Mon problème

Bonjour à tous,

J’ai besoin d’expert yam :smirk: je m’explique.
J’ai acheté un relais 2 voies sonoff ac85-250v
Grace à cette photo trouvé sur un forum ici

J’ai trouvé comment le passer sur Esphome, maintenant le soucis (mais je debute dans ce langage) c’est de piloter les 2 relais.
j’arrive à en piloter un mais je ne sais pas intégrer le second visiblement ma syntaxe n’est pas la bonne. Pouvez vous m’aider?

esphome:
  name: relais_2_voies
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "XXXXXXXXXXXXXXXXX"
  password: "XXXXXXXXXXX1"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Relais 2 Voies Fallback Hotspot"
    password: "xxxxxxxxxxxxxxxxx"

captive_portal:

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  safe_mode: True

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    name: "buton_relai1_portail"
    on_press:
      - switch.toggle: relay
###### la ca va  c'est dessous que ca se gate ############
      pin:
      number: GPIO9
      mode: INPUT_PULLUP
      inverted: True
    name: "buton_chauffe_eau"
    on_press:
      - switch.toggle: relay2
    

switch:
  - platform: gpio
    name: "relais portail"
    pin: GPIO5
    id: relay
######### la meme punition #################
    name: "relais chauffe-eau"
    pin: GPI012
    id: relay2
    

status_led:
  pin:
    number: GPIO13
    inverted: yes
    
sensor:
  platform: dht
  pin: GPIO14
  temperature:
    name: "Temperature du Garage"
    id: Temperature
  humidity:
    name: "Humidite du Garage"
  update_interval: 60s
  model: DHT22

version core-2021.2.3
installation_type Home Assistant OS
dev false
hassio true
docker true
virtualenv false
python_version 3.8.7
os_name Linux
os_version 5.4.94
arch x86_64
timezone Europe/Paris
Home Assistant Community Store
GitHub API ok
Github API Calls Remaining 4942
Installed Version 1.10.1
Stage running
Available Repositories 749
Installed Repositories 4
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud pending
Hass.io
host_os Home Assistant OS 5.11
update_channel stable
supervisor_version supervisor-2021.02.11
docker_version 19.03.13
disk_total 30.8 GB
disk_used 8.5 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.0.1), Samba share (9.3.0), Check Home Assistant configuration (3.6.0), File editor (5.2.0), ESPHome (1.16.0), Home Panel (2.1.0), Mosquitto broker (5.1), Node-RED (8.1.2)

Alors j’y connais rien du tout en esphome, jamais touché …
Mais je pense qu’aux 2 endroits où tu as tes lignes de commentaires il faut que tu mettes la ligne

- platform: gpio

Comme pour les premières gpio

Sinon effectivement ça prendra en compte qu’une entrée et qu’une sortie.

Et attention pour l’entrée, tu as pin qui est décalé trop à droite, il te faut respecter la même indentation.

bonjour

  • Nota/disclaimer : suis ni un expert en Yaml (et de loin !) ni ESPHome (encore plus) mais en ramant, j’ai fini par tomber sur des trucs qui ont l’air de marcher…
    ci dessous un exemple en bas de page (qui fonctionne chez moi) pour une esp32-cam avec plusieurs sensors, tu pourra déja regarder un peu la syntaxe pour plusieurs exemples (switch, light, …) et quelques un de mes paramaétrages de base (static IP, publication de signal et uptime, reboot, …°) que je trouve utile sur un node esphome

  • premiere remarque : je conseille d’activer le webserver sur le port 80 (si ton esp8266 a assez de ram !), tu pourra comme ça te brancher directement sur l’ESP par son IP et débugger chaque couche a la fois (verifier qu’il integre bien tout avant de voir comment le piloter par HA)

  • deuxieme remarque : a vérifier mais je pense que pour les sorties pourraient être comme ci dessous… (a bien configurer tes num de pins, je vous pas pourquoi ça marcherais pas)…ou alors, j’ai rien compris…: :slight_smile: :sweat_smile:

output:
  - platform: gpio
    pin: 25
    id: 'generic_out1'
  - platform: gpio
    pin: 26
    id: 'generic_out2'
switch:
  - platform: output
    name: "Generic Output1"
    output: 'generic_out1'
  - platform: output
    name: "Generic Output2"
    output: 'generic_out2'

exemple de ma config esp32-cap ci dessous
(par contre, me demande pas exactement comment chaque truc marche, j’ai quand même pompé la base puis adapté pour mon besoin, quelquefois sans trop piger - mais bon c’est le DIY en autodidacte en piochant sur les sources google diverses et variées :slight_smile: )

esphome:
  name: esp32_cam2
  platform: ESP32
  board: esp32cam

substitutions:
# Modify variables based on your settings
  hostname: 'esp32cam2'
  hostip: '192.168.1.142'

wifi:
  ssid: "toto"
  password: "titi"

 # manual IP
  manual_ip:
    static_ip: $hostip
    gateway: 192.168.1.1
    subnet: 255.255.255.0

captive_portal:

web_server:
  port: 80

text_sensor:
  - platform: version
    name: "ESPHome Version"
    hide_timestamp: True

switch:
  - platform: restart
    name: "esp32cam2 Restart"

binary_sensor:
  - platform: status
    name: "esp32cam2 Status"

sensor:
  - platform: wifi_signal
    name: "esp32cam2 WiFi"
    update_interval: 60s
  - platform: uptime
    name: Uptime Sensor

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:

esp32_camera:
  external_clock:
    pin: GPIO0
    frequency: 20MHz
  i2c_pins:
    sda: GPIO26
    scl: GPIO27
  data_pins: [GPIO5, GPIO18, GPIO19, GPIO21, GPIO36, GPIO39, GPIO34, GPIO35]
  vsync_pin: GPIO25
  href_pin: GPIO23
  pixel_clock_pin: GPIO22
  power_down_pin: GPIO32
  resolution: 640x480
  max_framerate: 4 fps
  idle_framerate: 0.5 fps
  name: esp32_cam2
  
output:
#flashlight
  - platform: gpio
    pin: GPIO4
    id: gpio_4
#status light
  - platform: gpio
    pin:
      number: GPIO33
      inverted: True
    id: gpio_33
    
light:
#flashlight
  - platform: binary
    output: gpio_4
    name: esp32cam2_light
#statuslight
  - platform: binary   
    output: gpio_33
    name: esp32cam2_statusled

Bonjour, t’inquiète pas je fonctionne pareil :slight_smile:
En effet comme le disait loull j’ai remis « -platform: gpio », j’ai aussi remis en forme u peu tout ça et déja ca va mieux, j’ai pas encore ma température mais je vais trouvé.
Merci aussi a toi @YvanLeTerrible pour les quelques lignes que j’ai rajoutées grâce à ton exemple .
Notamment l’acces Web ’ c’est bien sympas, la partie « substitutions » aussi qui je suppose donne un access par nom et je vais peut-être aussi faire un plan d’adressage IP avec la rubrique "manual_ip " plutôt que de les laisser en DHCP.

et moi aussi, je progresse bien : hier : réussi de faire marcher plusieurs « trucs » sur ESPHOME

-le !include secrets (a mettre dans substitutions, sinon il marche pas)

  • une utilisatione de « on_time », ici qui fait qqchose toutes les minutes (on peut aussi faire on_loop mais c’est plus lourd pour la cpu)

  • un test if: pour checker (dans le on_time) si le wifi est connecté et commander une led (j’ai aussi trouvé comment faire des and: et des or: et des not:

  • la séparation d’un ws2812 en plusieurs segments commandés indépendamment =commander plusieurs led, RGB en plus, avec 1 seul pin a cabler !!! géant

  • une fonction filter: sur un capteur (super puissant, mais le mode hartbeat ne fait pas ce que je veux (ou alors c’est que j’ai pas compris / je me trompe sur a quoi il sert)

ci dessous le code pour info

substitutions:
  device: test_tc
  device_ip: 192.168.1.187
  <<: !include ../secrets.yaml

esphome:  
  name: n187_test_tc_k
  platform: ESP8266
  board: nodemcuv2
  
  on_boot:
    - priority: 600.0 # after sensor setup, before WIFI initialization 
      then:
        - light.turn_on:
            id: n187_ws2812
            brightness: 25%
            red: 100%
            green: 0%
            blue: 0%    
    - priority: -1000.0 #after allinitialized #initialiser led avec une couleur de statut pré définie
      then:
        if:
          condition:
            wifi.connected:
          then:
            - light.turn_on:
                id: n187_ws2812
                brightness: 15%
                red: 0%
                green: 50%
                blue: 0%
            - light.turn_on:
                id: pixel_1
                brightness: 15%
                red: 0%
                green: 50%
                blue: 0%    
            - light.turn_on:
                id: pixel_2
                brightness: 15%
                red: 0%
                green: 0%
                blue: 50%    
                
######################   WIFI 
wifi:
  ssid: ${wifi_ssid}
  password: ${wifi_password}
  manual_ip:
    static_ip: ${device_ip}
    gateway: 192.168.1.1
    subnet: 255.255.255.0
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "recovery"
    password: "a1b2c3d4"

captive_portal:

web_server:
  port: 80
# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
######################   Initialisations
time:
  - platform: homeassistant
    id: ha_time
    on_time:
      - seconds: 0
        minutes: '*'
        then:
          - light.toggle:
              id: pixel_1
          - if:
              condition:
                wifi.connected:
              then:
                - light.turn_on:
                    id: pixel_2
                    brightness: 25%
                    red: 0%
                    green: 50%
                    blue: 0%
              else:
                - light.turn_on:
                    id: pixel_2
                    brightness: 25%
                    red: 100%
                    green: 0%
                    blue: 0%    

########################### Déclaration protocoles DALLAS  + SPI
dallas:
  - pin: D5 #GPIO14 - Sensor IOT
    update_interval: 20s
  
spi: #######################  SPI   : RGB Header   :   +V   - CLK=C0  - CS=D1   - SO=D2  - GND
  miso_pin: D2 
  clk_pin: D0 

##### declaration DS18B20 1 et 2  +    TC Max 6675         +      Analog A0     +     Pixel WS2812  D4
switch:
  - platform: restart
    name: "n187_Restart"
    
light:
  - platform: fastled_clockless
    chipset: WS2811
    pin: D4
    num_leds: 10
    rgb_order: GRB
    name: "n187_ws2812"
    id: "n187_ws2812"
    internal: true
    
  - platform: partition
    name: "pixel_1"
    id: "pixel_1"
    segments:
      - id: n187_ws2812
        from: 0
        to: 3
  - platform: partition
    name: "pixel_2"
    id: "pixel_2"
    segments:
      - id: n187_ws2812
        from: 4
        to: 10


binary_sensor:
  - platform: status
    name: "n187_Status"
    
sensor:
  - platform: wifi_signal
    name: "n187_WiFi"
    update_interval: 60s
  - platform: uptime
    name: "n187_Uptime"
    
  - platform: dallas
    index: 0 #address: 0x0D8000001F97B428  #index: 0
    name: "n187_temp_ds18b20"
    id: "n187_temp_ds18b20"
    
  - platform: max6675
    name: "n187_temp_Tc_K"
    id: "n187_temp_tc_k"
    cs_pin: D1
    update_interval: 20s
    
  - platform: adc
    pin: A0
    name: "n187_ADC_A0_mainmeter"
    id: "n175_a0"
    update_interval: 20s
    filters:
      - heartbeat: 60s

Whaou ! Je comprend pas tout :slight_smile: à ce que tu veux faire ,mais ca donne une idée de la puissance du truc.

bonjour
oui,ça fait un peu de code pour un simple node « esphome » qui remonte des capteurs,
mais on peut s’y retrouver :
a la base, sur un nodemcu (mais un wimos D1 fait tout autant l’affaire) :
1 sensor Dallas ds18B20
1 thermocouple K (Max665) sur l’interface SPI
1 remontée du capteur analogique A0
1 morceau de ruban WS2812 pour avoir quelques LED adressables individuellement (commandées sur 1 seul pin mais en déclarant plusieurs segments exemples « pixel »)
les déclaration du wifi et son monitoring régulier et indication sur 1 pixel

Franchement, esphome est super puissant, j’utilisais Tasmota, mais je migre progressivement
idéalement j’essaye d’intégrer le maximum d’automomie dans le bin esphome avec les automatisations quand ça peut être local