Недорогой счетчик электроэнергии на DIN рейку с esp8266 и возможностью передавать данные через MQTT

Наконец у меня дошли руки и до моего электрощита. В проекте автоматы и узо от одной французской фирмы, но их счетчик на дин рейку имеет только импульсный выход. 

Как альтернатива — использовать PZEM-004t, я уже писал о нем ранее, когда еще пользовался Domoticz. Но в таком случае нужно придумывать способ размещения в щитке. Самый простой способ — найти готовый модуль, с нормальной стоимостью и возможностью какой-либо интеграции в любой сервер автоматизаций.

Сейчас устройства с модулем ESP8266 становятся все доступнее и производители включают его во все более разношерстные устройства. Как итог — ZMAi-90. Модуль учета электроэнергии и сопутствующих ее характеристик с возможностью установки на стандартные din рейки и еспшкой внутри. Да еще и позволяющий управлять нагрузкой, так как в нем установлено реле.


Ссылка на ZMAi-90: https://aliexpress.ru/item/4000630131830.html
Ссылка на магазин Zemismart: https://aliexpress.ru/store/1848374


Поставляется ZMAi-90 в белой коробке без каких-либо надписей. 

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

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

Характеристики ниже:

Контакты расположены стандартно для устройств подобного типа — вверху вход, внизу выход

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

Разборка

Разбирается модуль довольно просто — откручиваем с обратной стороны два шурупа и разъединяем две половинки корпуса.

За WiFi отвечает TYWE3S

Внутри ZMAi-90 расположены 2 платы. Одна, вверху, с экраном, esp8266 и с обратной стороны с MCU. На нижней плате, с реле, находится электрическая часть с импульсным источником питания для электроники. Соединены коннекторами, один из которых припаян.

В ZMAi-90 за управление нагрузкой отвечает довольно массивного размера бистабильное реле с маркировкой ZM888N на 80А. Судя по расположению медных пластин, сделанное, видимо, специально для данного устройства. 

Чтобы добраться до mcu придется отпаять припаянную часть соединения двух плат

Расположенный на данной плате MCU имеет маркировку V9821 HKW562.11617

 

Перепрошивка ZMAi-90

Вот тут мы дошли до самого интересного. Прошить TYWE3S проще простого, а вот считывать показания с MCU V9821 было бы проблематично без колоссального труда по реверс инжинирингу данного модуля от автора блога creationfactory.co


Все его труды по ZMAi-90 расположены по следующим ссылкам:
Attempting to reverse engineer a home automation oriented smart-meter — Part 1

Reverse engineering the ZMAi-90 DIN rail meter/switch and integrating with Hass.io using Tasmota — Part 2

ZMAi-90 (or SMTONOFF WDS688) DIN rail meter/switch — more details on GPIOs and configuration

Ghost switching can be a bitch if your switch is your main circuit breaker


Там очень много интересной информации по ZMAi-90, почитайте. Поэтому пойдем по его пути, чтобы интегрировать ZMAi-90 в Home Assistant, прошив Тасмотой и научив ее читать и отправлять данные по MQTT.

Прошивается TYWE3S стандартным способом. 

Подключаемся USB-UART адаптером к контактам TX RX GND VCC подав GPIO0 на землю. 

Но при подаче питания через uart адаптер запустится и MCU. Чтобы этого избежать нужно RST пин MCU так же подать на GND. Удобное место отмечено на фото ниже:

Что я и сделал. 

Дальше можно смело подключать uart адаптер к ПК и прошивать любимым способом. Я предварительно сделал бэкап родной прошивки.

Пару слов о Тасмоте. На версии v8.2.0 Elliot есть косяк с публикацией прочтенных данных по uart. Поэтому я залил версию v8.1.0, файл tasmota.bin

 

Настройка отправки данных в Home Assistant

После подаем питание на ZMAi-90, подключаемся к новой открытой точке доступа tasmota_xxxx и настраиваем wifi с mqtt брокером

Далее в Configuration > Configure Module ставим Module type Generic (0). Тасмота перезагрузится.

После перезагрузки возвращаемся туда же и настраиваем все как на скриншоте:

Тасмота опять перезагрузится.

После переходим в консоль тасмоты и вводим поочередно две команды, устанавливающие верные настройки uart:

Baudrate 9600
SerialConfig 8E1

