Инструменты пользователя

Инструменты сайта


iot:firmware:tasmota:athom:pg01-eu16a

Прошивка Athom PG01-EU16A под Tasmota

Эти розетки продаются на Aliexpress в огромном количестве и под разными названиями. Мне пришла под брендом «Athom».

Изначально я купил версию PG01-EU16A-HK, прошитую чем-то для прямого добавление в HomeKit, но промахнулся – все бы ничего, и работает нормально, и в «Дом» добавляется легко… только вот ни энергию не считает, ни какой-либо автоматизацией не обладает! Ввиду чего пришлось перепрошивать под Tasmota и интегрировать в HomeKit через Homebridge.

:!: В этой статье описывается только процесс прошивки и настройки самого устройства, а настройка конфигурации моста Homebridge тут.

Фотографии

Подготовка

Для прошивки программатором нужно:

  1. программатор USB-TTL с установленным напряжением 3V3, к примеру;
  2. обрезки проводов в количестве 4-х штук1);
  3. иголка с крокодилом типа такой;
  4. загруженный из репозитория Tasmotizer;
  5. разобранное устройство2)! :-D

Подключение

В моей, думаю, как и в большинстве аналогичных розеток, установлен Wi-Fi-модуль «AJW-02_8285» версии «190520VER:A» с SoC ESP8285 оснащенной 1 мб флеш-памяти. Для его подключения, нужно:

  1. припаять3) провода к выводам 3V3, GND, RX и TX в соответствии со схемой;
  2. подключить провода к пинам на программаторе, перекрестив TX и RX;
  3. в любом месте подключить крокодил к GND4), а иголку поставить на вывод G0 (GPIO0);
  4. вставить программатор в USB и убрать иголку.

Прошивка

  1. Скачать и запустить Tasmotizer;
  2. в поле «Select port» выбрать нужный COM-порт;
  3. поставить галочку «Save original firmware»;
  4. проверить, чтобы «Flash size» равнялся 1MB;
  5. в разделе «Select image» нажать «Release»5);
  6. выбрать из выпадающего списка «tasmota-RU.bin»;
  7. проверить наличие галочки «Erase before flashing»;
  8. и нажать «Tasmotize!».

В процессе работы, программа попросит переподключить программатор6) и, немного подождав, нажать «Ok».

На этом, собственно, все! Осталось не забыть забрать из каталога с программой оригинальную прошивку и положить в сохранное место. ^_^

Конфигурация

Для универсальности я делаю все через консоль, т.к. большая часть необходимых настроек отсутствует в WebUI и нет особого смысла делать остальные через нее. Исключение только начальная настройка подключения к Wi-Fi7).

Подключение к Wi-Fi

  1. Открыть доступные Wi-Fi-сети, найти «tasmota_XXXXXX-####»8) и подключиться;
  2. выбрать вашу Wi-Fi сеть, ввести ее пароль и сохранить;
  3. перейти по IP-адресу, выданному вашим DHCP-сервером и убедиться, что WebUI доступен.

Настройка модуля

Все команды вводятся в консоли. Если строка начинается с «Backlog», значит она содержит несколько выполняемых последовательно команд, разделенных «;».

  1. Добавление шаблона9):

    Backlog Template {"NAME":"Athom PG01EU16A","GPIO":[0,0,0,32,2720,2656,0,0,2624,576,224,0,0,0],"FLAG":0,"BASE":1}; Module 0
  2. Настройка MQTT10):

    Backlog MqttHost 192.168.XXX.XXX; MqttPort 1883; MqttUser RGEHrther; MqttPassword greg34gt43; SetOption3 1
  3. Группировка топиков MQTT:

    Backlog Topic fumigator_%06X; FullTopic %topic%/%prefix%/

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

  4. Изменение ссылки OTA на русский:

    OtaUrl http://ota.tasmota.com/tasmota/release/tasmota-RU.bin.gz
  5. Прочие мелкие настройки11):

    Backlog timezone 10; ntpserver1 192.168.XXX.XXX; PowerOnState 0; TelePeriod 0
  6. Публикация состояния питания при подключении к MQTT12)

    Backlog Rule2 ON Mqtt#Connected DO Power1#State ENDON; Rule2 1

    :!: Если выключателей несколько, то необходимо добавить такое правило, указав нужное количество команд «PowerX#State»:

    Rule1 ON Mqtt#Connected DO Backlog Power1#State; Power2#State ENDON

    :!: При использовании команды «Backlog» внутри правила, её нельзя использовать для добавления правила, поэтому, после выполнения предыдущей команды, нужно отдельно включить это правило и обязательно включить повторный запуск, если он выключен:

    Backlog Rule1 1; Rule1 4
  7. И наконец, перевод WebUI в пользовательский режим13):

    WebServer 1

    или, что лучше, вообще его отключение:

    WebServer 0

    Обратно в административный режим можно перевести через клиент MQTT14), опубликовав, в моем случае, топик fumigator_3878DF/cmnd/webserver с сообщением 2.

