Zigbee hrátky – seriál na pokračování

Zigbee hrátky – seriál na pokračování

Dnešní článek bude pravděpodobně první z více článků o zprovozňování Zigbee v našem domě. Konečně mám zase trošku času a hlavně mi po měsíci dorazil nový Zigbee stick CC2652, který zdá se být o dost lepší než jeho předchůdce.

Věřím, že se díky tomu konečně dostanu se Zigbee do stavu, kdy ho plnohodnotně zaintegruji do našeho domu. A o tom bude tato série článků.

Psal jsem o tom párkrát na fóru, že jsem objednal nový USB stick CC2652 na Zigbee. Vzal jsem ho z Tindie, kde jednak měl dorazit relativně rychle, a pak je už naflashovaný přímo na potřeby Zigbee2Mqtt.

Píšu měl, protože byl nějaký problém s německou poštou, která prodejci vrátila mraky zásilek poškozených a on musel vše testovat a posílat znovu. Díky tomu se vše protáhlo na měsíc a něco. Naštěstí jsem na to stejně neměl čas, ani pomyšlení, takže mě to zas tak netrápilo. Za normálních okolností má dorazit do týdne.

Výhod téhle CC2652 oproti původní CC2531, na kterou jsem psal recenzi a návod na flashování, je hned několik (původní návod a recenze zde). Zaprvé, není potřeba kupovat flashovací HW a složitě stick flashovat, protože prodejce má už vše připraveno. Zadruhé, je plně kompatabilní se Zigbee 3.0, zvládne až 100 zařízení, má externí anténu a celkově lepší dosah. A zatřetí, což pro mne bylo nejdůležitější, USB stick splňuje pravděpodobně vše, co takový USB stick má splňovat a je kompatabilní nejen s RaspPI, ale také s ESXI systémem pro virtualizaci serverů.

Všechny tyto výhody pro mě znamenají, že nebudu muset provozovat RaspPI, ale stick mi poběží virtualizovaný na serveru, kde provozuji i ostatní Docker instance na správu domu. To ovšem neznamená, že by neběžel v NAS či RaspPI. Tam samozřejmě funguje také.

Tento návod se proto bude zmiňovat i o ESXI, který by mohl být i pro někoho dalšího zajímavý. Pokud byste potřebovali návod na RaspPI, postupujte dle původního návodu, jen vynecháte flashovaní a začnete sekcí “Instalace na Raspberry”. Návod zde: https://www.vodnici.net/2018/12/vlastni-zigbee-brana-pomoci-raspbery-pi/.

Zároveň se od dob prvního návodu změnilo/rozšířilo pár komponent na Zigbee správu, takže i o těch budu postupně psát, k tomu přihodím pár Docker a Docker-compose konfigurací, které budu aktuálně pro Zigbee síť používat. A na závěr pak přijde samotná implementace do Loxone, kde to bude opět vyžadovat NodeRED a nějaký ideálně univerzálnější kód, který bude překládat Zigbee na Loxone. Uvidíme.

ESXI

Začneme u ESXI virtuálního stroje. ESXI samotný zde moc popisovat nebudu, ve zkratce jde o “trochu” robustnější VM Ware virtuální stroje běžící na vyhrazeném hardware. Pro potřeby testování jsem si udělal nový Docker VM, kde budou veškeré testy probíhat a kam pak postupně zmigruji i ostatní docker kontejnery s chytrou domácností.

Zigbee stick do virtuálního stroje přidáme jako klasický USB device, s tím že se v pořádku i pro ESXI hlásí jako “cc2652rb stick”:

Po přidání uložíme a nahodíme stroj. S původním USB stickem CC2531 toto nebylo možné. Stick ihned po zasunutí do serveru způsobil kompletní vytuhnutí celého ESXI OS a tím i všech virtuálních strojů. Takže fungoval spíš jako takovy USB killer :).

Zigbee stick

Další rozdíl oproti původnímu sticku je, že se hlásí jako /dev/ttyUSB0 a ne /dev/ttyACM0. Toto je dost zásadní změna, protože je potřeba ručně upravit konfiguraci v Zigbee2Mqtt data/configuration.yaml aby ho Z2M našel.

Docker

Pro základní testování sticku si přes docker-compose rozbíhám následující docker containery:

V případě MQTT používám defaultní kontajner, do NodeRED jsem si postupně přidal pár dalších knihoven a Zigbee2MQTT opět v defaultním nastavení, jen s vlastním konfigem.