После введем четыре команды, настраивающие верное поведение реле после включения устройства:

PowerOnState 3
SwitchRetain 0
ButtonRetain 0
PowerRetain 0

И введем правило, публикующее через mqtt считанные данные с mcu:

Rule1 on System#Boot do RuleTimer1 5 endon on Rules#Timer=1 do backlog Baudrate 9600; SerialSend5 fe010f080000001c; RuleTimer1 5 endon

Правило взял из комментариев у автора creationfactory, которое решало определенные проблемы. Выполняется каждые 5 секунд, считывая и публикуя данные вида:

Теперь переходим к настройке на стороне Home Assistant. Добавляем переключатель реле в switches.yaml

- platform: mqtt
  name: zmai_90_general_switch
  state_topic: 'stat/zmai_90/RESULT'
  value_template: '{{ value_json["POWER"] }}'
  command_topic: 'cmnd/zmai_90/POWER'
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_on: 'ON'
  payload_off: 'OFF'
  payload_available: 'Online'
  payload_not_available: 'Offline'
  retain: false 

И добавляем датчики в sensors.yaml:

- platform: mqtt
  name: "zmai_90_consumed_energy"
  state_topic: "tele/zmai_90/RESULT"
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_available: 'Online'
  payload_not_available: 'Offline'
  value_template: >- 
    {% set message = value_json.SerialReceived %}
    {% set payload = message[6:14] %}
    {% set payload_len = (payload | length) %}
    {% set result = namespace(value='') %}
   
    {% for i in range(0, payload_len + 1) | reverse -%}
      {%- if i is divisibleby 2 -%}
        {%- set result.value = result.value + payload[i:i+2] -%}
      {%- endif -%}
    {%- endfor -%}
    
    {{ (result.value|float) / 100 }}
  unit_of_measurement: 'kWh'
  icon: mdi:circle-slice-3

- platform: mqtt
  name: "zmai_90_voltage"
  state_topic: "tele/zmai_90/RESULT"
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_available: 'Online'
  payload_not_available: 'Offline'
  value_template: >- 
    {% set message = value_json.SerialReceived %}
    {% set payload = message[14:22] %}
    {% set payload_len = (payload | length) %}
    {% set result = namespace(value='') %}
    
    {% for i in range(0, payload_len + 1) | reverse -%}
      {%- if i is divisibleby 2 -%}
        {%- set result.value = result.value + payload[i:i+2] -%}
      {%- endif -%}
    {%- endfor -%}
    
    {{ (result.value|float) / 10 }}
  unit_of_measurement: 'V'
  icon: mdi:flash-circle

- platform: mqtt
  name: "zmai_90_current"
  state_topic: "tele/zmai_90/RESULT"
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_available: 'Online'
  payload_not_available: 'Offline'
  value_template: >- 
    {% set message = value_json.SerialReceived %}
    {% set payload = message[22:30] %}
    {% set payload_len = (payload | length) %}
    {% set result = namespace(value='') %}
    
    {% for i in range(0, payload_len + 1) | reverse -%}
      {%- if i is divisibleby 2 -%}
        {%- set result.value = result.value + payload[i:i+2] -%}
      {%- endif -%}
    {%- endfor -%}
    
    {{ (result.value|float) / 10000 }}
  unit_of_measurement: 'A'
  icon: mdi:flash-auto

- platform: mqtt
  name: "zmai_90_frequency"
  state_topic: "tele/zmai_90/RESULT"
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_available: 'Online'
  payload_not_available: 'Offline'
  value_template: >- 
    {% set message = value_json.SerialReceived %}
    {% set payload = message[30:38] %}
    {% set payload_len = (payload | length) %}
    {% set result = namespace(value='') %}
    
    {% for i in range(0, payload_len + 1) | reverse -%}
      {%- if i is divisibleby 2 -%}
        {%- set result.value = result.value + payload[i:i+2] -%}
      {%- endif -%}
    {%- endfor -%}
    
    {{ (result.value|float) / 100 }}
  unit_of_measurement: 'Hz'
  icon: mdi:current-ac

