In of uit bed sensor

Domotica is bedoeld om je huis slim te maken en zoveel mogelijk zaken automatisch te laten verlopen. Je zou er in feite geen omkijken naar moeten hebben en verlichting, alarm, verwarming etc… verloopt automatisch zonder tussenkomst van een handmatige actie.

Met dit in gedachten kwam ik tot een oplossing om het licht uit en het alarm aan te doen, als we ’s avonds naar bed gaan voor onze welverdiende nachtrust: een sensor die detecteert of ik in of uit bed ben.

Bekend als een zogenaamde FSR (force sensing resistors) is dit een sensor die werkt op basis van gewicht. De aansluiting zijn twee draden voor een aan/uit (of 1MOhm / 0 Ohm).

De FSR op Amazon, type SF15-600

Als die aangesloten wordt op de pin-aansluitingen van een Aqara water lekkage sensor dan kan dit opgenomen worden in Home Assistant als bed-sensor

Aqara Zigbee waterlekkage sensor

Om de Aqara sensor te wijzigen van een waterlekkage sensor naar een aanwezigheids-sensor, kun je dat in Home Assistant eenvoudig aanpassen via de Instellingen van de sensor. Ga daarvoor naar Instellingen -> Apparaten & Diensten, kies bovenaan voor Apparaten en filter op de watersensor. Selecteer de watersensor en in het overzicht kies voor de sensor. Via het tandwieltje kunnen de details aangepast worden zoals het Icoon en ‘Toon als‘.


Als beter alternatief voor een sensor in Home Assistant, kan een ESP32 module gebruikt worden en deze instellen met de ESPHome Builder.

De binary_sensor in ESP32 wordt alsvolgt ingesteld:

binary_sensor:
  - platform: gpio
    name: Bed Sensor
    pin: GPIO13
    filters:
    - invert:
    - delayed_on: 5s
    - delayed_off: 20s

waarbij de FSR wordt aangesloten op pin 13 en GND. De filters worden gebruikt om een vertraging in te stellen zodat de sensor niet telkens aan en uit gaat als ik rond draai in mijn bed en invert om de sensor op ‘ON’ te zetten als deze gesloten is.

Mocht je voor beide kanten van het (tweepersoons)bed sensors willen hebben, dan kan dat met één ESP32:

binary_sensor:
  - platform: gpio
    name: Bed Sensor Links
    pin: GPIO13
    filters:
    - invert:
    - delayed_on: 5s
    - delayed_off: 20s
  - platform: gpio
    name: Bed Sensor Rechts
    pin: GPIO12
    filters:
    - invert:
    - delayed_on: 5s
    - delayed_off: 20s

De FSR’s zijn dan aangesloten op de pinnen 12 en 13 en GND. De beide sensoren worden bekend in Home Assistant en kunnen eventueel in een dashboard geplaatst worden. Daarbij kan met card_mod het icon gewijzigd worden op basis van de state van de sensor: bed bezet of bed leeg. In de getoonde kaart in het dashboard dient dan de volgende yaml-code toegevoegd te worden:

card_mod:
  style: |
    :host {
      {% if is_state('binary_sensor.slaapkamer_esphome_web_slaapkamer_bed_sensor_rechts', 'on') %}
      --card-mod-icon: mdi:bed;
      {% else %}
      --card-mod-icon: mdi:bed-empty;
      {% endif %}
    }

Uiteraard voor beide sensoren. Het resultaat:

Nu kunnen er ook helper-groepen gemaakt worden, één voor ‘Bed bezet‘ en één voor ‘Beiden in bed‘. De bed-sensoren komen dan in de helper-groep en het verschil wordt aangegeven met de optie ‘Alle entiteiten‘

De bijbehorende automatisering vind je hier.