Что такое Умный дом — это система домашних устройств, связанных между собой и выполняющих действия по команде человека или даже без его участия, по расписанию или сигналу от датчика.
Некоторые умные дома управляются через приложения и голосом через умные колонки, другие — с помощью отдельных устройств.
Задачи тоже могут быть разными: повысить комфорт, сэкономить время или обеспечить безопасность..
Привет, Хабр!
Наверное, многие из вас знают, насколько важно поддерживать качественный микроклимат в доме, одним из важных параметров которого является относительная влажность воздуха. Вот и я, года три назад, озаботился данным вопросом и приобрел увлажнитель воздуха Xiaomi Deerma Humidifier DEM-F628S (полный аналог DEXP HD-440). Увлажнитель оказался удачной конструкции и приемлемой ценной, что обеспечило ему «народную» популярность. Но, к сожалению, данный увлажнитель не поддерживает интеграцию в системы умного дома и вообще не имеет коммуникационных интерфейсов, я решил исправить этот недостаток и что у меня получилось — об этом далее. Captive Portal. Станица входа, по умолчанию пароль «Admin».
После входа, первым делом необходимо настроить подключение к вашей Wi-Fi сети и перезагрузить устройство. Далее, используя присвоенный IP адрес, повторно войти для дальнейшей конфигурации. Ниже несколько скриншотов интерфейса.
При включении увлажнителя появляется функция выбора мощности увлажнителя.
Страница конфигурации подключения с использованием протокола MQTT.
❯ Интеграция в Home Assistant
Чтобы интегрировать наш увлажнитель в Home Assistant, необходимо настроить MQTT подключение и разрешить отправку данных при конфигурации модуля. Затем в Home Assistant отредактировать файл configuration.yaml, добавив в секцию
mqtt следующий код:
sensor:
- name: "Датчик температуры увлажнителя"
unique_id: 5bc54f8b-7d41-4774-bfce-e98e92409d3e
state_topic: "humiditer/jsondata"
unit_of_measurement: "°C"
value_template: "{{ value_json.temp }}"
device_class: temperature
- name: "Датчик влажности увлажнителя"
unique_id: 5bc54f8b-7d41-4774-bfce-e98e92409d3f
state_topic: "humiditer/jsondata"
unit_of_measurement: "%"
value_template: "{{ value_json.hum }}"
device_class: humidity
switch:
- name: "Питание увлажнителя"
unique_id: 5bc54f8b-7d41-4774-bfce-e98e92409d38
state_topic: "humiditer/jsondata"
command_topic: "humiditer/control"
value_template: "{{ value_json.chanel1 }}"
payload_on: "0"
payload_off: "0"
state_on: "On"
state_off: "Off"
- name: "Режим мин"
unique_id: 5bc54f8b-7d41-4564-bfce-e98e92409d38
state_topic: "humiditer/jsondata"
command_topic: "humiditer/control"
value_template: "{% if value_json.chanel1 == 'On' and value_json.level2 == '0' and value_json.level3 == '0' %} On {% else %} Off {% endif %}"
payload_on: "1"
state_on: "On"
state_off: "Off"
- name: "Режим сред"
unique_id: 5bc54f8b-7d41-4764-bfce-e98e92409d38
state_topic: "humiditer/jsondata"
command_topic: "humiditer/control"
value_template: "{% if value_json.chanel1 == 'On' and value_json.level2 == '1' and value_json.level3 == '0' %} 1 {% else %} 0 {% endif %}"
payload_on: "2"
state_on: "1"
state_off: "0"
- name: "Режим макс"
unique_id: 5bc54f8b-7d41-4784-bfce-e98e92409d38
state_topic: "humiditer/jsondata"
command_topic: "humiditer/control"
value_template: "{% if value_json.chanel1 == 'On' and value_json.level2 == '1' and value_json.level3 == '1' %} 1 {% else %} 0 {% endif %}"
payload_on: "3"
state_on: "1"
state_off: "0"
#конец увлажнителя
Теперь добавим карточку нашего увлажнителя на панель управления Home Assistant, предварительно создав карточку «Объекты» и в текстовом редакторе вставить следующий код:
type: entities
entities:
- entity: sensor.datchik_temperatury_uvlazhnitelia
- entity: sensor.datchik_vlazhnosti_uvlazhnitelia_2
- entity: binary_sensor.uroven_vody
- entity: switch.rezhim_min
- entity: switch.rezhim_sred
- entity: switch.rezhim_maks
- entity: switch.status_uvlazhnitelia
title: Увлажнитель воздуха
state_color: true
В итоге, мы должны получить что-то подобное:
В данном примере используется имя корня топика «humiditer», что указывается при конфигурации устройства.
❯ Подводим итоги
У нас получилось достаточно простое и бюджетное решение для интеграции «народного» увлажнителя воздуха в системы умного дома. Описанная в статье схема управления без нареканий проработала уже более двух лет, использовался навесной монтаж, но для статьи я решил изготовить полноценную печатную плату. Теперь давайте подсчитаем наши затраты:
Комплектующие:
- Микроконтроллер esp8266 — 1 шт $1.15;
- Оптрон EL817 — $2.42 (цена за 100 шт);
- Линейный стабилизатор HT7333-A SOT23 — $1.9 (цена за 20 шт);
- Датчик DHT22 (он же AM2302) — 1 шт $1.4;
- Прочие компоненты < $1.
Итого, примерный бюджет на реализацию: $8.
Демонстрация работыНа этой ноте можно и завершать статью. Спасибо всем кто уделил свое время на прочтение, надеюсь мой опыт будет вам полезен.
Ссылки к статье:
- Исходный код прошивки;
- Проект платы (KiCAD).
Возможно, захочется почитать и это:
- ➤ Электроника для самых маленьких: или еще один UV излучатель для активации фотополимера
- ➤ Как запустить собственную GSM-сеть за пять минут при помощи SDR
- ➤ Сам написал, сам поиграл: как работали трёхмерные игры на кнопочных телефонах нулевых? Пишем 3D-шутер с нуля
- ➤ Важные аспекты Unicode, о которых должен знать каждый разработчик jаvascript
- ➤ Sid Meier's Civilization III от Firaxis – история создания
Привет, Хабр! Наверное, многие из вас знают, насколько важно поддерживать качественный микроклимат в доме, одним из важных параметров которого является относительная влажность воздуха. Вот и я, года три назад, озаботился данным вопросом и приобрел увлажнитель воздуха Xiaomi Deerma Humidifier DEM-F628S (полный аналог DEXP HD-440). Увлажнитель оказался удачной конструкции и приемлемой ценной, что обеспечило ему «народную» популярность. Но, к сожалению, данный увлажнитель не поддерживает интеграцию в системы умного дома и вообще не имеет коммуникационных интерфейсов, я решил исправить этот недостаток и что у меня получилось — об этом далее. Captive Portal. Станица входа, по умолчанию пароль «Admin». После входа, первым делом необходимо настроить подключение к вашей Wi-Fi сети и перезагрузить устройство. Далее, используя присвоенный IP адрес, повторно войти для дальнейшей конфигурации. Ниже несколько скриншотов интерфейса. При включении увлажнителя появляется функция выбора мощности увлажнителя. Страница конфигурации подключения с использованием протокола MQTT. ❯ Интеграция в Home Assistant Чтобы интегрировать наш увлажнитель в Home Assistant, необходимо настроить MQTT подключение и разрешить отправку данных при конфигурации модуля. Затем в Home Assistant отредактировать файл configuration.yaml, добавив в секцию mqtt следующий код: Теперь добавим карточку нашего увлажнителя на панель управления Home Assistant, предварительно создав карточку «Объекты» и в текстовом редакторе вставить следующий код: В итоге, мы должны получить что-то подобное: В данном примере используется имя корня топика «humiditer», что указывается при конфигурации устройства. ❯ Подводим итоги У нас получилось достаточно простое и бюджетное решение для интеграции «народного» увлажнителя воздуха в системы умного дома. Описанная в статье схема управления без нареканий проработала уже более двух лет, использовался навесной монтаж, но для статьи я решил изготовить полноценную печатную плату. Теперь давайте подсчитаем наши затраты: Комплектующие: Микроконтроллер esp8266 — 1 шт $1.15; Оптрон EL817 — $2.42 (цена за 100 шт); Линейный стабилизатор HT7333-A SOT23 — $1.9 (цена за 20 шт); Датчик DHT22 (он же AM2302) — 1 шт $1.4; Прочие компоненты