- platform: mqtt
  name: "zmai_90_active_power"
  state_topic: "tele/zmai_90/RESULT"
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_available: 'Online'
  payload_not_available: 'Offline'
  value_template: >- 
    {% set message = value_json.SerialReceived %}
    {% set payload = message[38:46] %}
    {% set payload_len = (payload | length) %}
    {% set result = namespace(value='') %}
    
    {% for i in range(0, payload_len + 1) | reverse -%}
      {%- if i is divisibleby 2 -%}
        {%- set result.value = result.value + payload[i:i+2] -%}
      {%- endif -%}
    {%- endfor -%}
    
    {{ (result.value|float) / 100 }}
  unit_of_measurement: 'W'    
  icon: mdi:flash-outline

- platform: mqtt
  name: "zmai_90_reactive_power"
  state_topic: "tele/zmai_90/RESULT"
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_available: 'Online'
  payload_not_available: 'Offline'
  value_template: >- 
    {% set message = value_json.SerialReceived %}
    {% set payload = message[46:54] %}
    {% set payload_len = (payload | length) %}
    {% set result = namespace(value='') %}
    
    {% for i in range(0, payload_len + 1) | reverse -%}
      {%- if i is divisibleby 2 -%}
        {%- set result.value = result.value + payload[i:i+2] -%}
      {%- endif -%}
    {%- endfor -%}
    
    {{ (result.value|float) / 100 }}
  unit_of_measurement: 'W'
  icon: mdi:flash-outline

- platform: mqtt
  name: "zmai_90_apparent_power"
  state_topic: "tele/zmai_90/RESULT"
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_available: 'Online'
  payload_not_available: 'Offline'
  value_template: >- 
    {% set message = value_json.SerialReceived %}
    {% set payload = message[54:62] %}
    {% set payload_len = (payload | length) %}
    {% set result = namespace(value='') %}
    
    {% for i in range(0, payload_len + 1) | reverse -%}
      {%- if i is divisibleby 2 -%}
        {%- set result.value = result.value + payload[i:i+2] -%}
      {%- endif -%}
    {%- endfor -%}
    
    {{ (result.value|float) / 100 }}
  unit_of_measurement: 'W'
  icon: mdi:flash-outline

- platform: mqtt
  name: "zmai_90_power_factor"
  state_topic: "tele/zmai_90/RESULT"
  availability_topic: 'tele/zmai_90/LWT'
  qos: 1
  payload_available: 'Online'
  payload_not_available: 'Offline'
  value_template: >- 
    {% set message = value_json.SerialReceived %}
    {% set payload = message[62:70] %}
    {% set payload_len = (payload | length) %}
    {% set result = namespace(value='') %}
    
    {% for i in range(0, payload_len + 1) | reverse -%}
      {%- if i is divisibleby 2 -%}
        {%- set result.value = result.value + payload[i:i+2] -%}
      {%- endif -%}
    {%- endfor -%}
    
    {{ (result.value|float) / 10 }}
  unit_of_measurement: '%'
  icon: mdi:percent-outline

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

И после перезагрузки HA настраиваем карточку с датчиками:

Отличительные особенности альтернативной прошивки — возможность настроить отображение большего количества информации, чем в родной прошивке Tuya. Так же возможность настроить кнопку на корпусе, чтобы она отвечала за реле. На родной прошивке она выполняет только функцию сопряжения. 

Небольшое видео, демонстрирующее обновление информации на встроенном дисплее:

 

Заключение

За умеренную сумму можно поставить себе в щиток универсальный прибор, который отображает данные на встроенном экране и отправляет их в ваш сервер «умного дома». Возможность управление нагрузкой я так же считаю очень полезной функцией. Реле с очень большим запасом по мощности, так как 80А в частном доме/квартире явно не будет. Даже если грубо разделить на 2, то это 40, при том, что вводные автоматы сотрудники наших электросетей рекомендуют ставить на 25А. Итого по реле запас больше чем в три раза. Как поведет себя данный модуль покажет только время, пока что я им полностью доволен.

5 5 голоса
Рейтинг статьи

Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

82 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
Sem2000
Sem2000
7 месяцев назад

Edit

ViktorSWA
ViktorSWA
7 месяцев назад

Добрый день.
Спасибо за помощь в обсуждениях на сайте Creation Factory.
Все получилось.
У вас в карточке есть переключатель «Восстановление состояния». Я так понимаю, это какой-то скрипт для того чтобы НА считал состояние реле при перезагрузке сервера или при реконнекте девайса?

