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:
- 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.
- 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