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:
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.
1substitutions:
2 device_name: "NAME"
3 # Higher value gives lower watt readout
4 current_res: "0.001"
5 # Lower value gives lower voltage readout
6 voltage_div: "1925"
7
8esphome:
9 name: shelly-plus-1-kueche
10 platformio_options:
11 board_build.f_cpu: 160000000L
12
13esp32:
14 board: esp32dev
15 framework:
16 type: esp-idf
17 sdkconfig_options:
18 CONFIG_FREERTOS_UNICORE: y
19 CONFIG_ESP_TASK_WDT_TIMEOUT_S: "10"
20
21
22wifi:
23 networks:
24 - ssid: "WIFI SSID"
25 password: "PW"
26 output_power: 20dB
27 fast_connect: true
28 manual_ip:
29 static_ip: 192.168.178.182
30 gateway: 192.168.178.1
31 subnet: 255.255.255.0
32
33 ap:
34 ssid: "NAME"
35 password: "PW"
36
37logger:
38
39api:
40
41ota:
42
43
44esp32_ble_tracker:
45
46 scan_parameters:
47 interval: 320ms
48 window: 250ms
49 duration: 10s
50 active: false
51
52
53output:
54 - platform: gpio
55 id: "relay_output"
56 pin: GPIO26
57
58switch:
59 - platform: output
60 id: "relay"
61 name: "${device_name} Relay"
62 output: "relay_output"
63 - platform: restart
64 name: "${device_name} Restart"
65
66binary_sensor:
67 - platform: gpio
68 name: "${device_name} Switch"
69 pin: GPIO4
70 on_press:
71 then:
72 - switch.toggle: "relay"
73 filters:
74 - delayed_on_off: 50ms
75 - platform: gpio
76 name: "${device_name} Button"
77 pin:
78 number: GPIO25
79 inverted: yes
80 mode:
81 input: true
82 pullup: true
83 on_press:
84 then:
85 - switch.toggle: "relay"
86 filters:
87 - delayed_on_off: 5ms
88
89 - platform: ble_presence
90 ibeacon_uuid: 'EIGENE UUID'
91 name: "BLE GERÄT"
92
93sensor:
94 - platform: ntc
95 sensor: temp_resistance_reading
96 name: "${device_name} Temperature"
97 unit_of_measurement: "°C"
98 accuracy_decimals: 1
99 icon: "mdi:thermometer"
100 calibration:
101 b_constant: 3350
102 reference_resistance: 10kOhm
103 reference_temperature: 298.15K
104 on_value_range:
105 - above: "80.0"
106 then:
107 - switch.turn_off: "relay"
108 - platform: resistance
109 id: temp_resistance_reading
110 sensor: temp_analog_reading
111 configuration: DOWNSTREAM
112 resistor: 6kOhm
113 - platform: adc
114 id: temp_analog_reading
115 pin: GPIO32
116 attenuation: 11db
117
118 - platform: adc
119 name: "${device_name} Relay Supply Voltage"
120 pin: GPIO33
121 attenuation: 11db
122 filters:
123 - multiply: 8
124
125 - platform: wifi_signal
126 name: "${device_name}"
127 update_interval: 60s
128
129status_led:
130 pin:
131 number: GPIO0
132 inverted: true