Der ein oder andere kennt vielleicht mein Video zur „Raumbasierten Anwesenheitserkennung mit ESPHome (Presence Detection)“.
Die Bluetooth-basierte Anwesenheitserkennung funktioniert aber nicht nur mit den ESP32 Boards aus dem Video, sondern eben auch mit allen Shelly PLUS Geräten. Denn diese basieren ebenfalls auf einem ESP32 und haben somit ebenfalls Bluetooth an Bord.
[asa2]B0965J4HT5[/asa2]
Hier ist noch einmal das Video zur Anwesenheitserkennung für alle, die es noch nicht gesehen haben:
YouTube-Video
Lädt Inhalte von YouTube. Durch Klick stimmen Sie dem Laden externer Inhalte zu.
Für das Bluetooth Tracking mit den Shelly1 PLUS war Felix so nett und hat die Anwesenheitserkennung erfolgreich getestet und uns hier noch einmal seinen Code zur Verfügung gestellt.
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
substitutions:
device_name: "NAME"
# Higher value gives lower watt readout
current_res: "0.001"
# Lower value gives lower voltage readout
voltage_div: "1925"
esphome:
name: shelly-plus-1-kueche
platformio_options:
board_build.f_cpu: 160000000L
esp32:
board: esp32dev
framework:
type: esp-idf
sdkconfig_options:
CONFIG_FREERTOS_UNICORE: y
CONFIG_ESP_TASK_WDT_TIMEOUT_S: "10"
wifi:
networks:
- ssid: "WIFI SSID"
password: "PW"
output_power: 20dB
fast_connect: true
manual_ip:
static_ip: 192.168.178.182
gateway: 192.168.178.1
subnet: 255.255.255.0
ap:
ssid: "NAME"
password: "PW"
logger:
api:
ota:
esp32_ble_tracker:
scan_parameters:
interval: 320ms
window: 250ms
duration: 10s
active: false
output:
- platform: gpio
id: "relay_output"
pin: GPIO26
switch:
- platform: output
id: "relay"
name: "${device_name} Relay"
output: "relay_output"
- platform: restart
name: "${device_name} Restart"
binary_sensor:
- platform: gpio
name: "${device_name} Switch"
pin: GPIO4
on_press:
then:
- switch.toggle: "relay"
filters:
- delayed_on_off: 50ms
- platform: gpio
name: "${device_name} Button"
pin:
number: GPIO25
inverted: yes
mode:
input: true
pullup: true
on_press:
then:
- switch.toggle: "relay"
filters:
- delayed_on_off: 5ms
- platform: ble_presence
ibeacon_uuid: 'EIGENE UUID'
name: "BLE GERÄT"
sensor:
- platform: ntc
sensor: temp_resistance_reading
name: "${device_name} Temperature"
unit_of_measurement: "°C"
accuracy_decimals: 1
icon: "mdi:thermometer"
calibration:
b_constant: 3350
reference_resistance: 10kOhm
reference_temperature: 298.15K
on_value_range:
- above: "80.0"
then:
- switch.turn_off: "relay"
- platform: resistance
id: temp_resistance_reading
sensor: temp_analog_reading
configuration: DOWNSTREAM
resistor: 6kOhm
- platform: adc
id: temp_analog_reading
pin: GPIO32
attenuation: 11db
- platform: adc
name: "${device_name} Relay Supply Voltage"
pin: GPIO33
attenuation: 11db
filters:
- multiply: 8
- platform: wifi_signal
name: "${device_name}"
update_interval: 60s
status_led:
pin:
number: GPIO0
inverted: true