Loxone je jednoduché řešení pro inteligentní ovládání a automatizaci projektů všeho druhu: od jednotlivých zařízení přes chytré domácnosti (smart home) až po rozsáhlé budovy a komplexy.
Díky tomuto spojení je možné pomocí Loxone prvků jednoduše ovládat přímo elektrické zásuvky. Použití je jednoduché a k instalaci nejsou potřeba znalosti programátora či elektrikáře.
NETIO AN53 (Aplikační Poznámka) představuje napojení NETIO zásuvek do Loxone pomocí různých protokolů.
Pomocí Loxone a NETIO chytré zásuvky lze:
- Zapnout a vypnout jakoukoli zásuvku pomocí tlačítka či z aplikace Loxone.
- Měnit stav libovolné zásuvky.
- Spustit restartovací proces (Short Off) na zvolené zásuvce stiskem tlačítka.
Kompatibilní NETIO zařízení
- NETIO PowerCable REST 101x
- NETIO PowerCable Modbus 101x
- NETIO PowerPDU 4C
- NETIO PowerPDU 4PS
- NETIO PowerPDU 8QS
- NETIO PowerDIN 4PZ
- NETIO PowerBOX 3Px
- NETIO 4
- NETIO 4All
AN53 ukazuje:
- Připojení a ovládáni protokolem URL-API (REST)
- Připojení a ovládáni protokolem Modbus/TCP
Připojení NETIO zásuvky do Loxone pomocí URL-API (REST)
Tímto způsobem lze připojit:
- NETIO PowerCable REST 101x
- NETIO PowerPDU 4C
- NETIO PowerPDU 4PS
- NETIO PowerDIN 4PZ
- NETIO PowerBOX 3Px
- NETIO PowerBOX 4Kx
- NETIO 4
- NETIO 4All
REST protokol je zjednodušeně řečeno volání nějaké URL adresy a zpracování takové odpovědi. Typ REST požadavku může být buď klasický GET (to je, jako když zadáte nějakou url adresu do prohlížeče), POST (což je, když se odesílá třeba formulář na webové stránce), nebo pak již konkrétnější příkazy PUT/DELETE/PATCH, které se používají při úpravách dat skrz REST protokol.
Pro naše potřeby nám bude nyní stačit GET, jelikož NETIO podporuje nastavování napřímo skrz REST URL ve formátu http://IP_ADRESA/netio.cgi?pass=heslo&output1=3&delay1=2000.
Pokud bychom ale například chtěli nastavovat stav nikoli přes URL, ale přes JSON či XML, využili bychom příkazu POST, pomocí kterého bychom na adresu http://IP_ADRESA/netio.json posílali JSON soubor s instrukcí pro zapnutí. Jelikož se ale v Loxonu s JSON či XML nepracuje úplně nejlépe (rozuměj téměř nijak), zůstaneme raději u mnohem snazšího URL.
Takto nějak vypadá cíl našeho příkladu. Krom samotného vypínače na zapnutí a vypnutí chytré zásuvky uděláme ještě tlačítko, které na 2 sekundy zásuvku zapne a poté zase vypne.
Základní konfigurace NETIO zásuvek – URL-API
Nastavení NETIO zařízení přes webovou administraci:
Povolit protokol URL-API
- LEVÉ MENU: M2M API Protocols
- Zaškrtnout „Enable URL-API”
- Zaškrtnout „Enable READ-WRITE”
- Vložit heslo (password) – v tomto příkladu použito „heslo“
- Uložit změny
Nastavení Loxone Config s využitím URL-API
Jako první v Loxone Configu přidáme “Virtuální výstup”, který si pojmenujeme třeba NetioREST a zadáme mu Adresu NETIO zásuvky, v našem případě http://192.168.1.98 (pozor, adresa nesmí končit lomítkem).
Dále pak přidáme “Příkaz virtuálního výstupu” do vytvořeného virtuálního výstupu. Ten si pojmenujeme třeba OnOff a vyplníme instrukci při zapnutí a vypnutí (pozor, musí začínat lomítkem). Příkaz k zapnutí/vypnutí má formát /netio.cgi?pass=Heslo&output_CISLO_VYSTUPU=STAV_VYSTUPU
(podrobná dokumentace URL-API zde).
Kromě samotného on/off pak přidáme ještě druhý příkaz na zapnutí zásuvky jen na 2 sekundy. To se dělá tak, že jako stav výstupu nastavíme hodnotu 3 a přidáme parametr “delay”. Přidáme tedy další “virtuální příkaz”, pojmenujeme ho třeba “Pulse” a jako instrukci pro zapnutí dáme /netio.cgi?pass=heslo&output1=3&delay1=2000. V tomto případě nebudeme dávat instrukci pro vypnutí, jelikož o vypnutí se postará zásuvka sama.
Takto vytvořené virtuální příkazy si pak nataháme do samotného Loxone plánu, kde je propojíme s tlačítkem a vypínačem. V případě On/off necháme tlačítko v režimu “vypínač”, zatímco v případě pulzního sepnutí nastavíme režim “tlačítko”.
Jak vidíte, ovládání přes REST API (URL-API) není nic komplikovaného.
Připojení NETIO zásuvky do Loxone pomocí Modbus/TCP
Tímto způsobem lze připojit:
-
NETIO PowerCable Modbus 101x
- NETIO PowerPDU 4C
- NETIO PowerPDU 4PS
- NETIO PowerDIN 4PZ
- NETIO PowerBOX 3Px
- NETIO 4
- NETIO 4All
Modbus TCP/IP protokol je variace Modbus protokolu, který ke komunikaci používá klasický ethernet (TCP protokol) namísto klasického Modbusu RTU využívajícího RS485 nebo RS232. Z toho vyplývá, že ho pomocí Loxone lze ovládat bez nutnosti dokupovat Modbus extension.
Základní konfigurace NETIO zásuvek – Modbus/TCP
Nastavení NETIO zařízení přes webovou administraci:
Povolit protokol Modbus/TCP
- LEVÉ MENU: M2M API Protocols
- Zaškrtnout „Enable Modbus/TCP”
- Uložit změny
Předtím, než se pustíme do samotného Loxone, začneme freeware aplikaci Modbus Master, kde si lze celou komunikaci vyzkoušet nanečisto, než přistoupíme k samotnému ovládání skrz Loxone.
Abychom mohli se zařízením pomocí Modbus/TCP komunikovat, musíme znát adresy, na kterých zařízení čeká instrukce, případně, na kterých odesílá stavová data. Pro Netio chytré zásuvky je Modbus TCP/IP popsán v této dokumentaci. Detailní návod, jak Modbus Master nastavit můžete najít také v AN27
Modbus Master používá pro adresaci Wire Address. Pro sepnutí zásuvky číslo jedna potřebujeme tedy zapsat hodnotu 1 na adresu 101 funkcí 0x05 – Write Single Coil, pro vypnutí pak nastavíme hodnotu 0 do stejné adresy.
Poté, co vyzkoušíme, že nám funguje komunikace mezi ModbusMasterem a samotným zařízením, je čas přejít do Loxone Configu. Toto otestování doporučují vždy před samotným nastavením do Loxone, protože se snadněji a rychleji dá vyzkoušet, že umíme správně se zařízením komunikovat.
Nastavení Loxone Config s využitím Modbus/TCP
Takto vypadá cíl našeho příkladu. Do sekce Netio tentokrát přibude tlačítko na zapnutí či vypnutí zásuvky skrz Modbus TCP/IP.
Začneme tím, že v Loxone Configu klikneme na sekci “Komunikace Miniserveru” a nahoře v menu klikneme na ikonku “Modbusserver”. Tím vytvoříme nový modbus server, který si pojmenujeme “Netio Modbus” a jako adresu mu nastavíme jeho IP adresu následovanou dvojtečkou a číslem portu (defaultně 502).
Do takto definovaného Modbus serveru nyní přidáme “Modbus zařízení”. A to kliknutím na ikonu “Senzory a aktory” a vybráním “Modbus zařízení”. Zařízení pojmenujeme třeba “NetioZásuvka”.
Do třetice pak do vloženého Modbus zařízení vložíme “Digitální aktor”. Digitální znamená, že nabývá hodnot jen 0 nebo jedna, zatímco analogový by nám dovolil nastavit libovolnou hodnotu do cílového zařízení.
Ve stromu vpravo (bod 1) vidíte, jak by mělo nakonfigurované Modbus zařízení vypadat. Máme NetioModbus server, do kterého je vložena NetioZasuvka zařízení, které má digitální aktor OnOff. Název tohoto aktoru můžeme nastavit opět libovolný a poté do IO adresy zadáme adresu, kterou jsme si dříve vyzkoušeli v aplikaci ModbusMaster a do Příkazu pak zadáme 0x05 – Write single coil.
Tím bychom měli mít Modbus komunikaci nastavenou a zbývá jen daný aktor vytáhnout do Loxon plánu, propojit s tlačítkem, uložit projekt do Loxone Miniserveru a vše vyzkoušet.
Jak vidíte, ani na ovládání přes Modbus TCP/IP není nic komplikovaného. Je vždy lepší si komunikaci vyzkoušet předem pomocí ModbusMasteru (nebo jiného SW klienta pro modbus) a až pak začít nastavovat do Loxone. Přeci jen má Loxone svá specifika a je dobré vědět, že zařízení i cílové porty fungují, jak očekáváme, a případný problém je tedy v nastavení v Loxone configu, než hledat naslepo zkoušet, proč to nejede a zda je problém v Loxone nebo ve špatné adrese
Zdroj: https://www.vodnici.net/2020/05/ s laskavým svolením autora
FAQ
1) Lze použít zabezpečené spojení Modbus/TCP mezi Loxone a NETIO zásuvkou?
Částečně. Můžete definovat rozsah povolených IP adres (Filter) ze kterých bude NETIO zásuvka akceptovat Modbus/TCP spojení. To lze nastavit ve webovém rozhraní NETIO zásuvky na záložce M2M API Protocols / Modbus/TCP /Enable IP filter.
2) Mohu použít NETIO PowerCable MQTT s Loxone?
Ano, ale je potřeba použít např. NodeRED aplikaci, která zajistí „překlad“ MQTT na REST API. Bohužel Loxone nepodporuje MQTT napřímo a proto je vhodnější použít PowerCable REST nebo PowerCable Modbus. Více informací na https://www.vodnici.net/2020/05/jak-ovladat-mqtt-z-loxone/
3) Mohu použít NETIO Cloud souběžně s propojením do Loxone?
Ano, NETIO Cloud funguje i souběžně s M2M API protokoly.
4) Mohu použít NETIO Mobile / Mobile2 app společně s Loxone?
Ano, NETIO Mobile app funguje i souběžně s M2M API protokoly.
Podporované FW verze pro NETIO zásuvky
- PowerPDU 4C: firmware 3.3.1 a novější
- PowerPDU 4PS: firmware 2.4.4 a novější
- PowerBOX 3Px: firmware 2.4.4 a novější
- PowerCable Modbus 101x: firmware 2.3.9 a novější
- NETIO 4 and NETIO 4All: firmware 3.3.1 a novější