ViktorSWA
ViktorSWA
7 месяцев назад
Ответить на  kvv

Добрый день.
Состояние реле, при перезагрузке счетчика, запоминается. Т.е. все работает как надо.
Но есть одно «но». Если перегрузить сервер HA в тот момент, когда реле включено, то положение ползунка general-meter-switch находится в положении OFF. Его надо переключить «руками». Не очень как то… как это победить?

ViktorSWA
ViktorSWA
7 месяцев назад
Ответить на  kvv

Спасибо! Все работает как надо.
П.С. Это была моя первая автоматизация 🙂

evgrs
evgrs
5 месяцев назад

Скажите, пожалуйста. Возможно ли прошить данное устройство при помощи tuya-convert?

Smoky13
Smoky13
5 месяцев назад

Правильно я понимаю, что без перепрошивки не завести в HA?

Smoky13
Smoky13
5 месяцев назад
Ответить на  kvv

Те вариант как у сяоми вайфай девайсов не получится, у сяоми получаешь токен устройства и вперед) Я просто паять не умею и скорей всего только испорчу, как я понимаю есть вариант с tuya-convert, но это не точно что получится.

Sem2000
Sem2000
5 месяцев назад
Ответить на  kvv

Вот бы такую штуку, только 3-х фазную. Ну не 3 же рядом ставить, не элегантно.
И почему не в esphome прошивали ? Почему тасмота и mqtt ,

Sem2000
Sem2000
5 месяцев назад
Ответить на  kvv

Думал, много места все занимает. Придется еще модули esp? блоки питания… В общем не элегантно.

meandes
meandes
5 месяцев назад

Спасибо. Реализовал аналогичное решение все работает. Есть одно замечание у вас отсутствует команда по активации правила тасмота которое есть в оригинальной статье. Без него mqtt пакеты не шлются, enable the rule by typing:
Rule1 1 и еще я бы добавил скриншот с приемром конфигурации mqtt с корректным значением topic zmai_90


motorkk7
motorkk7
3 месяцев назад

Привет, будьте добры, сделайте скриншот настроек MQTT в Тасмоте. И еще вопрос в настройках модуля у первоисточника RX GPIO3 — Serial RX(149), а у Вас на скриншоте нет. Как правильно? Благодарю!

motorkk7
motorkk7
3 месяцев назад

Не понимаю, делаю вроде все по Вашему описанию, модуль прошил, пытаюсь прописать правила в Тасмоту, но постоянно сбрасываются настройки и модуль уходит в ребут, становится точкой доступа. Прошу помогите!

motorkk7
motorkk7
3 месяцев назад
Ответить на  kvv

Прошивал утилитой flash_download_tools_v3.6.8. Попробовал прошить платку Wemos D1, такая же история. Засада. Можно все же сделать скриншот настроек MQTT в Тасмоте?

Последний раз редактировалось 3 месяцев назад motorkk7 ем
motorkk7
motorkk7
3 месяцев назад
Ответить на  kvv

Спасибо, я прошу скрин настроек MQTT

motorkk7
motorkk7
3 месяцев назад
Ответить на  kvv

Благодарю! Буду пытаться дальше

motorkk7
motorkk7
3 месяцев назад
Ответить на  kvv

Добрый день. Вроде домучал модуль, но не конца. В консоли получается так

Скрин 1.PNG
motorkk7
motorkk7
3 месяцев назад
Ответить на  motorkk7

Там нет строчки, как у Вас
02:59:15 MQT: tele/general-meter-switch/RESULT = {«SerialReceived»:»FE01083002000076230000808404000050000028431100000000007253110000100000A6″}
Соответственно результаты с сенсоров не приходят — «unknown» . Может что посоветуете, куда копать?

Alex
Alex
2 месяцев назад
Ответить на  kvv

А куда конфигурацию Serial RX потеряли? В исходном материале она есть.

tastra
tastra
3 месяцев назад
Ответить на  motorkk7

Проблему решили?
У меня тоже сбрасывается

tastra
tastra
3 месяцев назад
Ответить на  kvv

А вы чем шили?

tastra
tastra
3 месяцев назад
Ответить на  tastra

tasmotizer-1.1

motorkk7
motorkk7
3 месяцев назад
Ответить на  tastra

Привет, пока нет. Честно говоря, пока отложил это дело.

