-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathexample-bs2-with-features-alternative.yaml
More file actions
296 lines (259 loc) · 6 KB
/
example-bs2-with-features-alternative.yaml
File metadata and controls
296 lines (259 loc) · 6 KB
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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
substitutions:
device_name: sense-u-bs-linz
friendly_name: Sense-U Baby Tracker Base Station
esphome:
name: ${device_name}
on_boot:
then:
- switch.turn_off: switch_alarm
- switch.turn_off: switch_connected
esp32:
board: esp-wrover-kit
framework:
type: esp-idf
# Enable logging
logger:
level: ERROR
# Enable Home Assistant API
api:
reboot_timeout: 0s
external_components:
- source: github://andyboeh/esphome-sense-u
components: senseu
refresh: 60s
ota:
#web_server:
# local: true
# WiFi connection
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
ap:
ssid: "${device_name} HS"
password: !secret Fallback_Hotspot
ap_timeout: 1min
esp32_ble_tracker:
ble_client:
- mac_address: AA:BB:CC:DD:EE:FF #update with your Sense-U's MAC address
id: my_senseu_ble
senseu:
- ble_client_id: my_senseu_ble
id: my_senseu
# baby_code is optional. Needs to be retrieved during pairing phase.
# This allows using the Sense-U with multiple devices, e.g. at different
# locations.
# baby_code: aabbccddeeff
# Sensors
sensor:
- platform: senseu
id: my_senseu
breath_rate:
name: Breath Rate
temperature:
name: Temperature
humidity:
name: Humidity
battery_level:
name: Battery Level
# Uptime sensor
- platform: uptime
name: ${friendly_name} Uptime
# WiFi Signal sensor
- platform: wifi_signal
name: ${friendly_name} Wifi Signal
update_interval: 60s
# Sync time with Home Assistant
time:
- platform: homeassistant
id: homeassistant_time
timezone: Europe/Vienna
script:
- id: script_button_touch
mode: restart
then:
- delay: 1s
- if:
condition:
switch.is_on: senseu_power_switch
then:
- switch.turn_off: senseu_power_switch
- switch.turn_off: switch_connected
else:
- switch.turn_on: senseu_power_switch
- switch.turn_off: switch_connected
- id: script_notify_local
mode: restart
then:
- light.turn_on:
id: main_light
effect: pulse
red: 100%
green: 0%
blue: 0%
- delay: 20s
- repeat:
count: 1000
then:
- output.turn_on: buzzer
- output.ledc.set_frequency:
id: buzzer
frequency: "1000Hz"
- output.set_level:
id: buzzer
level: "75%"
- delay: 0.5s
- output.turn_off: buzzer
- delay: 0.5s
# Text sensors with general information
text_sensor:
- platform: wifi_info
ip_address:
name: ${friendly_name} IP Address
- platform: senseu
id: my_senseu
posture:
name: Posture
status:
name: State
binary_sensor:
- platform: gpio
pin:
number: GPIO25
inverted: yes
name: "Reset Button"
id: reset_button
- platform: gpio
pin: GPIO14
id: touch_sensor
name: "Touch Sensor"
on_press:
then:
- script.execute: script_button_touch
on_release:
then:
- script.stop: script_button_touch
on_click:
then:
- switch.turn_off: switch_alarm
- platform: senseu
id: my_senseu
breath:
name: Breath Alarm
on_press:
then:
- switch.turn_on: switch_alarm
on_release:
then:
- switch.turn_off: switch_alarm
posture:
name: Posture Alarm
on_press:
then:
- switch.turn_on: switch_alarm
on_release:
then:
- switch.turn_off: switch_alarm
temperature:
name: Temperature Alarm
battery:
name: Battery Alarm
connected:
name: Sense-U Connected
on_press:
then:
- switch.turn_on: switch_connected
on_release:
then:
- switch.turn_off: switch_connected
switch:
- platform: senseu
senseu_id: my_senseu
name: Power Switch
id: senseu_power_switch
- platform: template
id: switch_connected
assumed_state: true
turn_on_action:
- if:
condition:
switch.is_on: senseu_power_switch
then:
- light.turn_on:
id: status_light
brightness: 20%
green: 100%
blue: 0%
red: 0%
effect: none
turn_off_action:
- if:
condition:
switch.is_on: senseu_power_switch
then:
- light.turn_on:
id: status_light
green: 0%
blue: 0%
red: 100%
effect: pulse
else:
- light.turn_on:
id: status_light
brightness: 20%
green: 0%
blue: 0%
red: 100%
effect: none
- platform: template
id: switch_alarm
assumed_state: true
turn_on_action:
- script.execute: script_notify_local
turn_off_action:
- script.stop: script_notify_local
- output.turn_off: buzzer
- light.turn_off: main_light
# Reset Button
button:
- platform: factory_reset
name: Restart with Factory Default Settings
# Configure the output
output:
- platform: ledc
pin: GPIO4
id: buzzer
- platform: ledc
pin: GPIO17
id: status_output_green
- platform: ledc
pin: GPIO18
id: status_output_blue
- platform: ledc
pin: GPIO5
id: status_output_red
- platform: ledc
pin: GPIO27
id: main_output_blue
- platform: ledc
pin: GPIO32
id: main_output_green
- platform: ledc
pin: GPIO33
id: main_output_red
light:
- platform: rgb
name: "Status Light"
red: status_output_red
green: status_output_green
blue: status_output_blue
id: status_light
effects:
- pulse:
- platform: rgb
name: "Main Light"
red: main_output_red
green: main_output_green
blue: main_output_blue
id: main_light
effects:
- pulse: