Датчик присутствия на "Троне", измерение температуры горячего стояка и счетчики воды

20 апреля 2021, 06:52

Датчик присутствия на "ТРОНЕ", измерения температуры горячего стояка и счетчики воды. В основе лазерный дальномер и Esphome. Я думаю, что не у одного меня проблема со светом в туалете. Датчик движения и автоматизация на две минуты. Если есть движение, то нормально. А если муза посетила на "Троне", задумался, свет погас. Приходится махать руками, чтобы привлечь внимание датчика и зажечь свет. Я пробовал ставить два датчика. Один при входе в туалет. Второй напротив трона. Все равно, зависит от мыслей, свет гаснет иногда. Вроде xiaomi создала датчик, который, даже дыхание, может считывать. Вроде хвалят его. Но, во-первых, ценник в районе 60$. Во-вторых, на али его нет пока в свободном доступе.
1600x_image.png?1618498321

Оказывается, такой датчик есть для ардуино. Лазерный дальномер. Дальность до 2-х метров. Оказывается и поддержка в Esphome есть. У наших форумчан похожее уже работает. Очень помог умный человек @Kv, научил пользоваться. И ультразвуковые дальномеры люди ставят, для подобных дел.

Теорию вроде описал. Теперь исполнение

В нашем доме могут, в любой момент, отключить горячую воду. Встанешь с утра, приходится водонагреватель включать. Начало напрягать. Решил примотать изолентой датчик температуры к стояку. Написать автоматизацию включения и выключения водонагревателя. Плюс счетчики воды решил подключить. В железе, у Node MCU, с квадратным чипом cp2102, входов достаточно. Esphome поддерживает DHT11. Минус один - это питание прибора. Пришлось розетку поставить в районе стояков, и блок питания от телефона.

1600x_image.png?1618556133

Провода от витой пары подключал, чтобы по цветам можно было ориентироваться.

1600x_image.png?1618556134

Распиновка DHT11

1600x_image.png?1618556136

Подключение светодиодов.

Нарисовал корпус. Это мой первый в жизни корпус в 3D. Поэтому прошу сильно не придираться. Хотел, чтобы часть корпуса, в котором стоит дальномер, вверх-вниз можно было поворачивать. И не зря, пришлось настраивать впоследствии. Правда ноги у NodeMCU пришлось отпаять, где-то коротило.

1600x_image.png?1618638382

Вид спереди

1600x_image.png?1618638382

Вид с дальномером

1600x_image.png?1618638383

Над дальномером ставится Nodemcu

1600x_image.png?1618746328
1600x_image.png?1618746329
esphome:
  name: rangefinder
  platform: ESP8266
  board: nodemcuv2
wifi:
  ssid: "Имя сети"
  password: "пароль"
  manual_ip: # статический айпи адрес, если не надо, то закоментировать
    static_ip: 192.168.31.08
    gateway: 192.168.31.1
    subnet: 255.255.255.0

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Rangefinder Fallback Hotspot"
    password: "75RqmMMfMHp1"

captive_portal:

# Enable logging
logger:

# Активация веб сервера
web_server:
  port: 80 

# Enable Home Assistant API
api:
  password: "1234" # пароль для доступа к устройству

ota:
  password: "1234" # пароль для обновления
  
# Дальномер настройки 
i2c:
  sda: GPIO04
  scl: GPIO05
  scan: True 
sensor:
  - platform: vl53l0x
    name: "LaserRange"
    address: 0x29
    update_interval: 10s # интервал опроса дальномера
    long_range: True  
    id: "distance"
    internal: true # при true данные в HA не передаются
    on_value:
# принцип такой: если расстояние меньше 0.6м в течении 10сек
# то загорается зеленый светодиод. Если больше, то гаснет
      then:
        - if:
            condition:
              lambda: 'return id(distance).state < 0.60;'
            then:
              - switch.turn_on: green
            else:
              - switch.turn_off: green  

# Уровень Wi-Fi сигнала    
  - platform: wifi_signal
    name: "linkquality_rangefinder"
    update_interval: 120s

