128 lines
2.9 KiB
YAML
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
|