-
Notifications
You must be signed in to change notification settings - Fork 1
/
lambda.yaml
128 lines (113 loc) · 3.12 KB
/
lambda.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
esphome:
name: attchd_garage_sensor
platform: ESP8266
board: nodemcuv2
wifi:
ssid: "ssid"
password: "pwd"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Attached Garage Sensor"
password: "RzAj5HbkTLZJ"
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
mqtt:
broker: x.x.x.x
username: uid
password: pwd
binary_sensor:
- platform: status
name: "Attached Garage Sensor Status"
- platform: template
name: "someone's Car"
device_class: presence
lambda: |-
if ((id(car_sensor).state < 1.1)){
// vehichle is in the garage
return true;
} else {
// no vehicle
return false;
}
text_sensor:
- platform: homeassistant
entity_id: cover.attached_garage
id: status_attached_garage
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: 1s
name: "Attached Garage Car Sensor"
id: car_sensor
filters:
filter_out: nan
timeout: 4.0m
on_value:
then:
- if:
condition:
lambda: 'return id(status_attached_garage).state == "open";'
then:
- lambda: |-
if ((id(car_sensor).state >= 1.0)) {
id(parkingled).turn_off();
}
else if ((id(car_sensor).state >= 0.7) & (id(car_sensor).state < 1.0)) {
auto call = id(parkingled).turn_on();
call.set_rgb(0,1.0,0);
call.perform();
}
else if ((id(car_sensor).state >= 0.5) & (id(car_sensor).state < 0.7)) {
auto call = id(parkingled).turn_on();
call.set_rgb(1.0,0.75,0);
call.perform();
}
else if ((id(car_sensor).state >= 0.3) & (id(car_sensor).state < 0.5)) {
auto call = id(parkingled).turn_on();
call.set_rgb(0,0,1.0);
call.perform();
}
else if ((id(car_sensor).state < 0.1)) {
auto call = id(parkingled).turn_on();
call.set_rgb(1.0,0,0);
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