# Датчик температуры              
  - platform: dht
    pin: GPIO14
    model: DHT11
    temperature:
      internal: false #  при true данные в HA не передаются
      name: "DuzeTemperature"
      on_value_range:
        - above: 40 # если температура больше 40, то выключаем красный светодиод
          then:
            - switch.turn_off: red
        - below: 30 # если температура меньше 30, то включаем красный светодиод
          then:
            - switch.turn_on: red
    humidity:
      name: "DuzeHumidity"
      internal: true # при true данные в HA не передаются
    update_interval: 60s                
    
# Датчики на счетчики. 
binary_sensor:
  - platform: gpio
    pin:
      number: GPIO00
      mode: INPUT_PULLUP
      inverted: True
    name: "HotWater"
  - platform: gpio
    pin:
      number: GPIO12
      mode: INPUT_PULLUP
      inverted: True
    name: "ColdWater"    
    
# светодиоды
switch:  
  - platform: gpio
    name: "Laser"
    icon: mdi:arrow-expand-vertical
    pin: GPIO03   
    id: "green"
  - platform: gpio
    name: "Boiler"
    icon: mdi:fire
    pin: GPIO01   
    id: "red"
Если полностью повторять датчик, то я счетчик холодной воды поставил на GPIO12. Если оставить на GPIO16, то загорается еще и синий, верхний светодиод NodeMCU. Меня это бесило. Хотя с другой стороны, светодиоды можно использовать. Там их два - верхний GPIO16 и нижний GPIO02. Можно их задействовать и не запаивать внешние. 

Получилось как-то так

При посещении трона, в течение 10 секунд загорается зеленый светодиод. В НА это видно как лампочку. При покидании трона, светодиод гаснет. Добавил в ароматизации света в туалете, чтобы свет не гас, пока горит зеленый светодиод. Когда загорается красный светодиод, значит температура горячего стояка ниже 30 градусов, перекрывается горячая вода и включается водонагреватель. Если температура стояка выше 40 градусов, то водонагреватель выключается и открывается горячая вода. Ну и герконы в счетчиках воды, один щелчок на 10 литров воды.

- alias: Ванная выключение ночь
  trigger:
    platform: state
    entity_id: 
      - binary_sensor.0x158d00029a5df3_motion
    to: 'off'
    for:
      minutes: 2
  condition:    
    - condition: state
      entity_id: switch.laser_2
      state: "off"    
  action:
    service: light.turn_off
    entity_id: 
      - light.vannaia_dver
1600x_image.png?1618746989

Выглядит вполне нормально. Хотел над троном поставить, потом удобнее с боку показалось. Пользуюсь месяца два и не нарадуюсь, забыл про отключение света.

1600x_image.png?1618747286

Бонусом видно, что кто-то аккупирует и как долго.

1600x_image.png?1618747286

Видно какой температуры горячая вода в стояке.

1600x_image.png?1618747286

Во время аккупации трона, светодиод  сигнализирует.