motorkk7
motorkk7
3 месяцев назад
Ответить на  motorkk7

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

Oleg
Oleg
1 месяц назад
Ответить на  motorkk7

У меня такая же ситуация.

Nsys
Nsys
3 месяцев назад

А можно ли данный девайс ставить сразу после вводного автомата, чтобы мерить потребление всей квартиры?

Последний раз редактировалось 3 месяцев назад Nsys ем
Nsys
Nsys
3 месяцев назад
Ответить на  kvv

Ну, судя по тому, что на меркурии в подъезде стоит маркировка 5 (50) А — думаю что все-таки можно. Заказал, буду ставить.

tastra
tastra
3 месяцев назад
Ответить на  Nsys

tasmotizer-1.1

motorkk7
motorkk7
3 месяцев назад
Ответить на  tastra

Для новой версии ZMAI 90 все по другому. Вот, что говорят на странице разработчика в обсуждении
Have configured both with below steps:
1) Flashed Tasmota 8.4 by serial cable
2) Set module as Tuya MCU (54)
3) run:
a)Backlog SetOption66 1; TuyaMCU 32,17; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1
b)Rule1 on System#Boot do RuleTimer1 10 endon on Rules#Timer=1 do backlog SerialSend5 55aa0001000000; RuleTimer1 10 endon
c)Rule1 1
Еще обещают прошивку ESPHome

tastra
tastra
3 месяцев назад
Ответить на  motorkk7

Спасибо попробую

tastra
tastra
3 месяцев назад
Ответить на  tastra

Home Assistant тоже самое прописываем

tastra
tastra
3 месяцев назад
Ответить на  motorkk7

Не подскажите как вывести данные в HA

motorkk7
motorkk7
2 месяцев назад
Ответить на  tastra

Привет, нет не получается

Alex
Alex
2 месяцев назад
Ответить на  motorkk7

Сработало. Версия ZMAi-90 дейтсвительно другая, даже плата отличается местами. Теперь надо где-то читать чего оно вываливает в ответ, и как это парсить, ибо гораздо больше вываливает.

tastra
tastra
2 месяцев назад
Ответить на  Alex

как вывели в НА

Alex
Alex
2 месяцев назад
Ответить на  motorkk7

Скорее всего так:

Backlog SetOption66 1; TuyaMCU 32,19; TuyaMCU 31,18; TuyaMCU 33,20; SetOption59 1

Иначе показывает бред.

Alex
Alex
2 месяцев назад
Ответить на  Alex

Так правильно:

Backlog SetOption66 1; TuyaMCU 32,18; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1

Nsys
Nsys
2 месяцев назад
Ответить на  Alex

Прошился PyFlasher’ом на 8.5.0, постоянно отваливается после настройки вайфая, ничего не могу толком поменять, не успеваю. У всех так?

Nsys
Nsys
2 месяцев назад
Ответить на  Nsys

А нет, пропаял все выводы еще раз, там на каком-то пине сопля на кожух чипа повисла, видимо это и было причиной перезагрузок. Сейчас уже 40 мин аптайм, без перезагрузок.

motorkk7
motorkk7
2 месяцев назад
Ответить на  Alex

Привет, получилось данные пробросить в НА? У меня в морде тасмоты все отображается, а в НА все сенсоры —
unknown. Только switch работает

Морда тасмоты.PNG
motorkk7
motorkk7
2 месяцев назад
Ответить на  motorkk7

НА

Морда НА.PNG
motorkk7
motorkk7
2 месяцев назад
Ответить на  motorkk7

В MQTT информация отправляется

морда MQTT.PNG
tastra
tastra
2 месяцев назад
Ответить на  motorkk7

У меня тоже в НА не отображаются

Nsys
Nsys
2 месяцев назад
Ответить на  tastra

Настроил сенсор в HA:

sensor:
 - platform: mqtt
  state_topic: 'tele/zmai90/SENSOR'
  name: 'Power'
  unit_of_measurement: 'W'
  value_template: '{{ value_json.ENERGY.Power }}'

Но проблема следующая, пока не понял как победить. Utility Meter просто складывает показания, в итоге получается что за сутки расходуется по 100 квт/ч, что не есть верно)

motorkk7
motorkk7
2 месяцев назад
Ответить на  Nsys

привет, а какие параметры закидываешь в консоль тасмоты?

