Shelly1 PLUS mit aktiviertem Bluetooth | ESPHome

Echo Dot (4. Generation) | Smarter Lautsprecher mit Alexa | Blaugrau
Echo Dot (4. Generation) | Smarter Lautsprecher mit Alexa | Blaugrau
--

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.

Shelly Plus 1 PM EinzelpackShelly Plus 1 PM Einzelpack *14,90 €

Hier ist noch einmal das Video zur Anwesenheitserkennung für alle, die es noch nicht gesehen haben:

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

https://youtu.be/ppBdZg66H3A


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.

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