Многофункциональный ваттметр Tuya с Wi-Fi. Заводим в Home Assistant
- Цена: 1 799 ₽
- Перейти в магазин
Астрологи объявили неделю Tuya.
Вольтметр, амперметр/ваттметр двухканальный с WiFi.
Фото, разборка, какие-никакие, а тесты.
А также: подключение WiFi Tuya устройств к Home Assistant без перепрошивки и с сохранением работоспособности облака. Инструкция по настройке Local Tuya в Home Assistant. Будет много скриншотов и непонятных слов.
Минимальные требования для понимания происходящего: свободное владение командной строкой Linux на уровне копипаста, уверенное развертывание приложений с Docker по инструкции с картинками.
Внешний вид
Поставляется устройство в простой картонной коробке




В комплекте само устройство с 2 датчиками тока, двусторонняя клейкая лента, крепеж на DIN рейку, инструкция





Датчик тока 80 А 1000/1.


Установка элементарная, на корпусе даже установлена стрелочка к нагрузке (при установке на фазный провод)

Сам гаджет довольно компактен


Комплектный крепеж позволяет установить устройство на Ω DIN рейку 35 мм или закрепить 2 шурупами


Разборка
Тривиальна. Нижняя крышка корпуса очень тонкая

32 битный ARM процессор Nations Technologies N32G430, специализированный IC ваттметра HLW8112. Видим на плате порт UART (БЕЗ гальванической развязки от сети!).

БП собран на KP3210BSGA


За связь отвечает модуль CB2S. Его, кстати, можно перешить на альтернативную прошивку, но нужно выпаивать, так как UART занят общением с чипом HLW811W.


Приложение
Будем использовать приложение Smart Life. Добавление устройства трудностей не вызывает. Нам доступны: вольтметр (естественно, 1 канал), амперметр/ваттметр/частота тока/PF/счетчик ЭЭ — 2 канала. Показывает даже направление тока (этот функционал ориентирован производителем на системы электропитания с солнечными панелями) — измеряется электроэнергия в каждом направлении отдельно.

Есть возможность программной калибровки устройства, графики по дням/неделям/месяцам, и, естественно, сценарии.
Тесты
Само устройство потребляет чуть менее 0.5 Вт.
Датчик тока начинает видеть с довольно малого тока, вот холостой ток какого-то БП: погрешность вполне допустимая для показометров:

погрешность вполне допустимая для показометра

Еще одно маломощное устройство. Между 2 каналами стабильно есть небольшая разница:


ТЭН:


Очень недурно для показометра, вполне годится для бытового применения. Этот Аторч, кстати, имеет неплохую точность. Но перейдем к самому интересному:
Tuya в локальной сети с использованием интеграции Local tuya в Home Assistant
Вводная: Debian-based Linux сервер, Home Assistant с Docker Compose.
Ссылка на официальную инструкцию
Создаем compose.yml файл:
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:stable"
volumes:
- /PATH_TO_YOUR_CONFIG:/config
- /etc/localtime:/etc/localtime:ro
- /run/dbus:/run/dbus:ro
restart: unless-stopped
privileged: true
network_mode: host
Запускаем:
docker compose up -d
WEB интерфейс Home Assistant будет доступен по адресу:
IP_НАШЕГО_СЕРВЕРА:8123
Если Вы еще не используете HACS (Home Assistant Community Store — магазин [каталог] пользовательских дополнений) — устанавливаем (оригинал инструкции по установке HACS для Home Assistant в Docker).
Входим в докер контейнер:
docker exec -it homeassistant bash
Приглашение терминала изменится, значит все в порядке. Теперь устанавливаем HACS:
wget -O - https://get.hacs.xyz | bash -

Завершено успешно, выходим из контейнера и перезапускаем Home Assistant (далее — HA):
exit
docker restart homeassistant
Далее открываем Web интерфейс HA, Настройки -> Интеграции, выбираем HACS

Устанавливаем интеграцию.

Последнюю галочку можно не ставить (экспериментальные функции), дальше нужно авторизоваться на GitHub. Снова перезапускаем HA (можно через настройки)
После перезапуска HACS появится в установленных интеграциях и будет доступен в меню слева:

В строке фильтра вбиваем нужное имя и устанавливаем интеграцию Local Tuya

Можно [лучше] установить форк от xZetsubou. Открываем страницу, жмем Add repository to HACS. На странице интеграции в правом нижнем углу — Скачать. Настройки -> жмем по уведомлению Перезапустить сервер
Теперь идем Настройки->Добавить интеграцию, выбираем установленную Local Tuya. Можно было бы настроить наши устройства без связи с облаком, но сегодня мы будем гулять на все.