DockerFile pro NodeRED mi aktuálně vypadá nějak takto. Přidávám komponenty pro dashboard a Zigbee2Mqtt podporu a pár dalších, které jsou potřebné pro M2T Admin rozhraní na lepší správu Zigbee sítě.

FROM nodered/node-red-docker

RUN npm install bufferutil
RUN npm install utf-8-validate
RUN npm audit fix

RUN npm install node-red-node-smooth
RUN npm install node-red-dashboard
RUN npm install node-red-node-ui-list
RUN npm install node-red-contrib-zigbee2mqtt

Samotný DockerCompose na provázání těchto tří kontejnerů pak může vypadat třeba takto:

  dum-mosquitto:
    build: mosquitto
    container_name: dum-mosquitto
    restart: always
    ports:
    - "1883:1883"
    - "9001:9001"
    network_mode: bridge
  
  dum-nodered:
    build: nodeRed
    container_name: dum-nodered
    restart: always
    ports:
      - "1880:1880"
      - "60000-61000:60000-61000/udp"
    network_mode: bridge
    links:
    - dum-mosquitto
    - dum-zigbee

  dum-zigbee:
    container_name: dum-zigbee
    image: koenkk/zigbee2mqtt
    volumes:
      - ./zigbee/data:/app/data
      - /run/udev:/run/udev:ro
    devices:
      - /dev/ttyUSB0:/dev/ttyACM0
    restart: always
    network_mode: bridge
    privileged: true
    links:
    - dum-mosquitto

Více Docker jako takový rozbírat nebudu, psal jsem o něm opět ve dřívějších článcích a zbytečně by to prodlužovalo tuhle sérii. Navíc článků na základy dockeru je na internetu všude spousta 🙂

Zprovoznění

Po dokonfigurování dockeru a ESXI přichází na řadu oživení celého systému. Tady musím říct, že až na zádrhel se správným názvem zařízení ttyUSB0 vs ttyACM0 fungovalo vše hned napoprvé.

Pro testování jsem použil už dříve nakoupené a zmiňované Xiaomi teploměry, kostku a žárovku a dále Zigbee OnOff Controller. Napárování proběhlo hned napoprvé a to i přesto, že všechny zařízení byly původně spárované s původním USB stickem.

Bohužel, jako jediné vstupní zařízení mám momentálně Xiaomi kostku a ta mi prostě zlobí. Problém není v signálu, ale v kostce samotné. Občas pohyb/změnu detekuje a občas ne. Musím proto sehnat nějaké Zigbee tlačítka, která budem po domě na různé dočasné funkce používat (nyní konkrétně tlačítko vedle kojícího křesla na rozsvícení/zhasnutí lampičky 🙂 ).

Pro NodeRED jsem našel nové administrační rozhraní sloužící k lepší správě Zigbee2MQTT sítě včetně možnosti vykresit pěkný graf zigbee sítě:

A taky nové prvky pro NodeRED na snazší bagrování dat z Zigbee2MQTT. Dříve bylo pořeba zpracovávat přímo MQTT parametry, nyní už existují připravené prvky, kdy si člověk může spoustu věcí vyklikat a lezou z toho jen konkrétní zigbee data:

O tomhle už ale zase příště, protože je toho spoustu, co to umí, a chtěl bych se tomu věnovat víc detailně.  Zároveň je to momentláně vše, co mám u sebe rozchozeno. Až seženu tlačítka (zkusím něco z CZ i z Ali, kde to bude na dýl), tak chci zkusit už reálné rozmístění po domě, vyzkoušet dosahy a hlavně udělat už nějaký dlouhodobý systém jak v NodeRED, tak v Loxone, jak Zigbee integrovat. A o tom všem v dalších článcích 🙂

PS: Pokud by měl někdo zájem o předchozí USB stick CC2531 (v RaspPI funguje bez problému) včetně Downloader Cable a CC DEbugger Zigbee emulatoru, tak ho rád prodám. Je plně funkční. Původní cena 26USD, nechám za 400kč vše, pošlu kdyžtak zásilkovnou.

PS2: Tak jsem objednal pár dalších zigbee zařízení na testování. Konkrétně:

Pomohl Vám náš blog? Chcete nás podpořit? I málo udělá radost 😉
0 0 vote
Hodnocení články
Subscribe
Notify of
guest
8 Komentáře
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Dragot
1 month ago

Ahoj, díky za článek. Shodou okolností jsem také objednal ten stejný Zigbee stick.