Всем спасибо за внимание!


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Дмитрий Батюшин (ReD)
    Дмитрий Батюшин (ReD) 3 месяца назад
    действительно интересное решение. много где можно применить. 

  2. Anton Stolov (soulassassino)
    Anton Stolov (soulassassino) 3 месяца назад

    Статья зачётная! Топ! Работа так сказать, проделана, путь найден. Немного просто без всякого яда покидаюсь камнями, ибо в моём огороде их предостаточно :D

    - DHT11 ещё то очко

    - касательно датчиков движения и кейса с ванно-туалетным санузлом, уже не раз отписывал на счёт этого мероприятия, первое это датчики движения, если вешать сяоми и хотеть рабочего кейса - значит Вам этот кейс не нужен. Второе это датчики опять, хью или икея второй ревизии спасут Ваш трон от тьмы, плюс кейс таймер на 5 минут и если дверь закрыта и есть движло, нафик таймер + нафик авто на выключение, всё довольно просто, я до сих пор, и это в третьих, не понимаю, в чём проблема у людишек то, 12 тысяч раз уже это обмусоливалось, ну а теперь ещё и дальномер в действии :D

    В общем ещё раз, я без яда, статья топ и исполнение так же, и дальномер надо будет попробовать самому, и где-то попытаться применить. Спасибо! ;)

    • (maikl)
      (maikl) 3 месяца назад

      Еще раз для продвинутых. Дверь может не закрываться по очень многим причинам. Дети, кошки, проветривание и т.д. и т.п.

      • Anton Stolov (soulassassino)
        Anton Stolov (soulassassino) 3 месяца назад

        Не понял чё за наезд, ну да ладно. Из приведённых продвинутых вариаций на тему занятости, совершенно не понятен Ваш словопроведённый пример касательно кошки или проветривания, а так же т.д., ладно возьмём пример ребёнок под стол ходящий забежал в сортир по делам, и дверь осталась открыта - в данном контексте работает датчик движения и таймер с обновлением. Что касается других примеров, можно подробнее? Надо что бы было занято если у Вас кошачий лоток стоит в санузле? Или Вы хотите видеть статус проветривания? А бы ляпнуть, или теперь наезжаю я? :)

        • (maikl)
          (maikl) 3 месяца назад

          Да нет, никакого наезда) Но вы так категорично написали,  дескать что за сложности с дальномером, если всё просто решается.  Однако нифига не просто. У моих знакомых почти всегда двери в санузел приоткрыты, потому что кошка туда ходит. У некоторых дети.  У меня например,  просто долгосрочный ремонт,  а санузел с ванной с отдельным входом и двери можно только слегка прикрыть иногда.  В общем во всех этих и подобных случаях,  вариант только с обычным датчиком движения и таймером, как вы сказали. Ну банально. А главное не работает адекватно. Сел на унитаз..и таймер закончился,  давай вскакивать значит. Залез в ванную полежать.. опять же остался без света.  

          • Anton Stolov (soulassassino)
            Anton Stolov (soulassassino) 3 месяца назад

            Ну :) В таком случае, дальномер дальномером, но пир на еспхом решит этот вопрос раз и навсегда ;)

  3. Денис Самойлов (Extreme86)
    Денис Самойлов (Extreme86) 3 месяца назад

    Это лучший и полезный diy который я видел за последнее время👍 спасибо! 

  4. Геннадий Куракин (Onag)
    Геннадий Куракин (Onag) 3 месяца назад

    Надо такое прикрутить на авто смыв всего плохого, после посещения трона.

  5. (scr)
    (scr) отредактировано 3 месяца назад

    Если цель не поиграться с новыми сенсорами и освоить новые навыки (что само по себе похвально), а решить "самую главную проблему" домашних автоматизаторов - не изобретайте велосипед и погуглите алгоритм wasp in a box. Геркон на двери + датчик движения решают вопрос чуть более чем полностью.

    Если кратко, пчёлка, прожужжавшая хотя бы раз в закрытой коробочке будет в ней находиться пока та не откроется, даже если мы её не видим.

    • Павел Кардаков  (RARog)
      Павел Кардаков (RARog) отредактировано 3 месяца назад

      Да, интересное решение. Не знал. Вот и думаю. Но вот в чем проблема, в моем случае, у меня доводчик на двери, сама закрывается. Движение раньше закрытия срабатывает. И как тогда? Получается зашёл, датчик движения сработал. Потом датчик закрытия двери, а датчик движения уже не активен и все, свет погас. 

      и потом, датчиком этим закрыл водонагреватель. Разок спасло уже. С утра встал, водонагреватель включен, вода горячая. На следующее утро, водонагреватель выключен.

    • (ural)
      (ural) 3 месяца назад

      Не так всë просто. Не всегда дверь полностью закрывается в процессе или после. Самый простой вариант, наверное, дд+задержка 15 мин

  6. (PLUT)
    (PLUT) 3 месяца назад

    1) как вариант "датчика присутствия на троне" есть в современных авто (встроено в сиденье, авто сигнализирует что биоробот не пристегнут). на Али в районе 300 руб

    2) как вариант "беспроводных" технологий - пирометр прикрутить и измерять температуру пятой точки (вместо лазерного дальномера)

    3) при ремонте в основание крепежа инсталляции поместить тензодатчик и "взвешивать" аккупанта. абсолютный вес не важен, важен "момент изменения" (первая производная). простой экспоненциальный цифровой фильтр справится. 

    4) ну еще в качестве бреда - поставить камеру и AI научить распознавать - свободно/занято. но камера в туалете.... ну такое.

    • Anton Stolov (soulassassino)
      Anton Stolov (soulassassino) 3 месяца назад

      С 4го поржал, пасибо :D :D 

      Ну а опять по чесноку, датчик открытия + датчик движения, решают всё. Сюда же добавить башку на шее и без желе.

      • Max Tsai (Canis1Majoris)
        Max Tsai (Canis1Majoris) 3 месяца назад

        У меня в доме дверь туалета вообще не показатель. Она может быть в любой момент закрыта, в любой момент открыта. 

        • Anton Stolov (soulassassino)
          Anton Stolov (soulassassino) отредактировано 3 месяца назад

          Слушайте, мы не говорим о каких-то личных предпочтениях, ходите ли Вы в туалет с открытой дверью и прочий индивидуальный стафф. Мы говорим по факту, человек зашёл в туалет и закрыл дверь - это нормально, это первое. И именно в этом кейсе это всё работает - как состояние туалета "занято", откуда и вытекают все кондишины свяанные в первую очередь с освещением и его поведением в этот момент, и это второе. В третьих - описанный кейс в статье довольно хороший, сюда же кстати говоря можно ставить и датчик движения на esp, раз уже на то пошло. Ну и пусть это будет в четвёртых.

          • Павел Кардаков  (RARog)
            Павел Кардаков (RARog) 3 месяца назад

            О, не подумал. Вообще бы универсальный датчик получился. На будущее, в другую квартиру, запомним...

            • Anton Stolov (soulassassino)
              Anton Stolov (soulassassino) 3 месяца назад

              Pir на еспхом раз в несколько секунд может детектить, т.е. это самый настоящий датчик присутствия.

  7. (maikl)
    (maikl) 3 месяца назад

    Да нет, никакого наезда) Но вы так категорично написали,  дескать что за сложности с дальномером, если всё просто решается.  Однако нифига не просто. У моих знакомых почти всегда двери в санузел приоткрыты, потому что кошка туда ходит. У некоторых дети.  У меня например,  просто долгосрочный ремонт,  а санузел с ванной с отдельным входом и двери можно только слегка прикрыть иногда.  В общем во всех этих и подобных случаях,  вариант только с обычным датчиком движения и таймером, как вы сказали. Ну банально. А главное не работает адекватно. Сел на унитаз..и таймер закончился,  давай вскакивать значит. Залез в ванную полежать.. опять же остался без света.  

    кроме того, подобная проблема может быть и в обычной жилой комнате. Многие не делают межкомнатные двери в некоторых планировках. Просто арка, проем. И вот человек зашел, сел почитать.. дальше понятно)

  8. Олег StelsNur (StelsNur)
    Олег StelsNur (StelsNur) 3 месяца назад

    Отличная статья

  9. Дмитрий Пономарев (MakeSimple)

    Все предложенные комментаторами и автором варианты разбиваются о суровую реальность:

    - ребенок и жена не закрывают дверь

    - на ребенка датчик у унитаза не сработает :)

    - дверь часто стоит полностью открытая и внутри никого нет

    - есть кот (у него своя дверца в стене)


    А сработает только комплексное решение из нескольких датчиков. И тайминги с запасом. Лично у меня в санузле не более 30 ватт нагрузки, если лишний час за сутки набежит, то это сумасшедшие деньги, 6 рублей за месяц перерасхода! :)

К списку статей

Устройства в материале

ESP8266 NodeMcu v3

Производитель: Espressif Systems
Заказать на:
JD

Датчик температуры/влажности DHT11

Производитель: noname
Заказать на:
JD

Лазерный дальномер VL53L0X

Производитель: noname
Заказать на:

Тематические чаты

DIY

Похожие статьи

17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
20 октября 2018, 22:57
Теоретические основы протокола MQTT и описание того, как он работает и для чего используется
24 августа 2018, 12:18
Пошаговая установка HomeAssistant
30 августа 2019, 07:28
Несколько нетривиальных способов использования датчика открытия окон/дверей от Xiaomi/Aqara.
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот