Files
esphome/blinds.yaml
T

128 lines
2.9 KiB
YAML

esphome:
name: blinds
friendly_name: "Blinds"
area: "Entryway"
project:
name: dasfoo.blinds
version: "4.0"
esp32:
framework:
type: esp-idf
packages:
device_base: !include templates/esp32-poe.yaml
# Also act as a BT proxy due to convenient location.
btproxy: !include templates/btproxy.yaml
# Allow HA to use our proxy.
api: !include templates/api.yaml
external_components:
# Path is relative to the main YAML file, not this device_base template!
- source: components
spi:
clk_pin: 14
miso_pin: 16
mosi_pin: 15
cc1101:
id: transceiver
cs_pin: 13
tuner:
frequency: 433340
remote_transmitter:
pin: 4
carrier_duty_percent: 100%
id: somfy_remote_transmitter
on_transmit:
then:
- cc1101.begin_tx: transceiver
on_complete:
then:
- cc1101.end_tx: transceiver
cover:
- name: "Office window"
remote_id_offset: 0
<<: &somfy_cover
platform: somfy
transmitter: somfy_remote_transmitter
# Can be retrieved from MQTT server. Take the key with lowest integer value
# from /$board/rolling_code/ path.
remote_id_base: !secret somfy_remote_id_base
- name: "Bedroom"
remote_id_offset: 1
<<: *somfy_cover
- name: "Living Room side"
remote_id_offset: 2
# Timing: open 45s, close 44s
<<: *somfy_cover
- name: "Wardrobe"
remote_id_offset: 3
<<: *somfy_cover
- name: "Child West door"
remote_id_offset: 4
<<: *somfy_cover
- name: "Child West window"
remote_id_offset: 5
<<: *somfy_cover
- name: "Hallway Stairs window"
remote_id_offset: 6
<<: *somfy_cover
- name: "Kitchen window"
remote_id_offset: 7
<<: *somfy_cover
- name: "Kitchen door"
remote_id_offset: 8
<<: *somfy_cover
- name: "Living Room door"
remote_id_offset: 9
# Timing: open 46s, close 45s
<<: *somfy_cover
- name: "Living Room window"
remote_id_offset: 10
<<: *somfy_cover
- name: "Child East window"
remote_id_offset: 11
<<: *somfy_cover
- name: "Child East door"
remote_id_offset: 12
<<: *somfy_cover
- platform: template
name: "Wintergarten"
device_class: awning
optimistic: true
assumed_state: true # always show both buttons
stop_action:
- switch.turn_off: wintergarten_deploy
- switch.turn_off: wintergarten_retract
open_action:
- switch.turn_off: wintergarten_deploy
- switch.turn_on: wintergarten_retract
- delay: 35s
- switch.turn_off: wintergarten_retract # TODO: check last action
close_action:
- switch.turn_off: wintergarten_retract
- switch.turn_on: wintergarten_deploy
- delay: 35s
- switch.turn_off: wintergarten_deploy # TODO: check last action
switch:
- platform: gpio
pin: GPIO32
id: wintergarten_deploy
restore_mode: ALWAYS_OFF
inverted: true
- platform: gpio
pin: GPIO33
id: wintergarten_retract
restore_mode: ALWAYS_OFF
inverted: true