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

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


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»;
  6. выбрать из выпадающего списка «tasmota-RU.bin»;
  7. проверить наличие галочки «Erase before flashing»;
  8. и нажать «Tasmotize!».

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

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

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

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

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

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

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

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

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

    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. Настройка MQTT9):

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

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

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

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

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

    Backlog timezone 10; ntpserver1 192.168.XXX.XXX; PowerOnState 0; TelePeriod 0
  6. И наконец, перевод WebUI в пользовательский режим11):

    WebServer 1

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

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

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

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

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

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

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

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

Таймеры

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

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

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)
Пункты 3 и 4 предыдущего списка.
6)
Хотя и ее можно выполнить на этапе прошивки Tasmotizer'ом.
7)
Где «XXXXXX» – последние цифры MAC-адреса, а «####» – набор цифр.
8)
Это модифицированный шаблон, где «LedLink» заменен на «LedLink_i». Оригинальный шаблон тут.
9)
Что конкретно делает конкретная опция, смотрите тут.
10)
Часовой пояс, локальный NTP-сервер, состояние при подаче питания, отключение передачи телеметрии.
11)
Это делать надо в самый последний момент!
12)
Лучший клиент, это MQTT Explorer – помимо удобного интерфейса умеет рисовать графики!
13)
Сделать это можно только через консоль!
14)
Водонагреватель, бойлер… как он у вас там называется?! 8-O
15)
Что есть что в полезной нагрузке, смотрите тут.

Обсуждение

Ваш комментарий:
I X R N H T V O F Y D C H T Q X
 
Последнее изменение: 2022/02/12 11:40 (внешнее изменение)