Nsys
Nsys
2 месяцев назад
Ответить на  motorkk7

Backlog SetOption66 1; TuyaMCU 32,18; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1

вот эти

motorkk7
motorkk7
2 месяцев назад
Ответить на  Nsys

Rule1 on System#Boot do RuleTimer1 5 endon on Rules#Timer=1 do backlog SerialSend5 55aa0001000000; RuleTimer1 5 endon
А это тоже надо? Если можно, скинь все параметры, которые загружаешь в консоли построчно.

Nsys
Nsys
2 месяцев назад
Ответить на  motorkk7

Нет, правило не обязательно. Достаточно той строки. Вроде разобрался с utility meter, если применить riemann sum, то начинает считать более или менее нормально.
Добавил еще в консоли TelePeriod 10, чтобы данные отправлялись каждые 10 сек.
Кстати, SetOption59 1 судя по всему не работает, т.к. по документации эта опция дублирует показания в топик stat, но там ничего не появляется.

Nsys
Nsys
2 месяцев назад
Ответить на  Nsys

И кстати, SetOption19 1 включает HA Autodiscovery на устройстве. Головняк с прописыванием счетчиков вручную пропадает))

Nsys
Nsys
2 месяцев назад
Ответить на  Nsys

Вот

Снимок экрана 2020-09-12 в 22.34.49.png
motorkk7
motorkk7
2 месяцев назад
Ответить на  Nsys

Супер, все работает! Теперь можно в щиток ставить

tastra
tastra
2 месяцев назад
Ответить на  Nsys

Спасибо теперь все работает

AlexGavs
AlexGavs
1 месяц назад
Ответить на  Nsys

Привет, покажи, как прикрутил реймана к utility.meter.
второй день не могу счетчик настроить, можно конечно разделить счетчики daily, montly, yearly на 3600 Тогда нор получается. но как то не по феншую

tastra
tastra
2 месяцев назад
Ответить на  motorkk7

Да это тоже надо

tastra
tastra
2 месяцев назад
Ответить на  Nsys

а ток и напряжение не выводил

star0s
star0s
1 месяц назад
Ответить на  motorkk7

У меня сработало

Backlog SetOption66 1; TuyaMCU 0,17; TuyaMCU 32,18; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1

Похоже что еще надо для обновления при перезагрузки :
Rule2 on System#Boot do Power 1 endon

Последний раз редактировалось 1 месяц назад star0s ем
Вячеслав
Вячеслав
3 месяцев назад
Ответить на  kvv

по кнопке отключения он отключит сам себя и уже не включит, т.к. вифи подключено после него

Вячеслав
Вячеслав
3 месяцев назад
Ответить на  Nsys

Приветствую всех. На днях приехал сей девайс. Вот сижу, кумекаю. Тоже предполагал поставить для возможности дистанционного контроля электро потребления всей квартиры. У меня возникает два вопроса: 1- при установке на входе питания квартиры (после автомата или имеющегося счетчика) существует весьма большая вероятность случайного отключения всей квартиры включая и сам роутер. Кнопка вкл\выкл в приложении слишком уж приоритетная по интерфейсу. Последующее включение получается невозможным ввиду отсутствия сети вифи. Как этого избежать? Я уже разобрал счетчик, думал тупо отключить управляющие провода на реле, но не уверен чего отключать и можно ли.. 2- хотелось бы установить начальные показатели счетчика равными крайним показателям имеющегося… Подробнее »

Oleg
Oleg
1 месяц назад

Сбрасываются настройки после настройки wi-fi и конфигурации пинов.. иногда удается в консоли ввести пару команд… и все сбрасывается. Пробовал на прошивке автора и на последней с сайта . Почитал и понял что не у одного меня эта проблема.У кого-нибудь получилось решить?

Devastator_alex
Devastator_alex
20 дней назад
Ответить на  Oleg

На новых устройствах, что бы не сбрасывались настройки:
Поставить устройство Tuya MCU (54) а не Generic(0)

ввести в консоли:
1)Backlog SetOption66 1; TuyaMCU 32,17; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1
2)Rule1 on System#Boot do RuleTimer1 10 endon on Rules#Timer=1 do backlog SerialSend5 55aa0001000000; RuleTimer1 10 endon
3)Rule1 1

всё

