Привет Хабр! Сегодня хочу поделиться своим экспериментом с «разработкой» датчика определения человека на кровати.
Почему это было нужно?
У меня достаточно давно была создана автоматизация открывающая шторы утром при наличии движения в гостиной в будние дни, а в выходные, по тому же сенсору, сценарий открывал шторы и в спальне. Все работает отлично, пока один из нас двоих не вставал в выходные раньше, а второй оставался в постели (признаюсь, чаще всего это был я 😊). Нужно было определять и не открывать шторы в спальне. В будущем можно привязать к этому датчику, например, включение ночного освещения, включение кондиционера\вентилятора и тд.
Ну или когда уже автоматизировать совсем нечего…
Датчики
За основу решил взять самый дешевый Zigbee датчик открытия двери\окна, работающий на герконовом принципе (геркон замыкается под воздействием магнитного поля). И сенсор давления в сидении автомобиля. Оба устройства заказал на Aliexpress: датчик двери, датчик сидения. Все это я заказал на авось, особенно датчик сидения, не знал «хватит ли его сопротивления» для замыкания контактов вместо геркона и не будет ли он замыкаться от веса матраса.
Что было сделано?
-
Измерение сопротивления датчика давления
Сначала измерил сопротивление вхолостую, сопротивление было около 1МОм, потом под давлением (я на него сел) — полное замыкание. Потом положил датчик под матрас, сопротивления оставалось близко к мегаому. -
Демонтаж геркона
Вскрыв корпус датчика, я аккуратно выпаял геркон. -
Установка датчика давления
Вместо геркона я припаял датчик давления. -
Интеграция в умный дом
После переделки датчик сохранил свою совместимость с экосистемой умного дома. Теперь он отправляет сигнал не об «открытии/закрытии», а о «наличии давления».
Сравнение размеров сенсора давления и датчика двери
Сопротивление датчика давления вхолостую
Процесс запайки вместо геркона
Пример автоматизации для Home Assistant
description: "Открыть шторы в выходные, в гостиной по движению, а после, в спальне по отсутствию человека на кровати" mode: single triggers: - trigger: state entity_id: - binary_sensor.presence_sensor_living_room to: "on" conditions: - condition: time weekday: - sat - sun after: "06:00:00" before: "13:00:00" actions: - action: cover.open_cover metadata: {} data: {} target: area_id: gostinaia - wait_for_trigger: - trigger: state entity_id: - binary_sensor.krovat_contact from: "off" to: "on" for: hours: 0 minutes: 1 seconds: 0 continue_on_timeout: false - action: cover.open_cover metadata: {} data: {} target: area_id: spalnia
Готовое устройство
Оптимизация и нюансы
Как видно на фото выше, сенсор давления не задействован на 100%, под него нужно что-то подложить, например, приклеить к тонкому листу алюминия. Новый датчик срабатывает только на моей стороне кровати, нужно купить еще один сенсор давления и запараллелить их.
Новый сенсор HA с антидребезгом
- platform: template sensors: presence_sensor_on_bed: friendly_name: "Сенсор присутствия на кровати" device_class: presence value_template: >- {% set last_changed = states['binary_sensor.0xa4c138732178ae70_contact'].last_changed %} {% if now().timestamp() - as_timestamp(last_changed) > 2 %} {{ 'off' if states('binary_sensor.0xa4c138732178ae70_contact') == 'on' else 'on' }} {% endif %}
Мира!
ссылка на оригинал статьи https://habr.com/ru/articles/860420/
Добавить комментарий