NETIO PowerCable je WiFi elektrická zásuvka (můžeme rovnou říct i prodlužovačka), která nabízí možnost integrace za pomocí MQTT protokolu.
Kromě funkce vzdáleného zapnutí/vypnutí má podporu pro měření hned 7 veličin:
- Aktuální proud v ampérech [A]
- Aktuální výkon ve watech [W]
- Kumulovaná spotřeba ve watthodinách [Wh]
- TPF – true power factor – více o této hodnotě na webu výrobce
- Aktuální napětí ve voltech [V]
- Aktuální frekvenci napájecí sítě [Hz]
- Fáze [-180 – 180] ve stupních
Již při prvním pohledu je jasné, že se jedná o velmi odolné zařízení u kterého není problém použití v průmyslovém prostředí. Splňuje navíc stupeň krytí IP30.
Instalace
Postup instalace zásuvky Netio PowerCable je víceméně totožný s tím jak ho známe i například z firmware Tasmota.
Pojďme se podívat na jednotlivé kroky:
- Zařízení připojíme do elektrické sítě.
- Po chvíli bychom v seznamu WiFi sítí měli vidět něco jako
PoweCable-AP-XX
a na toto síť se rovnou připojíme. - Vyskočí na nás přihlašovací obrazovka s konfigurací ve třech krocích:
- Nejprve vybereme WiFi síť do které chceme zásuvku připojit – je fajn, že máme již přednačtený seznam seřazený podle síly signálu a nemusíme tak nic psát – jen klikneme.
- V druhém kroku vyplníme heslo do zvolené WiFi, povolíme / zakážeme přiřazení IP adresy zásuvky pomocí DHCP a zařízení můžeme rovnou i pojmenovat.
- Poslední krok je již pouze sumář s informacemi o připojení a tak klikneme na Save & Connect
Žádné velké překvapení ani zádrhel by nás při instalaci neměl potkat – vše je jednoduché a intuitivní.
Drobnou vadou na kráse může být absence českého jazyka – vzhledem k tomu, že se jedná o českého výrobce je to trochu překvapení.
Konfigurace
Jakmile jsme hotoví s instalací – což se víceméně rovná konfiguraci WiFi připojení – můžeme pokračovat s konfigurací samotné zásuvky.
Aplikace NETIO Discover
Od výrobce je k dispozici aplikace NETIO Discover, která by nám měla s konfigurací pomoci. Aktuálně jsou k dispozici dvě verze – Windows a univerzální (java).
Já měl v plánu vyzkoušet univerzální – multiplatformní Java verzi, jelikož píšu tenhle článek z macOS Catalina, ale ouha aplikaci se mi nepodařilo spustit:
➜ ./NETIO-Discover-multiplatform.jar
zsh: exec format error: ./NETIO-Discover-multiplatform.jar
Nejsem Java programátor a tak netuším, zda nemám nainstalovanou nějakou špatnou verzi Javy, či nějaký problém v konfiguraci a nebo to souvisí s 64bitovým prostředím.
Aplikaci jsem spouštěl vůči následující verzi Javy:
java 11.0.1 2018-10-16 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.1+13-LTS)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.1+13-LTS, mixed mode)
Abych byl objektivnější zkusil jsem i Linux prostředí. Stáhnul jsem si poslední verzi Ubuntu 19.10 a nainstaloval do něj Javu. Bohužel výsledek byl téměř stejný:
jvyoralek@ubuntu:~$ ./NETIO-Discover-multiplatform.jar
-bash: ./NETIO-Discover-multiplatform.jar: cannot execute binary file: Exec format error
Nakonec jsem proto aplikaci úplně ignoroval a vrhnul se na druhou možnost konfigurace přes webové rozhraní, která je přeci jen mnohem univerzálnější.
Webové rozhraní NETIO
K přístupu na webové rozhraní budeme potřebovat IP adresu zásuvky. Tu jsme mohli vidět buď v posledním kroku instalace a nebo si ji zjistíme z DHCP serveru.
Já používám UniFi controller a tak bylo zjištění IP adresu otázkou chvilky:
Do prohlížeče zadáme IP adresu a vyskočí na nás přihlašovací obrazovka, kam zadáme jméno admin
a heslo taktéž admin
.
I webové rozhraní je bohužel pouze v angličtině, nicméně s tím si snad většina poradí.
Přihlašování / změna hesla
Používání přihlašování je vypadá to povinné a tak je vhodné si nejprve změnit výchozí heslo. To najedeme v menu Uživatelé (Users).
Firmware
Druhým krokem, který mě obvykle zajímá, je dostupnost aktualizace firmware. Informace o Firmware nejdeme v sekci Nastavení (Settings) / Firmware.
Bohužel ze seznamu nezjistíme zda je aktuální firmware aktuální či nikoliv. Co je však horší, že něco nehraje v aktuálnosti stránek se stažením firmware nebo číslováním verzí.
Když jsem se podíval na web NETIO je zde k dispozici poslední verze 2.1 z června 2019, kdežto v mém zařízení je aktuálně verze 2.3.7 z prosince 2019. Zřejmě tedy mám novější verzi, která ještě nebyla veřejně publikována?
Nastavení času
Z pro mě ne úplně jasného důvodu je v základní konfiguraci nastaveno manuální nastavení času. Já určitě preferuji získání času z NTP serveru, což je naštěstí hned druhá možnost a tak si ji nastavíme 🙂
Integrace MQTT
A nyní přichází na řadu něco opravdu zajímavého, co z této zásuvky dělá produkt o který bychom se měli zajímat, a to možnost integrace pomocí MQTT.
Sekci k nastavení MQTT najdeme v M2M API Protocols, kde je potřeba zatrhnout volbu Enable MQTT-flex.
Veškerá konfigurace je uložená ve formátu JSON, na což se můžeme dívat z dvou úhlů pohledu:
- pro neznalého uživatele to může být poněkud matoucí a uživatelsky značně nekomfortní – což je mínus
- pokud pro nás JSON není problém, pak máme možnost jednoduše vzít konfiguraci a aplikovat je i na další zásuvky – což můžeme brát jako pozitivní
Za mě bych zřejmě volil střední cestu pomocí YAML konfigurace – tak jak to známe například z ESPHome, která je uživatelsky lépe čitelná, ale je to jistě věc názoru.
Co si zaslouží pochválit je dokumentace k MQTT konfiguraci, i když jsem ne vždy pochopil význam položek. Například v sekci broker volba type
, když má pouze jednu možnou hodnotu generic
. Zřejmě je to příprava do budoucna, která je nyní ale mírně matoucí.
Nastavení brokeru
První sekce broker
se věnuje nastavení MQTT serveru, které si upravíme dle vlastní konfigurace. Následující příklad je v případě zadání MQTT serveru pomocí adresy, bez SSL a se zapnutým přihlašováním:
"broker": {
"url": "10.2.1.10",
"protocol": "mqtt",
"port": 1883,
"ssl": false,
"type": "generic",
"username": "mqtt_user",
"password": "mqtt_password",
"keepalive":30
}
Oproti výchozímu nastavení tak bylo potřeba změnit pouze tři hodnoty: url
, username
a password
.
Nastavení publikovaných MQTT zpráv – PUBLISH
V této sekci jsem si zprávy poněkud překopal do stavu, který je více podobný struktuře, kterou používám pro ostatní zařízení, nicméně je to čistě volitelná možnost.
První a základní zprávou je publikování stavu zapnutí/vypnutí zásuvky:
"publish": [{
"topic": "netio_${DEVICE_NAME}/stat/POWER",
"qos": 0,
"retain": true,
"payload": "${OUTPUTS/1/STATE}",
"events":[
{
"type":"change",
"source":"OUTPUTS/1/STATE"
}
]
}]
Kromě stavu zapnutí zásuvka obsahuje spousta zajímavých senzorových údajů, které si můžeme pomocí MQTT taky zpřístupnit.
Například pokud nás zajímavá aktuální spotřeba připojeného zařízení pak přidáme do konfigurace sekce publish
tuto část:
{
"topic": "netio_${DEVICE_NAME}/tele/SENSOR/Energy",
"qos": 0,
"retain": false,
"payload": "${OUTPUTS/1/ENERGY}",
"events": [{
"type": "timer",
"period": 900
}, {
"type": "delta",
"source": "OUTPUTS/1/ENERGY",
"delta": 1
}]
}
Jak si můžeme všimnout v sekci events máme dva záznamy. To nám umožňuje definovat podmínky, kdy má být MQTT zpráva zveřejněna.
V tomto konkrétním příkladě tak bude aktuální spotřeba zaslána pokud uplynulo 15 min a nebo změna byla větší než 1Wh.
Na kompletní konfiguraci pro tuto zásuvku se můžete podívat na mém GitHubu.
Nastavení odebíraných MQTT zpráv – SUBSCRIBE
Druhou skupinou zpráv jsou zprávy přijímané zásuvkou a ty si změníme také:
"subscribe": [{
"topic": "netio_${DEVICE_NAME}/cmnd/POWER",
"qos": 0,
"target": "OUTPUTS/1/ACTION",
"action": "${payload}"
}],
Při přihlášení do MQTT serveru bychom pak měli vidět hned několik typů zpráv pro naší zásuvku – aktuální stav zapnutí/vypnutí, zprávu pro zapnutí/vypnutí a aktuální data z jednotlivých sensorů.
Integrace HomeAssistant
V přechozích krocích jsme si zásuvku postupně připravili na to abychom ji mohli přidat jako entity do HomeAssistanta a to za pomocí MQTT integrace.
Nejprve si přidáme interaktivní entitu typu switch
, která nám bude ukazovat aktuální stav zapnutí / vypnutí zásuvky a zároveň budeme moci pomocí ní i zásuvku vypínat / zapínat.
switch:
- platform: mqtt
name: "Netio PowerCable"
state_topic: "stat/POWER"
command_topic: "cmnd/POWER"
payload_on: 1
payload_off: 0
qos: 0
retain: true
?Více informací o nastavení MQTT Switch
komponenty pro HomeAssistant si můžete přečíst v dokumentaci.
Další již volitelné entity dle naší potřeby jsou jednotlivá sensorová data, kterých máme celkem sedm.
Prvním krokem ke každému jednotlivé měřené veličině je přidání entity typu sensor
:
sensor:
- platform: mqtt
name: "Netio PowerCable - proud"
state_topic: "netio_PowerCable-9C/tele/SENSOR/Current"
unit_of_measurement: "mA"
?Více informaci k nastavení MQTT Sensor
komponenty pro HomeAssistant si můžete přečíst v dokumentaci.
Využíváme tak předpřipravených MQTT zpráv se sensorovými daty, ke kterým se HomeAssistant přihlásí k odběru. Kompletní konfiguraci opět najdete na mám GitHubu.
Jakmile budeme mít definovány všechny entity zbývá je přidat do uživatelského rozhraní. To můžeme udělat například pomocí Lovelace šablon. Pro tento případ jsem připravil novou záložku obsahující všechny možné entity zásuvky v jednom boxu.
---
id: netio
title: Netio
cards:
- type: entities
title: Netio zásuvka
entities:
- entity: switch.netio_powercable
- entity: sensor.netio_powercable_faktor
- entity: sensor.netio_powercable_frekvence
- entity: sensor.netio_powercable_napeti
- entity: sensor.netio_powercable_proud
- entity: sensor.netio_powercable_spotreba
- entity: sensor.netio_powercable_vykon
show_header_toggle: false
Po restartu HomeAssistenta máme všechny údaje ze zásuvky přístupné a můžeme si s nimi už začít hrát dle potřeby.
Hodnocení
Je obdivuhodné, že se česká firma pustila do tohoto zatím stále obtížného oboru, kde dominují velcí hráči a mnoho čínských firem.
Z pohledu hardwaru je produkt velice vydařený zejména pokud potřebujeme odolný produkt, který opravdu něco vydrží. Zároveň však jak je z mého článku asi patrné softwarová stránka má stále ještě prostor ke zlepšení. To však není vůbec špatný výchozí stav, jelikož software jde zpravidla aktualizovat bez nutnosti výměny hardware.
Zádrhelem může být i cena, která je zejména pro domácí použití nastavena poměrně vysoko – cca. 3tis Kč. Na druhou stranu získáte kvalitní produkt s plnou zárukou a splňující všechny české normy.
? Pokud vás produkt zaujal mám pro vás 20% slevový kupón s platností 1 měsíce od vydání tohoto článku (do 29.2.2020).
Stačí při objednávce zadat kód: 20HomeAssistant
Doporučuji se určitě podívat na stránky výrobce. Děkuji firmě Netio za zapůjčení produktu a budoucnu se rád podělím o zkušenosti z nějakého dalšího produktu zapadající do konceptu domácí automatizace.
Moc pěkná zásuvka, ale pro mě, jakožto obyčejného kutila co si chce udělat chytrou domácnost, je to příliš drahé. Když pomyslím co by za to bylo Sonoffů ? Ale v průmyslu vidím potenciál zcela jasně, takže dle mě své místo na trhu NETIO určitě má ? Díky za super recenzi.
Díky za komentář a názor. Já to mám víceméně velmi podobně. Je to zajímavý pohled jak se dnes a v ČR produkty dají dělat a snažil jsem se o určitou zpětnou vazbu z pohledu nás „kutilů“. Určitě jim držím palce! Brzy vydám recenzi na podobný a přesto úplně odlišný produkt z opačného spektra 🙂