Настройка логики

Собственно то, из-за чего пришлось перешивать розетку.

Розетка используется

Для того, чтобы розетка отправляла этот статус, необходимо добавить правило15), публикующее топик с соответствующим сообщением:

Backlog Rule1 ON Energy#Power>0 DO Publish %topic%/stat/OutletInUse ON ENDON ON Energy#Power=0 DO Publish %topic%/stat/OutletInUse OFF ENDON; Rule1 5; Rule1 1

Теперь, при наличии нагрузки, т.е. в розетку что-то воткнуто и работает, в приложении «Дом» будет писаться «Розетка используется - да», а если розетка включена, но в нее ничего не воткнуто, то, соответственно, «нет».

К примеру, если это простейший титан16), то в процессе нагрева будет указываться «да», а после «нет», что будет значить, что он нагрелся.

Таймеры

Таймеры можно настраивать через WebUI, но через консоль намного быстрее. Всего таймеров может быть 16 штук.

Для настройки17) и включения первого таймера, плюс активации всего механизма, в консоли надо ввести:

Backlog Timer1 {"Enable":1,"Mode":0,"Time":"07:00","Window":10,"Days":"1111111","Repeat":1,"Output":1,"Action":1}; Timers 1

А для настройки последующих таймеров примерно это:

Timer2 {"Enable":1,"Mode":0,"Time":"07:30","Window":10,"Days":"1111111","Repeat":1,"Output":1,"Action":0}

Калибровка

Сразу после прошивки датчик мощности безбожно врал, завышая показания напряжения вольт так на 30 и, соответственно, всех остальных. Его калибровка достаточно подробно описана тут и добавить мне нечего, кроме одного – если в качестве нагрузки у вас выступает лампа накаливания, посмотрите ее параметры, скорее всего, она рассчитана на 230в и, естественно, мощность на ней указана исходя из этого, а в розетке у вас по прежнему может быть номинал 220в, как у меня… И еще нюанс – калибровку лучше выполнять поздно ночью, когда энергосети максимально разгружены… Я же сперва это начал делать в час пик, красавец! 8-)

1)
Если нет подготовленных, вполне подойдет шлейф на кнопки от корпуса системного блока.
2)
Как это сделать аккуратно, написано тут, а я разбирал скальпелем и, если бы делал это не в первый раз или наткнулся бы на эту статью раньше, сделал бы ювелирно…
3)
Модуль выпаивать его не надо!
4)
Я цеплял прямо за соответствующую ногу программатора.
5)
На момент написания статьи используется релиз за номером 9.2.0.
6)
Пункты 3 и 4 предыдущего списка.
7)
Хотя и ее можно выполнить на этапе прошивки Tasmotizer'ом.
8)
Где «XXXXXX» – последние цифры MAC-адреса, а «####» – набор цифр.
9)
Это модифицированный шаблон, где «LedLink» заменен на «LedLink_i». Оригинальный шаблон тут.
10)
Что конкретно делает конкретная опция, смотрите тут.
11)
Часовой пояс, локальный NTP-сервер, состояние при подаче питания, отключение передачи телеметрии.
12)
Нужно, чтобы, к примеру, при перезагрузке Homebridge, в Apple Home Kit восстанавливались состояния выключателей, иначе происходит рассинхрон – фактически розетка включена, а в приложении она выключена…
13)
Это делать надо в самый последний момент!
14)
Лучший клиент, это MQTT Explorer – помимо удобного интерфейса умеет рисовать графики!
15)
Сделать это можно только через консоль!
16)
Водонагреватель, бойлер… как он у вас там называется?! 8-O
17)
Что есть что в полезной нагрузке, смотрите тут.

Обсуждение

Ваш комментарий:
H B A H N S G C D R T W H O X H
 
Последнее изменение: 2022/02/16 21:20 — Николай Солошин