Для довгоочікуваного оновлення електромережі гаража потрібно пристрій що вимикав би електрику (зокрема і віддалено), коли в ній нема потреби (наприклад коли в гаражі нікого немає).
Для цього існують так звані контактори — зовні схожі на звичайні автомати захисту, але вони міняють свій стан (увімкнуто/вимкнено) в залежності від керуючого сигналу. Вони вміють комутувати великі струми, тому підходять для підключення навіть потужних пристроїв.
На жаль, для віддаленого керування ними все одно потрібно якийсь "розумний" пристрій. Тому, я вирішив спробувати пристрої що вже мають віддалене керування.
TOMZN TOB8-63А WiFi вже має вбудований Wi-Fi і може комутувати до 63А (короткочасно, 50А надовго). А також, вимірює споживання електрики (струм, напруга, потужність), тобто такий собі контактор з функцією лічильника електроенергії. Монтується на DIN-рейку в електрощитову. Існують клони (невідомо хто чий) під назвою SMTONOFF 63A.
Роздрібна вартість в Україні — трохи більше 20 доларів США.
"З коробки" TOMZN вміє працювати через хмарний сервіс eWelink. Але, я хотів інтеграцію з сервером розумного будинку Home Assistant завдяки прошивці ESPHome.
Прошивку ESPHome можна встановити лише на сумісні процесори (ESP). Інколи, виробники замінюють процесори в нових серіях пристроїв. Треба дізнаватися і продавця. Без розбирання, можна взнати процесор якщо під'єднати пристрій до Wi-Fi, дізнатися його MAC-адресу, та по онлайн-базах MAC-адресу взнати виробника. Espressif Systems – сумісний виробник.
Корпус зібраний з двох половинок що скріплені заклепками з м'якого металу. Їх початок, з однієї сторони, треба висвердлити свердлом 4 мм. Згодом, заклепка провалюється і її легко вийняти з протилежного боку.
Всередині — плата керування з модулем обліку споживання електрики на платформі CSE7766, та реле комутації навантаження. Реле — бістабільне. При зміні положення (вимкн.-увімкн.) воно не потребує електрики, щоб утримуватися в поточному стані.
Процесор — на звороті плати. Щоб витягти плату потрібно вийняти кнопку (стиснути 2 вусики з середини) та витягти світлопровідні пластикові елементи, просто витиснувши їх з середини назовні.
Після від'єднання 2-х роз'ємів плату можна легко витягти назовні і перевернути.
Процесор має дуже дрібні контактні майданчики, до яких потрібно під'єднатися. Нас цікавлять +3.3V, GND i RX/TX.
Навіть тоненьким жалом зробити це акуратно досить складно. Мінус (GND) можна взяти з контактів поруч з процесором.
Прошивати процесор можна подаючи живлення (3,3В) безпосередньо з конвертора FTDI, не треба під'єднувати пристрій до мережі 220В!
Можна зашити власну прошивку ESPHome, готову Tasmota, чи якусь базову для ESP8266. Я генерував власну і прошивав з macOS через скрипт esptool.
Для переведення пристрою в режим програмування, перед подачею живлення, потрібно тримати затисненою кнопку керування на платі.
Кілька секунд — і процесор прошито.
esptool.py --chip esp8266 -p /dev/cu.usbserial-A52IGJRM write_flash 0x0 home_b3f0bc.bin
Моя базова прошивка використовувала такі входи-виходи:
- GPIO13 — світлодіод (статус)
- GPIO0 — кнопка керування
- GPIO03 — опитування модуля обліку споживання електрики
Код прошивки ESPHome:
substitutions:
id: "AABBCC"
device_name: tomzn_63A
name: home_${device_name}_${id}
esphome:
name: home_$id
# platform: ESP8266
esp8266:
board: esp01_1m
restore_from_flash: True
wifi:
ssid: !secret home_ssid
password: !secret home_pass
# Enable logging
logger:
# Enable Home Assistant API
api:
password: !secret api_pass
ota:
password: !secret api_pass
status_led:
pin:
number: GPIO13
inverted: False
output:
- platform: gpio
pin: GPIO12
id: relay_$id
switch:
- platform: output
id: "switch_$id"
name: "switch_$id"
output: relay_$id
icon: mdi:power
restore_mode: RESTORE_DEFAULT_OFF
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
inverted: True
id: button_$id
on_press:
then:
- switch.toggle: "switch_$id"
uart:
rx_pin: GPIO03
baud_rate: 4800
sensor:
- platform: cse7766
current:
name: "current_$id"
voltage:
name: "voltage_$id"
power:
name: "power_$id"
energy:
name: "energy_$id"
Для того, щоб пристрій запам'ятовував свій останній стан і відновлював його після аварійного зникнення живлення потрібно встановлювати ключ 'restore_from_flash: True'.
Після підключення пристрою до Home Assistant всі його параметри з'явилися на сторінці системи.
Для збирання корпусу я трошки збільшив вхідний отвір свердлом 6 мм, так щоб в ньому ховалася гайка М3. А з іншого боку стягнув болтом М3 довжиною 8 мм. Чудово підійшло.