Rework závlahy – Big Modbus mega článek :)
Ahoj všem! Stále žíjeme, jen stále není na nic čas. Už takový evergreen. Ale, protože se jaro blíží a protože mi loni klekla závlaha, bylo potřeba se k tomu dokopat. A abych Vám vynahradil to delší ticho, dneska to bude ultra-mega-giga článek s mrakem podčlánků, na kterém jsem reálně dělal poslední tři dny.
Nejprve tedy info, že na konci článku je několik dalších linků na wiki články, kam sem si pro sebe i Vás naházel návody na to, jak sem jednotlivé věci zprovozňoval, stejně tak je tam článek s linky na všechny zařízení, které používám spolu s manuály a modbus kódy k nim, dále pak článek se seznam SW na testování modbusu a mraky dalšího 🙂
A teď už k samotné akci
I. s dětma odjela a já jsem poslední dva dny předělával celý venkovní rozvaděč, čemuž ještě předcházel celý den testování a propojování nanečisto doma na stole.
A tak postupně vznikaly další a další články na wiki, jejichž soupis najdete níže :). Výsledkem je, že jsem si rozchodil většinu modbus hraček, které jsem si tu za poslední roky ponakupoval a musím říct, že to běhá skvěle.
Jako základ jsem použil Waveshare ETH-modbus převodník, který funguje dobře jak s loxone, tak s ladícími nástroji. K tomu jsem vyzkoušel několik různých relay desek, a dostal jsem se i k teploměrům (o těch pak příště).
Bohužel, to co začalo jako drobný upgrade rozvaděče, tak skončilo jeho kompletním vytrháním a předěláním všeho tak, aby ve venkovním rozvadeči zůstalo co nejméně komponent a hlavně jednotného stylu.
Takže z kola ven šel průmyslový ETH switch, stejně tak Netio, druhý zdroj a nevím co ještě.
Naopak zpět se v tomto kole do rozvaděče dostaly nově externí relé pro ovládání 230V (pergola up/down, gril a čerpadlo bazénu), dále pak nový 24V zdroj, který bude táhnout vše, včetně spínání 8mi ventilů závlahy, ETH-Modbus převodník a dvě modbus desky (ty pak budou nahrazeny za jednu 12IO Relay desku, ale ta je ještě na cestě)
Ke slovu se tentokrát dostala i flexa. Trochu na prase, trochu barbarsky, ale potřeboval jsem více svorkovnic a protože jsem byl bez auta, cesta do elektra nepřipadala v úvahu. A tam jsem naporcoval 21ti svorkové svorkovnice na několik kusů tak, abych mohl udělat A/B svorkovnici na modbus a, +/- svorkovnici na 24V a původně sem myslel že i 12V, ale tu jsem nakonec pořešil jinak.
I když šlo všechno docela dobře, stejně jsem reálně u rozvaděče sedel celou sobotu od cca 9ti ráno do 18h odpoledne. Největší opruz byly různě dutinky, řešit kabely a občas improvizovat s tím, co bylo doma, ale dalo se. Kolem druhé hodiny jsem už prováděl první testy funkčnosti přes modbus testovací klienty.
Po naplnění a předrátování rozvaděčů přišla řada na šachtu s ventily. Takto dopadla předchozí řídící jednotka :). Na to, že byla pod zemí asi 5-6 let, tak myslím, že ještě docela dobře. Osobně mne naopak hodně překvapilo, jak dlouho v tom vlhku dokázala fungovat :).
Takže všechno odštípat, očistit a napojit na nové kabely vedoucí do rozvaděče. Lahádka. Hlavně to spojování mínusových kabel dohromady 🙂
Po nadrátování pak už jen dočasně zprovoznit tři okruhy závlahy na trávník, abychom ho mohli už rozjet, a bylo pro ten den hotovo. Až dorazí 12relay deska, dojde tam ještě k drobné refaktorizaci :), ale to hlavní je hotovo a připraveno.
Dneska jsem pak od rána řešil tu SW část. Postupně odstranit z Loxone původní logiku, vše jsem už předelal na univerzální značky, a ty pak svedl na jednotné místo v nové záložce, kde je napojil na Modbus zařízení.
Chvíli jsem trochu bojoval s tím, v jakém formátu zas z Loxone posílat data, a hlavně, jak posílat 0x0100 a 0x0200 při zapnuto vypnuto, ale to jsem nakonec vyřešil vzorečkem (možná, že už to nové LoxConfigy umí lépe, já jedu stále starou v8).
A tím bylo i pro dnešek hotovo. Můj cíl je teď postupně, jak budu kde co upravovat, začít z domu eliminovat příliš velkou variabilitu zařízení, a vše sjednotit. Co se mi osvedčilo, je Loxone na základ, Quido na vstupy/výstupy v rozvaděči, a modbus na externí/menší logické celky s tím, že stále jde napřímo ovládat z Loxone.
Co mi naopak vůbec nesedí je Zigbee, ruzné MQTT bridge přes NodeRed a celkově nutnost používat NodeRED v kombinaci s Loxone. Největší problém je, že se NodeRED-Loxone integrace občas prostě odpojí a už se sama nepřipojí a je nutné re-deploynout NodeRED projekt (to chci zkusit nějak automaticky pořešit, ale report chyby na githubu nikam nevedl).
Stejně tak ze Zigbee nejsem nějak vyndaný, občas je tam prodleva, občas to zazlobí (a to nejen díky NodeRED). Takže tam možná časem taky zkusím ještě něco jiného. Ale vzhledem k mému časovému fondu to možná bude až na nějakém dalším baráku :).
Seznam wiki článků
Jako první nový wiki článek je návod, jak zprovoznit Waveshare RS485-to-ETH: https://www.vodnici.net/wiki/jak-zprovoznit-waveshare-rs485-ethernet/
Další nový wiki článek je pak o tom, jak nastavit vnitřní parametry modbus zařízení: https://www.vodnici.net/wiki/modbus-device-jak-nastavit-vnitrni-parametry/
A další, jak správně spínat a vypínat relátka u různých typů desek: https://www.vodnici.net/wiki/modbus-relay-jak-spinat/
Seznam návodů pro různá modbus zařízení, která mám doma a jsou odzkoušená. https://www.vodnici.net/wiki/modbus-relays-seznam-navodu-pro-ruzna-zarizeni/
A tady pak ještě seznam nástrojů pro ladění modbusu: https://www.vodnici.net/?post_type=epkb_post_type_1&p=80986&preview=true
PS: Pokud máte nějaké svoje seznamy zařízení spolu s návody, klidně mi hoďte linky do komentů a já je do wiki přidám.
Ahoj, bylo by možné po kliknutí na náhled fotky v článku zobrazit její větší sestru nebo je závada na mém přijímači? Díky.
aha, diky za info, opraveno.
Zrovna nedávno jsem dělal rozvaděč na zahradu a času to sežralo víc. Asi nejsem tak výkonný nebo zručný. Je fakt, že to bylo včetně instalace bedny a připravené kabeláže.
Tvoje úvahy o Zigbee mě překvapily, když si nedávno psal o světlech. Já všechny tyhle technologie beru jako příjemný doplněk, který Loxone neumí, a bez kterého dům fungovat zvládne, Hlavně taky proto, že by se v tom nejspíš nikdo nechtěl vrtat, kdybych já nemohl, ale Loxone by v případě potřeby někdo dohromady dal.
Modbus na řízení závlahy, pergoly … jde, i když možná by bylo lepší na on/off funkce použít DMX a modbus nechat na vyčítání dat a ovládání, kde to jinak nejde. Já kvůli některým problémům s modbusem nakonec zprovoznil víc samostatných sběnrnic.
Ono kdyby zigbee fungovalo nativne, bylo by to jine. Ale tim, ze to jede pres NodeRed a jeste, ze ta NodeRed-Loxone komponenta zlobi, tak je to na prd.
Ad ten modbus vs DMX. Ja mel kdysi na DMX postavene nejake triaky na stmivani a ty postupne odesly jeden za druhym, a diky tomu se mi nejak DMX zprotivilo :-). Urcite by to byla cesta, ale modbus je pro me univerzalnejsi.
Krom samotnych rele tam chci dat i teplomery na mereni teploty bazenu, mam moznost tam pridat pak i nejake tlacitka co vim, ze se mi na terase budou hodit atd.
Ono tech cest je urcite vice jak to resit, sel by tam dat i maly papouch, nebo rovnou loxone.
Jak som pred x rokmi nahodil zigbee2mqtt gateway + loxone2mqtt gateway, neviem o tom. Uz skoro ani neviem, kde mi to realne bezi 😀
Zigbee je nejak nakonfigurovane a nestaram sa o to roky. Loxone2mqtt detto (zbieram cez to data do grafany). Takze je moznost to mat funkcne a bezstarostne, akurat prvotne nahodenie moze byt pre niekoho trosku zlozitejsie a menej pohodlne, nez si naklikat chlieviky v nodered.
Co sa tyka modbus rele, mal si stastie na spravny vyber rele dosky. Ja som sa trosku unahlil a kupil dosky, ktorym sa modbus adresa nastavuje – tramtadadaaaa – modbusom. Coz mi prislo ako prekonatelna komplikacia (proste dosku na stole ozivim a poslem tam setting na nastavenie adresy), ale len do momentu, nez som si omylom broadcast na nastavenie adresy poslal do ostrej vetvy roztahanej po zahrade :D. No a potom som chvilu lietal hore-dole, nez som tie adresy zase nastavil naspat. Takze ak niekto pojde do modbus rele dosiek, tak si kupujte tie s dip switchmi.
ad ten loxone2mqtt, on mi zlobi nejaky ten nodered loxone plugin, ten se furt dokola odpojuje pri restartu loxone. Kdyz restartuju ja, vim ze mam udelat redeploy nodered projektu a on se chytne. ale obcas kdyz se restartne sam loxone, protoze sam od sebe crashne, tak uz se to nenahodi.
ad ty desky, viz navod, je to bohuzel bezne. v lepsi pripade maji na sobe dipswitch na adresu, v horsim ani to ne, ale vetsinu dalsiho se uz nastavuje modbusem.
ale na to je easy rada, koupis za par korun usb-modbus, v klidu si to nastavis na pc a pak uz to jen jebnes do rozvadece. Toto mi treba vubec nevadilo.
vyhoda je, ze u nekterych rele mas automaticky zapnute spinani vystupu dle toho jak mackas vstupy. To vetsinou nechces, zaroven tim ale dokazes narychlo udelat treba spinani svetla v garazi/boude, aniz by to muselo jit pres loxone.
jinak ad ten broadcast, tak takto to ty moje desky nemaji. tam jim to musis rict explicitne jejich adresou (a kdyz tu zapomenes, tak je tam reset switch).
Já provozuju Loxberry, který už má MQTT bridge (původně plugin) integrovaný přímo do standardu. Jede mi to taky roky naprosto stabilně, takže kdyby někdo potřeboval a hledal alternativu, je to řešení. Výhoda je, že konfigurace kompletně klikačka v GUI v prohlížeči. Instalace celého loxberry je zápis image na paměťovku a vloži do Raspberry (či jiného podporovaného HW). Konfiguraci celého Loxberry (vč. pluginů) možno zálohovat jako celek (byť jsem ještě nezkoušel, protože to nechcíplo)
Jo a Zigbee na MQTT tam mají taky jako plugin (instalovatelný z jejich “plugin store”), s tím ale zkušenosti nemám
Ja som o loxberry par krat uvazoval, ale vzdy mi da facku ten ich web, kde to pisu vsetko nemecky a anglictinu totalne ignoruju. Takze vlastne ani nedokazem zistit, co to vsetko vie.
Část webu už v angličtině mají ( https://wiki.loxberry.de/en/start ), zbytek jedu přes Google translate, jsem na tom podobně. Samotný systém i pluginy v angličtině naštěstí je (část vč. samotného Loxberry dokonce i češtině).
Jde to pustit i ve virtuálkách, v poslední verzi i oficiálně (nezkoušeno)
Ja Loxberry parkrat zkousel, ale vlastne nevim, k cemu by mi byl, nic jsem z nej nevyuzival.. Data do Influxdb tlacim primo z Loxone, kamery integrovat nebudu (k cemu..), pocasi se take resi primo, tak snad jedine to zigbee, ktere mi uz ale bezi s Conbee+Nodered bez problemu, takze to menit nebudu. Kdyz nainstaluju Loxberry, tak mi to zabere cele RPi a z docku se mi to nepodarilo zprovoznit.
A umi loxberry resit i ten USB stick na zigbee?
protoze samotne MQTT neresi problem se zigbee.
Zigbee doma nemám a tak nemůžu dodat vlastní zkušenosti. Plugin tam ale je ( https://wiki.loxberry.de/plugins/zigbee2mqtt_plugin/start
), je aktuální (na poslední Loxberry) a využívá přímo Zigbee2MQTT https://www.zigbee2mqtt.io/ (hádám, že ten plugin je jen wrapper a interface okolo tohoto projektu, což ale není vůbec na škodu)
diky, no mozna by to stalo za pokus, prehodit to na nejake raspbery, zda se to nahodou nebude chovat lepe. thx
Ja myslim ze stick je to najmenej, to je len blba seriovka ktora moze byt kdekolvek. Ako ale loxberry riesi prepojenie loxone a zigbee? Ked som si programoval vlastnu gateway pred tymi x rokmi, tak som na nic hotove nenarazil a musel som si to spravit sam.
no to resi pres nodered imo, stejne jako kdyz to mas v dockeru. a v nodered je ta bugnuta loxone-nodered componenta, ktera prave zpusobuje to, ze se po odpojeni loxone uz znova sama nepripoji.
Uz sem i zlehka hledal, jestli nema NodeRED nejake API, kterym bych restartl projekt (nenasel sem), stejne tak ta componenta nema zadny vstup na znovu-connect. Takze jedina sance je nejaky tool na restart docker contaienru, coz bude zas solidni prasarna.
nejsem z toho uple rad no 😉
Me to bezi v posledni verzi asi rok a pul a zatim ani jedno odpojeni..
Loxberry ide cez UDP alebo HTTP input v loxone. Ja to nepoužívam, ale u kolegu to funguje dobre. Ja idem tiež roky cez zigbee2mqtt a prevod na UDP naklikaný v NodeRed lebo som lenivý na to písať nejaký service. Ale na komunikáciu s Loxone preferujem viacmenej UDP na všetko, nie všetko čo chcem ovládať je viditelné vo vizualizácii aby som to ovládal cez ten NodeRed plugin čo používa L.
aha, to je fakt, ze by slo misto node-loxone pouzit UDP vstupy a teoreticky i UDP vystupy a tim obejit tento issue.
Jak píšou kolegové. LoxBerry v zásadě nainstaluje a interfacuje zigbee <-> MQTT převodník a vedle toho má vestavěný interface na MQTT <-> Loxone, které realizuje buď přes UDP nebo HTTP. Podle loxforum měřili zátěž a to HTTP není skoro žádný rozdíl proti UDP. Z pohledu uživatele je to ale mnohem příjemnější – stačí jen vytvořit virtual input a jeho jméno zadat do Loxberry (jen přeložit “/” -> “_”)
Whitelist (co posílat na Loxone – zkusit, jestli VI existuje)
Takhle to vypadá v Loxone Config
Jo a směr zpět je už normální UDP…
super, ja do ted UDP myslim nikde nepouzivam, napojoval sem se prave na virtualni vstupy pres ten plugin. ale jestli jsou ty UDP stabilnejsi, tak je zkusim. diky
Já jedu MQTT->Loxone pomocí virtuálních vstupů, zpět z Loxone na MQTT přes UDP virtuální výstupy (tam to myslím vážně jinak nejde, ale většinou člověk potřebuje stejně hlavně vyčítat).
S virtuálníma vstupama (které Loxberry aktivuje přímo jménem přes HTTP REST) není žádný problém a je to jednodušší na nastavení (jen vyrobit jeden vstup a pojmenovat ho správně, to je vše). Doporučoval bych použít toto jako 1. možnost.
diky, jen co najdu zas nejaky volny cas, tak to zkusim. ale s tim v jakem jsem skluzu na ostatnich vecech to vidim zas pristi zimu…. takove to “nehrabej do toho co jaks taks funguje” 🙂
Á, to bude něco jako vývoj mého pluginu na Chromecast (do Loxberry):
https://wiki.loxberry.de/plugins/chromecast_4_lox/start
Už dlouho tam chci přidat podporu pro víc Chromecastů…
nakonec sem to hecl, vcera dopoledne sem jeste prehodil ten modbus relay (uz dorazil novy 12-relay) a odpoledne sem se pustil do prepsani vseho.
jeste porad to dodelavam, ale pujde to (mel sem na to napojeny i gril, ten je trochu vic prace, ale taky to pujde).
hraju si s tema UDP vstupama/vystupama, vstupy jsou uplne v pohode, ale je nejaky zpusob, jak pres UDP vystup dostat ven textove hodnoty z “State” prvku?
co koukam, tak virtualni vystup umi asi jen on/off a nebo ciselnou hodnotu.
jako neni to extra issue, jen musim nektere veci lehce vic predelat.
Tady je popis https://www.loxone.com/cscz/kb/udp-virtualni-vstupy-vystupy/ a když v instrukci použiješ <v>, tak to hodnotu ze vstupu vloží do instrukce, takže klidně i text ze statusu.
diky. chvili sem se s tim pral, porad sem tam daval \v \d a jine, ale pak sem nasel dokonce i svuj starsi clanek, kde sem to popisoval a uz to jede.
Ale musel sme jit pres http, protoze udp vystupy mi neprosly zas pres docker do nginxu, zatimco http jelo rovnou, tak sme pouzil to. Co se rychlosti tyka, je to super.
kdyz najdu cas, nahazu k tomu pak zas nejake screeny/poznatky do clanku
diky, toto zni dobre, to by mi umoznilo zbavit se aspon toho jednoho problemu a zlepsit WAF 😉
Me teda Nodered funguje bez zaskobrtnuti, neodpojuje se. Ale mam ho na RPi4, ktere jede z SSD (Conbee II+RPi4 s Nodered povazuju v soucasne dobe za nejlepsi reseni integrace Zigbee). Desim se toho, ze jednou se vsere, ale nevyhnu se mu, protoze mam Xiaomi pohony na zavesy.
problem neni v nodeRed, ten jede krasne.
mam pres nej i dalsi veci a vse funguje. Problem je v v tomto extensionu: node-red-contrib-loxone, ktery funguej skvele, ale jednou za cas se odpoji (vetsinou kdyz se restartne server) a neumi se zpet pripojit k loxone.
ale reseni je prave zminovane UDP input/outputs, kdy se pak nemusi tento extension pouzit a pojede (doufam) vse bezproblemu. Prave to zkousim na test par veci predelat, tak uvidime jak to dopadne
To jsem zapomnel zminit a ted jsem si to pro jistotu overil. Tu extension pouzivam take, na Philips Hue svetlo a na jednu Zigbee zasuvku Immax. Zbytek je pres UDP. Je pravda, ze ty dve pres extension pouzivam minimalne, tak mozna diky tomu se mi jeste neseknul.
je mozne,ze to je v kombinaci s mym MS1 a v8.1 loxconfigem, tezko rict.
Dela mi to ale uz tak rok dva, ze proste jednou za cas to vytuhne. Kazdopadne uz to cele prepisuju na UDP, je to sice trochu prace to cele prehazet, ale pujde to 🙂
To je mozne, mam MS2 a nejnovejsi config
Kazdopadne pres UDP to jede krasne, tak snad ti to spravi problem.
zatim to vypada ze jo, od vcera full UDP a zatim bez problemu :-). Tim ze tam ted nema teoreticky co vytuhavat, tak uz by to melo byt stabilni naporad…. snad 🙂
Zdravím, zrovna jsem se chystal nakoupit Relay Extension kvůli závlaze a díky bobu narazil na Váš článek:)
Chtěl bych se zeptat proč jste použil převodník ETH – modbus , když lze koupit relé desku rovnou s modbus TCP . Je k tomu nějaký důvod ?
Předpokládám, že když koupím třeba tuto desku : ETD8A12 24V 2 IN1 12 DIO Network/RS485 Relay Module Modbus RTU TCP/IP UART Controller Switch Board For PLC PTZ Camera LED [ETD8A12_24V] – $49.99 : eletechsups.com
tak nemusím mít žádný loxone RS485 extension, ani jiný převodník ETH – modbus.
To rad slysim, ze clanek pomohl. Cast usetrenych penez muzete poslat na nas donate ucet :-))).
Co se tyka modbus tcp vs modbus klasika, tech moznosti je vice, ale prave to, ze pak takove modbus-tcp zarizeni je o dost drazsi nez obycejne modbus, a jakmile tam budete chtit mit vice ruznych modbus veci, znamena to jeste ethernet switch, slozitejsi kabelaz a drazsi desky.
Dalsi vec je, ze kazda deska s vlastni TCP bude mit jine rozhrani, jine specifika atd. Takto kdyz mate 1 universalni a vyzkouseny prevodnik modbus-tcp, tak vite, ze kdyz neco zlobi, je to az modbus deska, a ne treba jeste veci kolem eth