-
Notifications
You must be signed in to change notification settings - Fork 1
/
attchd_garage_sensor.yaml
137 lines (122 loc) · 3.55 KB
/
attchd_garage_sensor.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
131
132
133
134
135
136
137
esphome:
name: attchd_garage_sensor
platform: ESP8266
board: nodemcuv2
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_pwd
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Attached Garage Sensor"
password: !secret ap_pwd
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
mqtt:
broker: !secret broker_ip
username: !secret mqtt_user
password: !secret mqtt_pwd
binary_sensor:
- platform: status
name: "Attached Garage Sensor Status"
- platform: homeassistant
entity_id: binary_sensor.attached_garage_door
id: attachedgaragedoor
- platform: template
name: "Piper's Car"
device_class: presence
lambda: |-
if ((id(pipers_car_sensor).state < 1.2)){
// vehicle is in the garage
return true;
} else {
// no vehicle
return false;
}
sensor:
- platform: wifi_signal
name: "Attached Garage Sensor WiFi Signal"
update_interval: 60s
- platform: dht
pin: D7
temperature:
name: "Attached Garage Sensor Temperature"
humidity:
name: "Attached Garage Sensor Humidity"
update_interval: 60s
model: DHT22
- platform: ultrasonic
trigger_pin: D1
echo_pin: D2
update_interval: 0.5s
name: "Attached Garage Car Sensor"
id: pipers_car_sensor
timeout: 4m
on_value:
then:
- if:
condition:
binary_sensor.is_on: attachedgaragedoor
then:
- lambda: |-
if ((id(pipers_car_sensor).state >= 2.00)) {
auto call = id(parkingled).turn_off();
call.perform();
}
else if ((id(pipers_car_sensor).state >= 1.00) & (id(pipers_car_sensor).state < 2.00)) {
auto call = id(parkingled).turn_on();
call.set_rgb(0,1.0,0);
call.perform();
}
else if ((id(pipers_car_sensor).state >= 0.28) & (id(pipers_car_sensor).state < 1.00)) {
auto call = id(parkingled).turn_on();
call.set_rgb(1.0,0.75,0);
call.perform();
}
else if ((id(pipers_car_sensor).state >= 0.18) & (id(pipers_car_sensor).state < 0.28)) {
auto call = id(parkingled).turn_on();
call.set_rgb(0,0,1.0);
call.perform();
}
else if ((id(pipers_car_sensor).state < 0.18)) {
auto call = id(parkingled).turn_on();
call.set_rgb(1.0,0,0);
call.perform();
}
else {
auto call = id(parkingled).turn_off();
call.perform();
}
- if:
condition:
binary_sensor.is_off: attachedgaragedoor
then:
- lambda: |-
auto call = id(parkingled).turn_off();
call.perform();
light:
- platform: fastled_clockless
chipset: WS2812B
pin: GPIO12
num_leds: 21
rgb_order: GRB
name: "Attached Garage Parking LED"
restore_mode: ALWAYS_OFF
default_transition_length: 0s
id: parkingled
effects:
- strobe:
- strobe:
name: Red Strobe
colors:
- state: True
brightness: 100%
red: 100%
green: 0%
blue: 0%
duration: 100ms
- state: False
duration: 100ms