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