forked from athom-tech/athom-configs
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathathom-garage-door.yaml
130 lines (110 loc) · 2.56 KB
/
athom-garage-door.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
substitutions:
name: "athom-garage-door"
friendly_name: "Athom Garage Door"
project_name: "athom.garage-door"
project_version: "1.2"
esphome:
name: "${name}"
name_add_mac_suffix: true
project:
name: "${project_name}"
version: "${project_version}"
esp8266:
board: esp8285
api:
ota:
logger:
web_server:
port: 80
wifi:
ap: {} # This spawns an AP with the device name and mac address with no password.
captive_portal:
dashboard_import:
package_import_url: github://athom-tech/athom-configs/athom-garage-door.yaml
sensor:
- platform: uptime
name: "${friendly_name} Uptime"
disabled_by_default: true
- platform: wifi_signal
name: "${friendly_name} WiFi Signal"
update_interval: 60s
binary_sensor:
- platform: status
name: "${friendly_name} Status"
- platform: gpio
name: "${friendly_name} Contact"
disabled_by_default: true
device_class: garage_door
id: contact
pin:
number: GPIO4
inverted: true
filters:
- delayed_on: 20ms
- platform: gpio
pin:
number: GPIO14
mode: INPUT_PULLUP
inverted: true
name: "${friendly_name} Button"
disabled_by_default: true
on_multi_click:
- timing:
- ON for at most 1s
- OFF for at least 0.2s
then:
- switch.turn_on: relay
- timing:
- ON for at least 4s
then:
- button.press: Reset
button:
- platform: factory_reset
name: Restart with Factory Default Settings
id: Reset
switch:
- platform: gpio
pin: GPIO5
name: "${friendly_name} Relay"
id: relay
disabled_by_default: true
on_turn_on:
- light.turn_on: wifi_led
- delay: 1s
- switch.turn_off: relay
- light.turn_off: wifi_led
light:
- platform: status_led
name: "${friendly_name} Status LED"
id: wifi_led
disabled_by_default: true
pin: GPIO12
cover:
- platform: template
device_class: garage
name: "${friendly_name}"
lambda: "return id(contact).state ? COVER_OPEN : COVER_CLOSED;"
open_action:
then:
- if:
condition:
lambda: 'return !id(contact).state;'
then:
- switch.turn_on: relay
stop_action:
- switch.turn_on: relay
close_action:
then:
- if:
condition:
lambda: 'return id(contact).state;'
then:
- switch.turn_on: relay
text_sensor:
- platform: wifi_info
ip_address:
name: "${friendly_name} IP Address"
disabled_by_default: true
time:
- platform: sntp
id: my_time