Уважаемые читатели могли подумать, что уже почти все. Но мы только начали.
Получение устройств Tuya из приложения Smart Life (Tuya Smart)
Теперь нужно создать учетную запись разработчика на сайте iot.tuya.com. Тут все просто, зарегистрировались, авторизовались.
В левом меню переходим Cloud -> Development -> Create Cloud Project

Имя выбираем по своему вкусу, а Industry и Development Method выбираем Smart Home. Data Center у читателей скорее всего будет Central Europe Data Center

Открываем созданный проект (Open Project в правой части окна). Нам будут нужны Access ID/Client ID и Access Secret/Client Secret, сохраним их в надежный текстовый файл на рабочем столе.

Далее переходим Devices -> Link App Account -> Add App Account. Увидим QR код.

Сканируем QR код из приложения Smart Life: Профиль -> сканер [рядом с шестеренкой], выбираем Automatic Link.

Связанные устройства теперь будут видны на iot.tuya.com во вкладке Devices. При добавлении новых устройств через приложение, они также появятся автоматически.
User ID смотрим на вкладке Devices -> Link App Account, поле UID. Тоже сохраняем в блокнотик.

Осталось значение local_key, его смотрим в CLoud -> API Explorer -> Device Management -> Query Device Details in Bulk.
Вводим device_ids (ищем его в Devices -> All Devices), жмем Submit Request, в окне результата ищем local_key. Его тоже сохраняем в блокнотик.

Возвращаемся в HA, вводим полученные данные в окно добавления хаба Tuya.

Все, хаб мы добавили, теперь можно подключать устройства.

У нас почему-то работает только ручное добавление: Add Device Manually, ладно, попробуем.
Начнем с простой смарт розетки. Где искать Device ID и Local Key мы знаем:

У кучи устройств объекты определяются автоматически, поэтому выбираем Discover device entities automatically

Розетка с объектами появилась:


Это все хорошо. Но согласитесь, вбивать каждый раз Device ID и Local Key — фигня какая-то. Почему не работает поиск устройств в локальной сети?
Это все потому, что мы ставили HA по другой инструкции из контейнера мы не видим локальную сеть и правильно делаем. Решения проблемы — либо используем
network_mode: 'host'
для HA контейнера, либо, если не хотим давать контейнеру возможность напрямую использовать сетевые ресурсы хоста, открываем порты (после этого не забудьте пересобрать контейнер)
ports:
- 6666:6666
- 6667:6667
После в скрипте <ha_dir>/custom_components/localtuya/discovery.py находим функцию start и в явном виде приписываем адрес нашей локальной сети в двух строках.
lambda: self, local_addr=("0.0.0.0", 6666), reuse_port=True
lambda: self, local_addr=("0.0.0.0", 6667), reuse_port=True
Скорее всего адрес сети у читателей 192.168.0.0 или 192.168.1.0. Если непонятно — почитайте про IP адреса и маску подсети.
Все, теперь Discovery работает. Что у нас еще завалялось из Tuya устройств? Ах да, сам герой обзора.
Local Tuya теперь видит устройства в нашей локальной сети

и самостоятельно подтягивает пользовательское имя устройства из приложения, Device ID, Local Key.


Вот только автоматическое определение объектов (сущностей — Entities) для сабжа не работает — данного ваттметра нет в поддержке Local Tuya (можно сделать вклад в развитие проекта). Значит прописываем объекты вручную -> Configure device entities manually

Выбираем тип объекта в логике HA

И выбираем сущность:

По наименованию объектов чаще всего затруднений не возникает (voltage, current, power, …), хотя тут же устанавливаются и калибровки, кроме того значения передаются без десятичной точки (устанавливаем Scaling Factor), так что нужно посматривать в приложение:

Даже работает:

Повторяем процесс для всех необходимых объектов:

Выбираем изменение существующего устройства, затем добавить новую сущность.

И повторяем для всех необходимых объектов.

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

Планирую купить
+17
Добавить в избранное
Обзор понравился
+44
+53
docker exec -it homeassistant bash
Приглашение терминала изменится, значит все в порядке. Теперь устанавливаем HACS:
wget -O - https://get.hacs.xyz | bash -

Завершено успешно, выходим из контейнера и перезапускаем Home Assistant (далее — HA):
exit
docker restart homeassistant
Далее открываем Web интерфейс HA, Настройки -> Интеграции, выбираем HACS

Устанавливаем интеграцию.

Последнюю галочку можно не ставить (экспериментальные функции), дальше нужно авторизоваться на GitHub. Снова перезапускаем HA (можно через настройки)
После перезапуска HACS появится в установленных интеграциях и будет доступен в меню слева:

В строке фильтра вбиваем нужное имя и устанавливаем интеграцию Local Tuya

Можно [лучше] установить форк от xZetsubou. Открываем страницу, жмем Add repository to HACS. На странице интеграции в правом нижнем углу — Скачать. Настройки -> жмем по уведомлению Перезапустить сервер
Теперь идем Настройки->Добавить интеграцию, выбираем установленную Local Tuya. Можно было бы настроить наши устройства без связи с облаком, но сегодня мы будем гулять на все.

