Sonoff T0 2CH als Jalousien-Motor Steuerung mit ESPHome

SONOFF NSPanel
SONOFF NSPanel
64,90 €

Für alle die Jalousien in HA integrieren möchten habe ich hier einen Lösungsansatz vorbereitet.
Und zwar habe ich mich hier für die Touch-Schalter Sonoff T0 2CH Entschieden.

Sonoff T0 2CH: https://amzn.to/3uu181s

Dabei existieren zwei Probleme:

  1. Man muss sicherstellen, dass immer nur einer der beiden Kanäle aktiv ist, da der Motor ansonsten für beide Drehrichtungen Strom bekommen könnte.
  2. Die Taster sollten nach einer festgelegten Zeit automatisch den Strom für den aktivierten Kanal wieder abschalten. (wenn die Jalousie vollständig rauf/runter gefahren ist)

ESPHome Programm

Damit man hier nicht im Home Assistant unnötig viele Automatisierungen anlegen muss, die eventuell bei Netzwerkausfall sogar versagen könnten, was zum defekt der Motoren führen kann, habe ich mich hier für offline Automatisierungen auf ESPHome Basis entschieden.
Dadurch funktionieren die oben genannten Regeln sowohl bei Bedienung über den Taster, als auch über Home Assistant automatisch.

Das einzige was ihr neben eurem WiFi Zugang und den Namen der Objekte im Programm anpassen müsst, sind die Zeiten für die Dauer, die eure Jalousie für das öffnen/schließen benötigt.
Stoppt dazu die Sekunden für beide Richtungen einzeln und tragt sie bei den Punkten open_duration und close_duration ein.

esphome:
  name: t0_schalter_jalousie
  platform: ESP8266
  board: esp01_1m
  
wifi:
  ssid: !secret WLanSSID
  password: !secret WLanPassword

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Sonoff T1 Ch2 Fallback Hotspot"
    password: "4DGYHKEXmwmf"

captive_portal:

logger:

api:
ota:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    id: button_1
    on_press:
      then:
        - lambda: |
            if (id(my_cover).current_operation == COVER_OPERATION_IDLE) {
              id(my_cover).open();
            } else {
              id(my_cover).stop();
            }


  - platform: gpio
    pin:
      number: GPIO9
      mode: INPUT_PULLUP
      inverted: True
    id: button_2
    on_press:
      then:
        - lambda: |
            if (id(my_cover).current_operation == COVER_OPERATION_IDLE) {
              id(my_cover).close();
            } else {
              id(my_cover).stop();
            }


  - platform: status
    name: "Jalousie Status"


switch:
  - platform: gpio
    name: "Jalousie rauf"
    pin: GPIO12
    interlock: &interlock [open_cover, close_cover]
    id: open_cover
    on_turn_on:
      - script.execute: switch_open_cover_off

  - platform: gpio
    name: "Jalousie runter"
    pin: GPIO5
    interlock: *interlock
    id: close_cover
    on_turn_on:
      - script.execute: switch_close_cover_off

cover:
  - platform: time_based
    name: "Jalousie"
    id: my_cover
    open_action:
      - switch.turn_on: open_cover
    open_duration: 22s
    close_action:
      - switch.turn_on: close_cover
    close_duration: 20s
    stop_action:
      - switch.turn_off: open_cover
      - switch.turn_off: close_cover
  

status_led:
  pin:
    number: GPIO13
    inverted: yes


script:
- id: switch_open_cover_off
  mode: restart
  then:
    - delay: 1min
    - switch.turn_off: open_cover

- id: switch_close_cover_off
  mode: restart
  then:
    - delay: 1min
    - switch.turn_off: close_cover


Jalousie in Home Assistant einbinden

Die Einbindung in Home Assistant erfolgt wie üblich für ESPHome durch das flashen. Das Gerät wird in der Regel anschließend automatisch erkannt.

Das ESPHome Sketch erzeugt ein Cover Objekt und je einen Schalter für rauf und einen für runter.
Ich würde hier die Verwendung der Cover Entität in der Oberfläche empfehlen, da ihr hier rauf, runter und stop auslösen könnt. Ebenfalls lassen sich die Jalousien so auch bei korrekt eingestellter Dauer für öffnen und schließen anhand von Prozentangaben auf eine bestimmte Position fahren.


Lovelace

Für die Oberfläche schaut euch mal die Vertical-Slider-Cover Card an. Diese bietet euch die Möglichkeit mit Hilfe eines Sliders die Jalousie steuern.

Lovelace Card Empfehlung: https://github.com/konnectedvn/lovelace-vertical-slider-cover-card


Video zum Jalousie mit ESPHome in Home Assistant einbinden

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden