-
Notifications
You must be signed in to change notification settings - Fork 1
/
Chris_parking_sensor_beta_1.0
126 lines (112 loc) · 3.13 KB
/
Chris_parking_sensor_beta_1.0
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
esphome:
name: vehicle_sensor_2
platform: ESP8266
board: nodemcuv2
wifi:
ssid: "xxxxxxxxxxx"
password: "xxxxxxxxxx"
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "Vehicle Sensor 2"
password: "x74ZsoR3JQYL"
captive_portal:
# Enable logging
logger:
# Enable Home Assistant API
api:
ota:
mqtt:
broker: xxx.xxx.xxx.xxx
username: DVES_USER
password: DVES_PWD
binary_sensor:
- platform: status
name: "Car Sensor 2 Status"
- platform: homeassistant
entity_id: binary_sensor.chris_garage_door_sensor_contact
id: doorsensor2
- platform: template
name: "Chris Vehicle"
device_class: presence
lambda: |-
if ((id(car_sensor2).state < 1.2)){
// vehichle is in the garage
return true;
} else {
//no vehicle
return false;
}
sensor:
- platform: ultrasonic
id: car_sensor2
trigger_pin: D4
echo_pin: D3
update_interval: 0.5s
timeout: 4.0m
name: "Car Sensor 2"
filters:
filter_out: nan
on_value:
then:
- if:
condition:
binary_sensor.is_on: doorsensor2
then:
- lambda: |-
if ((id(car_sensor2).state >= 2.00)) {
id(parkingled2).turn_off();
}
else if ((id(car_sensor2).state >= 1.00) & (id(car_sensor2).state < 2.00)) {
auto call = id(parkingled2).turn_on();
call.set_rgb(0,1.0,0);
call.perform();
}
else if ((id(car_sensor2).state >= 0.28) & (id(car_sensor2).state < 1.00)) {
auto call = id(parkingled2).turn_on();
call.set_rgb(1.0,0.75,0);
call.perform();
}
else if ((id(car_sensor2).state >= 0.18) & (id(car_sensor2).state < 0.28)) {
auto call = id(parkingled2).turn_on();
call.set_rgb(0,0,1.0);
call.perform();
}
else if ((id(car_sensor2).state < 0.18)) {
auto call = id(parkingled2).turn_on();
call.set_rgb(1.0,0,0);
call.perform();
}
else {
id(parkingled2).turn_off();
}
- if:
condition:
binary_sensor.is_off: doorsensor2
then:
- lambda: |-
id(parkingled2).turn_off();
- platform: wifi_signal
name: "Garage Vehicle Sensor 2 WiFi"
update_interval: 60s
light:
- platform: fastled_clockless
chipset: WS2812B
pin: GPIO12
num_leds: 5
rgb_order: GRB
name: "Car Sensor 2 LED"
restore_mode: ALWAYS OFF
default_transition_length: 0s
id: parkingled2
effects:
- strobe:
name: Red Strobe
colors:
- state: True
brightness: 100%
red: 100%
green: 0%
blue: 0%
duration: 100ms
- state: False
duration: 100ms