Недорогой счетчик электроэнергии на 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
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А. Итого по реле запас больше чем в три раза. Как поведет себя данный модуль покажет только время, пока что я им полностью доволен.
Edit
Добрый день.
Спасибо за помощь в обсуждениях на сайте Creation Factory.
Все получилось.
У вас в карточке есть переключатель «Восстановление состояния». Я так понимаю, это какой-то скрипт для того чтобы НА считал состояние реле при перезагрузке сервера или при реконнекте девайса?
Здравствуйте, рад был помочь) Восстановление состояния, это я средствами ha сделал пару автоматизаций чтения состояния перед недоступностью реле и восстановления после доступности. На Creation Factory я выше в комментариях писал их код. Позже уже смог настроить средствами тасмоты, поэтому этот переключатель теперь без надобности)) если нужно, могу скинуть код сюда , на Creation Factory все сбилось в кучу
Добрый день.
Состояние реле, при перезагрузке счетчика, запоминается. Т.е. все работает как надо.
Но есть одно «но». Если перегрузить сервер HA в тот момент, когда реле включено, то положение ползунка general-meter-switch находится в положении OFF. Его надо переключить «руками». Не очень как то… как это победить?
не обновляется статус по mqtt, изучу этот вопрос
Если не углубляться в дебри mqtt, то эту проблему решает простейшая автоматизация на стороне HA, взятая отсюда: https://tasmota.github.io/docs/Home-Assistant/#useful-automations
У меня работает ?
Спасибо! Все работает как надо.
П.С. Это была моя первая автоматизация 🙂
Мои первые автоматизации давались мне с трудом) зато когда чуть вник в их механику…)
Скажите, пожалуйста. Возможно ли прошить данное устройство при помощи tuya-convert?
Скорее всего да. Все зависит от того, с какой версией туя прошивки придет ваш экземпляр.
Правильно я понимаю, что без перепрошивки не завести в HA?
Может только через tuya компонент. Я не пробовал, но даже если заведется, это будет через китайские облака.
Те вариант как у сяоми вайфай девайсов не получится, у сяоми получаешь токен устройства и вперед) Я просто паять не умею и скорей всего только испорчу, как я понимаю есть вариант с tuya-convert, но это не точно что получится.
Да, к сожалению нормальной интеграции для локального управления туя устройствами нет. Есть какие-то пользовательские, но не со всеми устройствами работают. Ищите по словам ‘local tuya’. Там тоже нужно получать что-то вроде токенов . Родная интеграция в ha, соответственно, через облака. Разработчики говорили, что представители tuya им разрешили только так. Поэтому и шьём)
Вот бы такую штуку, только 3-х фазную. Ну не 3 же рядом ставить, не элегантно.
И почему не в esphome прошивали ? Почему тасмота и mqtt ,
Трёхфазный такой счётчик не встречал, только если три pzem в корпус засунуть).
Думал, много места все занимает. Придется еще модули esp? блоки питания… В общем не элегантно.
Мне кажется я видел на Али какие-то автоматы с функцией счётчика для трёхфазных сетей. Но, естественно, на tuya прошивке.
Спасибо. Реализовал аналогичное решение все работает. Есть одно замечание у вас отсутствует команда по активации правила тасмота которое есть в оригинальной статье. Без него mqtt пакеты не шлются, enable the rule by typing:
Rule1 1 и еще я бы добавил скриншот с приемром конфигурации mqtt с корректным значением topic zmai_90
Привет, будьте добры, сделайте скриншот настроек MQTT в Тасмоте. И еще вопрос в настройках модуля у первоисточника RX GPIO3 — Serial RX(149), а у Вас на скриншоте нет. Как правильно? Благодарю!
Не понимаю, делаю вроде все по Вашему описанию, модуль прошил, пытаюсь прописать правила в Тасмоту, но постоянно сбрасываются настройки и модуль уходит в ребут, становится точкой доступа. Прошу помогите!
Такое не встречал. Именно сбрасывает? Каким способом прошивали?
Прошивал утилитой flash_download_tools_v3.6.8. Попробовал прошить платку Wemos D1, такая же история. Засада. Можно все же сделать скриншот настроек MQTT в Тасмоте?
Очень странно..
Скрин настроек тасмоты прилагаю
Спасибо, я прошу скрин настроек MQTT
Не заметил
Благодарю! Буду пытаться дальше
Добрый день. Вроде домучал модуль, но не конца. В консоли получается так
Там нет строчки, как у Вас
02:59:15 MQT: tele/general-meter-switch/RESULT = {«SerialReceived»:»FE01083002000076230000808404000050000028431100000000007253110000100000A6″}
Соответственно результаты с сенсоров не приходят — «unknown» . Может что посоветуете, куда копать?
У меня тоже проблема с постоянным ребутом. Подскажите пжл, как победили эту проблему?
А куда конфигурацию Serial RX потеряли? В исходном материале она есть.
Проблему решили?
У меня тоже сбрасывается
Тоже шили через tuya-convert?
А вы чем шили?
tasmotizer-1.1
Привет, пока нет. Честно говоря, пока отложил это дело.
Попробовал настроить модуль без кнопки и реле, пока работает уже 3 часа, данные в MQTT гонит. Может так и оставлю, не критично пользоваться без реле. Пока так
У меня такая же ситуация.
А можно ли данный девайс ставить сразу после вводного автомата, чтобы мерить потребление всей квартиры?
Насколько я понял, у автора интеграции, по приведенным ссылкам, он так и работает. У меня, пока ремонт, он стоит на линию освещения. Тоже хочу поставить на мониторинг всего дома,
Ну, судя по тому, что на меркурии в подъезде стоит маркировка 5 (50) А — думаю что все-таки можно. Заказал, буду ставить.
tasmotizer-1.1
Для новой версии 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
Спасибо попробую
Home Assistant тоже самое прописываем
Не подскажите как вывести данные в HA
Привет, нет не получается
Сработало. Версия ZMAi-90 дейтсвительно другая, даже плата отличается местами. Теперь надо где-то читать чего оно вываливает в ответ, и как это парсить, ибо гораздо больше вываливает.
как вывели в НА
Скорее всего так:
Backlog SetOption66 1; TuyaMCU 32,19; TuyaMCU 31,18; TuyaMCU 33,20; SetOption59 1
Иначе показывает бред.
Так правильно:
Backlog SetOption66 1; TuyaMCU 32,18; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1
Прошился PyFlasher’ом на 8.5.0, постоянно отваливается после настройки вайфая, ничего не могу толком поменять, не успеваю. У всех так?
А нет, пропаял все выводы еще раз, там на каком-то пине сопля на кожух чипа повисла, видимо это и было причиной перезагрузок. Сейчас уже 40 мин аптайм, без перезагрузок.
Привет, получилось данные пробросить в НА? У меня в морде тасмоты все отображается, а в НА все сенсоры —
unknown. Только switch работает
НА
В MQTT информация отправляется
У меня тоже самое. Подскажите пжл, как связали с ХА
У меня тоже в НА не отображаются
Настроил сенсор в HA:
Но проблема следующая, пока не понял как победить. Utility Meter просто складывает показания, в итоге получается что за сутки расходуется по 100 квт/ч, что не есть верно)
привет, а какие параметры закидываешь в консоль тасмоты?
Backlog SetOption66 1; TuyaMCU 32,18; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1
вот эти
Rule1 on System#Boot do RuleTimer1 5 endon on Rules#Timer=1 do backlog SerialSend5 55aa0001000000; RuleTimer1 5 endon
А это тоже надо? Если можно, скинь все параметры, которые загружаешь в консоли построчно.
Нет, правило не обязательно. Достаточно той строки. Вроде разобрался с utility meter, если применить riemann sum, то начинает считать более или менее нормально.
Добавил еще в консоли TelePeriod 10, чтобы данные отправлялись каждые 10 сек.
Кстати, SetOption59 1 судя по всему не работает, т.к. по документации эта опция дублирует показания в топик stat, но там ничего не появляется.
И кстати, SetOption19 1 включает HA Autodiscovery на устройстве. Головняк с прописыванием счетчиков вручную пропадает))
Вот
Супер, все работает! Теперь можно в щиток ставить
Скажите пжл как в ХА интегрировали?
Спасибо теперь все работает
Привет, покажи, как прикрутил реймана к utility.meter.
второй день не могу счетчик настроить, можно конечно разделить счетчики daily, montly, yearly на 3600 Тогда нор получается. но как то не по феншую
Да это тоже надо
а ток и напряжение не выводил
У меня сработало
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- при установке на входе питания квартиры (после автомата или имеющегося счетчика) существует весьма большая вероятность случайного отключения всей квартиры включая и сам роутер. Кнопка вкл\выкл в приложении слишком уж приоритетная по интерфейсу. Последующее включение получается невозможным ввиду отсутствия сети вифи. Как этого избежать? Я уже разобрал счетчик, думал тупо отключить управляющие провода на реле, но не уверен чего отключать и можно ли.. 2- хотелось бы установить начальные показатели счетчика равными крайним показателям имеющегося… Подробнее »
Сбрасываются настройки после настройки wi-fi и конфигурации пинов.. иногда удается в консоли ввести пару команд… и все сбрасывается. Пробовал на прошивке автора и на последней с сайта . Почитал и понял что не у одного меня эта проблема.У кого-нибудь получилось решить?
На новых устройствах, что бы не сбрасывались настройки:
Поставить устройство 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
всё
Заметил такую неприятную штуку.
Специально отрубил питание и потом опять включил. На индикаторе суммарно потраченные кВч остались, т. е. в самом модуле эта информация остается, но по MQTT данные приходят опять с нуля. То есть при пропадании напряжения сети, накопленная информация о потреблении в HASS перезатирается. Как то можно вытягивать из счетчика накопленные данные потребления? Или вообще, где то есть полное описание всех команд и опций которые можно отсылать в счетчик и получать данные с него?
я так и не понял каким образом можно назначить кнопке спаринга физическое включение/отключение реле ? нерационально ставить такое устройство без физ. включателя.
В новой версии устройства, никак. Китайцы изменили топологию схемы. И теперь кнопка подключена не к ESP-шке, а к главному контроллеру V9821. Раньше, через Tasmota прошивку, можно было переназначить кнопку и выход реле (реле тоже управлялось ESP). Теперь ESP-шка, это просто шлюз для связи с внешним миром. Всем остальным занимается V9821
Разве что поискать у китайских продавцов эти «счетчики» выпуска конца 2019, начала 2020 года.
да мне уже пришла, походу новая версия. попадос аднака. 🙁 прошил на 9.1.0 все бы хорошо но глюкаво работает. если нагрузки нет — после ребута через web интерфейс показания в НОЛЬ, даже вольтаж не показывает (хотя замеры показывает потребление менее 10Вт, реакция на такую нагрузку нет). Надо включать и отключать (Toggle) либо подавать нагрузку — тогда данные начинают ползти и передаваться в MQTT. в какой то прекрасный момент счетчик за целый день показывает значение 2234кВт. это просто абзадц.
Очень странно. Меняли время опроса показаний и отправки по MQTT?
По умолчанию там 5 минут. Я установил раз в 10 сек. Так вполне нормально и не напряжно для сети.
Плюс вчера я таки раскурил протокол обмена и теперь вывожу не только текущие показания, но и вывел суммарно потребленную электроэнергию, которую хранит счетчик за весь период и который не пропадает после сброса питания.
Как суммарную получить, какой строчкой? Вижу на скрине десятые доли напряжения — у меня почему-то показывает только целые. И еще вопрос — на дисплее счетчика показвает напряжение верное, а вот силу тока, потребляемую мощность — слишком маленькие цифры, хотя в mqtt и в интерфейсе тасмоты показывает нормальные значения.
Как суммарную получить, какой строчкой? Вижу на скрине десятые доли напряжения — у меня почему-то показывает только целые Из счетчика прошивка Тасмота по 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 строки, Напряжение приходит округленное до целого.… Подробнее »
Отлично! спасибо, все получилось
Добрый день, а можно у вас попросить конфиг этот для отображения в lovelace? Очень у вас понравился)
удерживайте кнопку больше 5 секунд
Для любителей domoticz ,а так же для внутреннего подсчета день\ночь добавил 2 правила НО требуется билд tasmota-fullrules.bin тк не работает +-*\ в рулах обычных релизов качать тут https://github.com/tasmota/binaries правило 3 постоянно работает правило 2 включается для правки текущих показаний со счетчика rule2 1 после ребута правило отключается в нем mem1 дневные показания текущие mem2 ночные показания текущие !еще надо выставить таймзону в моем случае Timezone +3 (команда в консоле) в правиле еще условие с 7:00 до 23:00 дневной тариф т.е. 420 минут и 1380 минут, но если надо с поправкой, ибо у моего счетчика время отстает на 10 минут (то… Подробнее »
Хочу использовать это устройство для приоритезации нагрузки.
Надо при превышении определенного порога мощьности выдавать команды на отключение определенных потребителей нагрузки через Home Assistant.
Это устройство отлично работает, но неустраивает время реакции. Опрос с частотой 10 секунд — это очень много. Мне надо ~1сек. Похоже на то, что меньше сделать нельзя.
Смотрю в сторону того, что можно создать тригер типа sensor.power. Читал документацию — не смог до конца разобраться.
Может кто-то это уже делал? и есть готовое решение?
Добрый день
25.01.2021 получил устройство с модулем wb3s tuya вместо TYWЕ3S.
Кто нибудь знает как прошить wb3s?
никак пока еще никак. я сейчас перепаял его на esp12. возможно настрою.
очень ждем
В общем все пока непонятно. Модуль успешно пересажен на ESP-12 и прошит тасмотой 9.2 через программатор.
Поставил устройство Tuya MCU (54)в консоли:
1)Backlog SetOption66 1; TuyaMCU 0,17; TuyaMCU 32,18; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1
2)Backlog Rule1 1; Rule1 on System#Boot do RuleTimer1 5 endon on Rules#Timer=1 do backlog SerialSend5 55aa0001000000; RuleTimer1 5 endon
И никакие показания морда тасмоты не выводит все по нулям. В логах вроде сумел найти ответ на опрос общую мощность и напряжение и все. Дальше не знаю куда двигать.
Я тоже перепаял модуль на ESP-12 с прошивкой тасмоты. Но к сожалению тоже в морде тасмоты все по 0. Хотя в логе видать что есть информация. Как ее забирать? может вам уже получилось чтото получить?
Получилось только вкл-выкл реле. В логах вроде проскакивает напряжение и общая мощность при установке максимального вывода деталей, параметр weblog4 (кажется). Но в тасмоту его втащить не могу и в MQTT тоже. Все я в тупике.
Я тоже изучаю логи. И похоже по MQTT отправляется весь ответ в бинарной форме. Сколько видно в одной посылке есть общее потребление а вдругой посылке напряжение. Как забрать эти в данные в НА пока не знаю (в темплейтах не очень силен).
Я уже и логический анализатор повытаскивал и подсмотрел что отправляется и принимается с WB3S и с ESP-12. У обеих все одинаково. Значит вопрос только с обработкой полученых данных.
А как вам удалось управлять реле?
Из консоли можно реле управлять так:
Вкл.: SerialSend5 55aa0006000510010001011d;
Выкл.: SerialSend5 55aa0006000510010001001c;
Вечером гляну как настроил точнее. Однако не думаю, что вывод одинаков у этих модулей. Вот здесь много полезного про обмен и его настройку.
https://tasmota.github.io/docs/TuyaMCU/#tuyareceived
И судя по всему у меня не отвечает чип измерений модулю туевскому по всем указанным dpId.
Я для исследования использовал букмарклет https://github.com/sillyfrog/Tasmota-Tuya-Helper
Вот с помощь. его и сопоставил реле fnId.
TuyaMCU 11,16 Это установит выключатель реле и сделает его в морде тасмоты доступным
Приветики пистолетики! Клевая статья! Вопрос — а можно как то передать чипу отправные показания с которых начать отсчет (перенести с текущего счетчика электроэнергии, чтобы потом квитанции заполнять не выходя на лестничную клетку? Спасибо
нет
Можно. Через EnergyReset3 (см тут https://tasmota.github.io/docs/Commands/)
Правда, у меня они в итоге расходятся с счетчиком обычным (обычный больше насчитывает). Корректирую раз в месяц
Братиш, я так понял, что они инициализирует «отложенную» смену показаний, которая происходит в полночь, а не единомоментную смену показаний? Ввел EnergyReset3 15553 а ничего не поменялось… Ждать полуночи?
сам спросил сам ответил, надо приписывать в ватчасах а не в киловатчасах, и нужно писать значение за вычетом значения «today», потому что ты меняешь показания посчитанные на 00:00 сегодня…
Hello guys,
I have a ZMAI-90 with WB3S WiFi module and today I found a way and now the zmai-90 module provides all the informations to Home Assistant via MQTT and Tasmota.
The WB3S module I replaced with a ESP12F module, and I flashed on it a Tasmota 9.3.1.2 firmware.
I don’t know how can i upload here the firmware, but any of you if need the firmware and the commands we have to provide in console, just write me a mail to «mariuss_suciu@yahoo.com» and I will support you.
Thanks for your support! I think many will find this useful
Thanks a lot ! Everything works perfectly.
Всем привет, ребят, разобрала такой счетчик, и вырвала соединение (место спайки двух ног и платы), если может кто подсказать, куда идет контакт (соединение) с платы, которая с реле. Вырвала с мясом точку пайки с другой стороны ? Хотя счетчик работает, но хотелось удостовериться, что там нет ничего важного…
Кстати посоны, кто сюда зашел в поиске решения для этого реле, на вики тасмоты появилась отличная статья: https://templates.blakadder.com/ZMAi-90.html
Итак, подобьем бабки. Прошиваем tasmota.bin Настраиваем Wi-Fi и MQTT Заходим на девайс, в консоли пишем: Backlog SetOption66 1; TuyaMCU 32,18; TuyaMCU 31,19; TuyaMCU 33,20; SetOption59 1 После этого начнет отображаться правильная статистика Активируем Autodiscovery, и устройство само появится в Home Assistant. SetOption19 1 Меняем период отправки данных каждые 10 сек. TelePeriod 10 Для возможности добавить устройство в новый раздел «Энергия», добавляем сенсор: template: - sensor: - name: "Потребление в квт/ч" unit_of_measurement: "kWh" state_class: measurement device_class: energy state: > {{ states('sensor.tasmota_energy_total') | float }} attributes: last_reset: '1970-01-01T00:00:00+00:00' и далее сенсор «Потребление… Подробнее »