-
Notifications
You must be signed in to change notification settings - Fork 4
/
heart_rate.yaml
44 lines (41 loc) · 1.23 KB
/
heart_rate.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
# BLE configuration for the ESPHome Heart Rate Display
#
# Copyright (c) 2021 Koen Vervloesem
# SPDX-License-Identifier: MIT
#
esp32_ble_tracker:
ble_client:
- mac_address: "${ble_mac}"
id: heart_rate_monitor
sensor:
- platform: ble_client
type: characteristic
ble_client_id: heart_rate_monitor
id: heart_rate_measurement
name: "${node_name} Heart rate measurement"
service_uuid: '180d' # Heart Rate Service
characteristic_uuid: '2a37' # Heart Rate Measurement
notify: true
lambda: |-
uint16_t heart_rate_measurement = x[1];
if (x[0] & 1) {
heart_rate_measurement += (x[2] << 8);
}
return (float)heart_rate_measurement;
icon: 'mdi:heart'
unit_of_measurement: 'bpm'
update_interval: 1s
- platform: ble_client
type: characteristic
ble_client_id: heart_rate_monitor
id: device_name
service_uuid: '1800' # Generic Access Profile
characteristic_uuid: '2a00' # Device Name
lambda: |-
std::string data_string(x.begin(), x.end());
id(heart_rate_sensor_name).publish_state(data_string.c_str());
return (float)x.size();
text_sensor:
- platform: template
name: "${node_name} heart rate sensor name"
id: heart_rate_sensor_name