AlexBraun
AlexBraun
18 дней назад
Ответить на  Devastator_alex

Заметил такую неприятную штуку.
Специально отрубил питание и потом опять включил. На индикаторе суммарно потраченные кВч остались, т. е. в самом модуле эта информация остается, но по MQTT данные приходят опять с нуля. То есть при пропадании напряжения сети, накопленная информация о потреблении в HASS перезатирается. Как то можно вытягивать из счетчика накопленные данные потребления? Или вообще, где то есть полное описание всех команд и опций которые можно отсылать в счетчик и получать данные с него?

Владимир Ростовский
Владимир Ростовский
18 дней назад

я так и не понял каким образом можно назначить кнопке спаринга физическое включение/отключение реле ? нерационально ставить такое устройство без физ. включателя.

AlexBraun
AlexBraun
17 дней назад

В новой версии устройства, никак. Китайцы изменили топологию схемы. И теперь кнопка подключена не к ESP-шке, а к главному контроллеру V9821. Раньше, через Tasmota прошивку, можно было переназначить кнопку и выход реле (реле тоже управлялось ESP). Теперь ESP-шка, это просто шлюз для связи с внешним миром. Всем остальным занимается V9821
Разве что поискать у китайских продавцов эти «счетчики» выпуска конца 2019, начала 2020 года.

Владимир Ростовский
Владимир Ростовский
17 дней назад
Ответить на  AlexBraun

да мне уже пришла, походу новая версия. попадос аднака. 🙁 прошил на 9.1.0 все бы хорошо но глюкаво работает. если нагрузки нет — после ребута через web интерфейс показания в НОЛЬ, даже вольтаж не показывает (хотя замеры показывает потребление менее 10Вт, реакция на такую нагрузку нет). Надо включать и отключать (Toggle) либо подавать нагрузку — тогда данные начинают ползти и передаваться в MQTT. в какой то прекрасный момент счетчик за целый день показывает значение 2234кВт. это просто абзадц.

Последний раз редактировалось 17 дней назад Владимир Ростовский ем
AlexBraun
AlexBraun
16 дней назад

Очень странно. Меняли время опроса показаний и отправки по MQTT?
По умолчанию там 5 минут. Я установил раз в 10 сек. Так вполне нормально и не напряжно для сети.
Плюс вчера я таки раскурил протокол обмена и теперь вывожу не только текущие показания, но и вывел суммарно потребленную электроэнергию, которую хранит счетчик за весь период и который не пропадает после сброса питания.

Screenshot_Home Assistant.png
Константин Магнитов
Константин Магнитов
9 дней назад
Ответить на  AlexBraun

Как суммарную получить, какой строчкой? Вижу на скрине десятые доли напряжения — у меня почему-то показывает только целые. И еще вопрос — на дисплее счетчика показвает напряжение верное, а вот силу тока, потребляемую мощность — слишком маленькие цифры, хотя в mqtt и в интерфейсе тасмоты показывает нормальные значения.

AlexBraun
AlexBraun
7 дней назад

Как суммарную получить, какой строчкой? Вижу на скрине десятые доли напряжения — у меня почему-то показывает только целые Из счетчика прошивка Тасмота по MQTT публикует в несколько топиков на брокере: tele/tasmota_XXXXXX/STATE tele/tasmota_XXXXXX/SENSOR tele/tasmota_XXXXXX/HASS_STATE tele/tasmota_XXXXXX/RESULT Первые три HASS парсит и создает несколько объектов для сбора данных. Телеметрия, данные о версии прошивки, время включения, сигнал RSSI и т. д. Из топика tele/tasmota_XXXXXX/SENSOR { "Time":"2020-11-25T09:35:29", "ENERGY": { "TotalStartTime":"2020-11-12T13:50:15", "Total":0.145, "Yesterday":0.000, "Today":0.000, "Period":0, "Power":0, "ApparentPower":0, "ReactivePower":0, "Factor":0.00, "Voltage":217, "Current":0.000 } } Этот топик и разбирается в HASS и можно использовать в карточках Lovelase. Но как видно из JSON строки, Напряжение приходит округленное до целого.… Подробнее »

Последний раз редактировалось 7 дней назад AlexBraun ем
Константин Магнитов
Константин Магнитов
6 дней назад
Ответить на  AlexBraun

Отлично! спасибо, все получилось