Objednával jsem ho 24.8. odeslaný měl být 5.9. přes DHL a zatím nic nedošlo. Bohužel to je bez sledování zásilky. Tak že vůbec netuším, jak to s tím je a jak dlouho mám čekat, než by to mohlo z Německa dojít. Prodejci jsem psal a zatím bez odpovědi.

Také jsem se těšil, že na tom postavím světla v domě. Zatím jedu bohužel jen na tom z Číny a jen horní patro. Víc zařízení zatím nechci pokoušet. A pokud se nepletu, tak po výměně donglu budu muset vše párovat znova? Už teď se mi děje, že pokud z nějakého důvodu přestanu nějaká světla napájet a pak je zapnu, tak z toho celé Zigbee2Mqtt sletí a nepomůže nic, než restartovat Lafrite. Respektive odpojení od napájení (teď si ale nejsem úplně jistý). Prostě dongle to nějak nerozdýchá a dostane se do nějakého divného stavu. Zkoušel jsem i jiný dongle (stejný typ s externí anténou) a stejný efekt.

Zatím na tom mám jen 14 podhledových světel z Ikea. Asi kdybych je zapínal po jednom, tak to ještě nějak projde, ale například v chodbě jsou 4. Ty to ještě občas dá. Pokud ale rozsvítím záchod + koupelnu (společné relé), tak to rozsvítí 10 světel najednou a pak už je Zigbee2Mqtt mrtvé, protože ztratí spojení s donglem a jen se zkouší restartovat pořád dokola a dongle nemůže najít.

gisbern
1 month ago

Ahoj, moc dekuju za clanek. Chystam se integrovat DANALOCK, nebo neco podobnyho, a protoze jsem ted na loxone kvuliva ostatnim pracem na baraku celkem kaslal, uplne mi utekly tyto komunikacni nadstavby . Trochu na to koukam ted jak zjara, MQTT, NODERED atd… musim se do toho zase trochu ponorit a diky Tvym clankum doufam, ze to bude bezbolestne… Integrace vseho hodlam udelat pres QNAP supliky… Koukal jsem ze se qnam snazi, a primo na svych strankach upozornuje na moznost IoT a dalsich kravin.
Na tindii to ma ted vyprodany.

gisbern
29 days ago

Jo, suplikem myslim docker. Objednal jsem si novy qnap, anzto minuly model uz nezvladnul 10 bit HEVC kodek a na nektere filmy z vydavatelstvi uloz.to se uz staly nekoukatelnymi. Pouzivam ho jako prehravac filmu k projektoru a hrani her pro deti k plejstejsnu. Tak na ten stary se mi to ted ani zkouset nechce. Tvoje serialy na toto tema prozatim prostuduji, patri ti dik, ze jsi ochotny se s tim podelit s ostatnimi….

No, nativni podpora zigbee by bylo neco. Osobne take nechapu postoj Loxone managementu prodeje k uzivatelum… Ale mozna to je tim, ze Loxone neni Cesky produkt, ale produkt Rakousky. A tamejsi zakaznici zrejme nemaji potrebu ojebavat ruzne extensions levnejsimi variantami. Kdyby bylo na me 🙂 zvednul bych cenu za miniserver jako zaklad systemu, zavedl bych rocni platbu za updaty a poustel bych extensiony za cinske ceny (vyrobni cenu ext. nema cenu komentovat) a reagoval bych na jakekoliv nove protokoly prislusnymi extensiony… IMHO by ziskali maximum koncovych zakazniku a v klidu a kralovsky by si zili z rocnich pausalu… osobne bych jim za ty SW updaty par tisicovek rocne klidne dal… Takze by zase mohli otevrit oficialni loxone forum a nemuseli by se bat, ze se tam budou rozebirat cinske ojebavky… .. A myslim, ze by take bylo definitivne rozhodnuto dilema novych stavitelů e-houmů, jakyto system zvolit….

msk
msk
Reply to  gisbern
27 days ago

Pozri na to z druhej strany – pridanim zigbee by im volali nasrati zakaznici s otazkami typu “Kupil som si v Ikea RGB ziarovku a nefunguje, co mam robit?”.
Ja ich tak trochu aj chapem, pretoze keby sa na mna niekto obratil s touto otazkou a pouzival moj dockercompose suite na zigbee, tiez by som nemal cas s nim hodinu ladit a vysvetlovat a skumat kde je problem.

_Petr_
26 days ago

Zkusil jsem ho objednat taky, dorazil a musím uznat, že s pokratím signálem je to znatelně lepší.

Keany
19 days ago

Chtěl jsem také objednat a bohužel nemá ani jeden skladem :/

8
0
Would love your thoughts, please comment.x
()
x