Уважаемые читатели могли подумать, что уже почти все. Но мы только начали.
Получение устройств Tuya из приложения Smart Life (Tuya Smart)
Теперь нужно создать учетную запись разработчика на сайте iot.tuya.com. Тут все просто, зарегистрировались, авторизовались.
В левом меню переходим Cloud -> Development -> Create Cloud Project

Имя выбираем по своему вкусу, а Industry и Development Method выбираем Smart Home. Data Center у читателей скорее всего будет Central Europe Data Center

Открываем созданный проект (Open Project в правой части окна). Нам будут нужны Access ID/Client ID и Access Secret/Client Secret, сохраним их в надежный текстовый файл на рабочем столе.

Далее переходим Devices -> Link App Account -> Add App Account. Увидим QR код.

Сканируем QR код из приложения Smart Life: Профиль -> сканер [рядом с шестеренкой], выбираем Automatic Link.

Связанные устройства теперь будут видны на iot.tuya.com во вкладке Devices. При добавлении новых устройств через приложение, они также появятся автоматически.
User ID смотрим на вкладке Devices -> Link App Account, поле UID. Тоже сохраняем в блокнотик.

Осталось значение local_key, его смотрим в CLoud -> API Explorer -> Device Management -> Query Device Details in Bulk.
Вводим device_ids (ищем его в Devices -> All Devices), жмем Submit Request, в окне результата ищем local_key. Его тоже сохраняем в блокнотик.

Возвращаемся в HA, вводим полученные данные в окно добавления хаба Tuya.

Все, хаб мы добавили, теперь можно подключать устройства.

У нас почему-то работает только ручное добавление: Add Device Manually, ладно, попробуем.
Начнем с простой смарт розетки. Где искать Device ID и Local Key мы знаем:

У кучи устройств объекты определяются автоматически, поэтому выбираем Discover device entities automatically

Розетка с объектами появилась:


Это все хорошо. Но согласитесь, вбивать каждый раз Device ID и Local Key — фигня какая-то. Почему не работает поиск устройств в локальной сети?
Это все потому, что мы ставили HA по другой инструкции из контейнера мы не видим локальную сеть и правильно делаем. Решения проблемы — либо используем
network_mode: 'host'
для HA контейнера, либо, если не хотим давать контейнеру возможность напрямую использовать сетевые ресурсы хоста, открываем порты (после этого не забудьте пересобрать контейнер)
ports:
- 6666:6666
- 6667:6667
После в скрипте <ha_dir>/custom_components/localtuya/discovery.py находим функцию start и в явном виде приписываем адрес нашей локальной сети в двух строках.
lambda: self, local_addr=("0.0.0.0", 6666), reuse_port=True
lambda: self, local_addr=("0.0.0.0", 6667), reuse_port=True
Скорее всего адрес сети у читателей 192.168.0.0 или 192.168.1.0. Если непонятно — почитайте про IP адреса и маску подсети.
Все, теперь Discovery работает. Что у нас еще завалялось из Tuya устройств? Ах да, сам герой обзора.
Local Tuya теперь видит устройства в нашей локальной сети

и самостоятельно подтягивает пользовательское имя устройства из приложения, Device ID, Local Key.


Вот только автоматическое определение объектов (сущностей — Entities) для сабжа не работает — данного ваттметра нет в поддержке Local Tuya (можно сделать вклад в развитие проекта). Значит прописываем объекты вручную -> Configure device entities manually

Выбираем тип объекта в логике HA

И выбираем сущность:

По наименованию объектов чаще всего затруднений не возникает (voltage, current, power, …), хотя тут же устанавливаются и калибровки, кроме того значения передаются без десятичной точки (устанавливаем Scaling Factor), так что нужно посматривать в приложение:

Даже работает:

Повторяем процесс для всех необходимых объектов:

Выбираем изменение существующего устройства, затем добавить новую сущность.

И повторяем для всех необходимых объектов.

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

- Война против мошек и комаров. Что лучше, лампа уничтожитель насекомых Solove Mosquito Lamp 002D или спиральки и дымные палочки
- Пинцет, для разрядки оставшегося напряжения на платах электроники.
- Это должен был быть шикарный девайс для катания яиц: антиобзор стойки для куриных яиц
- Наушники с котоушками. Быстроразбор.
- Фаскосниматель
- WACACO Pipamoka. Странная кофеварка
- Тестер изоляции (мегомметр)ANENG MH12 (HYTAIS TS58), измеряет на напряжении до 1000В
- Датчик наличия 220В для полу умного дома
- Усилители мощности звуковой частоты Nobsound NS-13G на TPA3116D2
- Термопринтер для печати этикеток NIIMBOT D110

