Files
esphome-configs/mcu-basement.yaml

150 lines
3.3 KiB
YAML

substitutions:
device: basement
name: Basement
comment: "Basement: Sockets"
esphome:
name: mcu-${device}
comment: ${comment}
platform: ESP8266
board: esp01_1m
packages:
common: !include common/common_esp8266.yaml
# Sonoff Dual R2
# Pin Function
# GPIO10 Push Button
# GPIO00 Pin "button 0" on expansion header
# GPIO09 Pin "button 1" on expansion header
# GPIO12 Relay #1 and red color on LED
# GPIO05 Relay #2 and green color on LED
# GPIO13 Blue Status LED
globals:
- id: blower_auto
type: bool
restore_value: true
initial_value: "true"
binary_sensor:
- platform: gpio
pin:
number: 0
mode: INPUT_PULLUP
inverted: True
name: ${name} Light Switch
device_class: light
on_click:
- min_length: 50ms
max_length: 350ms
then:
- homeassistant.service:
service: light.toggle
data:
entity_id: light.basement_light
- min_length: 351ms
max_length: 1000ms
then:
- homeassistant.service:
service: light.toggle
data:
entity_id: light.exercise_room
- min_length: 1001ms
max_length: 10000ms
then:
# - homeassistant.service:
# service: light.turn_off
# data:
# entity_id: light.basement_light
- homeassistant.service:
service: light.turn_off
data:
entity_id: light.exercise_room
- homeassistant.service:
service: light.turn_off
data:
entity_id: light.exercise_room_fan
- platform: gpio
pin:
number: 10
mode: INPUT_PULLUP
inverted: true
name: ${name} Socket 1 Switch
on_press:
- switch.toggle: relay_2
- platform: gpio
pin:
number: 9
mode: INPUT_PULLUP
inverted: true
name: ${name} Door
device_class: door
filters:
invert:
on_press:
- homeassistant.service:
service: light.turn_on
data:
entity_id: light.basement_light
select:
- platform: template
name: "Sewage Treatment Blower"
icon: mdi:hair-dryer-outline
optimistic: true
options:
- "ON"
- "AUTO"
- "OFF"
initial_option: "AUTO"
restore_value: true
on_value:
then:
- lambda: |-
switch (i) {
case 0: {
id(blower_auto) = false;
id(relay_1).turn_on();
} break;
case 1: {
id(blower_auto) = true;
} break;
case 2:
id(blower_auto) = false;
id(relay_1).turn_off();
}
status_led:
pin:
number: 13
inverted: yes
switch:
- platform: gpio
name: "Sewage Treatment Blower"
icon: mdi:hair-dryer-outline
pin: 12
id: relay_1
restore_mode: ALWAYS_ON
- platform: gpio
name: ${name} Socket 1
icon: mdi:power-socket-fr
pin: 5
id: relay_2
time:
- platform: homeassistant
timezone: Europe/Bratislava
on_time:
- seconds: 0
minutes: /15
then:
- if:
condition:
lambda: 'return id(blower_auto);'
then:
- switch.turn_on: relay_1
- delay: 12min
- switch.turn_off: relay_1