Den ultimative Zigbee guide

Indledning

I denne guide vil jeg fortælle lidt om, hvad du som nybegynder i Zigbee universet skal vide. Jeg kommer til at fortælle om produkter, selve teknologien, ting der er godt at vide samt hvordan man kan bruge det i Home Assistant.

Hvad er Zigbee?

Zigbee er en trådløs teknologi der på mange måder minder om WiFi og Bluetooth. Zigbee kører på 2.4 GHz og det gør WiFi og Bluetooth også. Zigbee bruges som regel i IoT enheder såsom knapper, bevægelsessensorer og pærer, og er et stort alternativ til blandt andet Z-Wave. Batteridrevne Zigbee enheder plejer som regel at holde batteri i mindst 1 år, men alt afhængig af batteriets størrelse, kan man få dem til at køre på batteri i langt flere.

Zigbee enheder skal parres med en “master enhed” som hedder en coordinator. Coordinatoren står for at snakke sammen med det system, du har valgt at bruge. De fleste fabrikanter af Zigbee enheder, har deres egen gateway/hub. De gateways fungerer essentielt som coordinators, og de har ofte kendskab til mange Zigbee enheder, da hver enhed udstiller en form for oversigt over, hvad enheden kan gøre. Det betyder også ofte, at du kan parre forskellige fabrikanters enheder på kryds og tværs. Det kunne eksempelvis være en IKEA pære koblet på en Philips Hue hub.

Jeg kommer udelukkende til at snakke om at bruge sin egen USB coordinator i dette indlæg, i stedet for at bruge en hub fra eksempelvis Philips Hue serien.

End Devices og routere.. hvad er det?

End Device

Et End Device kategoriseres ofte som en batteridreven enhed. Det er enheder såsom dine knapper og taster, dine bevægelsessensorer, dine dør- og vinduessensorer og så videre. Kendetegnet ved et End Device er, at de går ind i en low power tilstand, når de ikke bliver brugt. Det gør at de ikke bruger nær så meget strøm, da de ikke har brug for at være koblet på din coordinator eller router konstant. Et eksempel kunne være, at der ikke er behov for at din dør- og vineussensor konstant fortæller, at den er lukket. Det er kun nødvendigt for den at sige “Hey døren er åben”, når den faktisk bliver åben.

Du kan godt få End Devices der kører på konstant strøm, altså ikke batteri, men det ses ikke særlig ofte, da der teknisk set ikke er nogen forskel på et End Device og en router, når man kigger på hardwaren i enheden.

Routere

En router kategoriseres oftest som en enhed der får konstant strøm. Enheder såsom dine pærer vil næsten altid være routere. Det fede ved routere er, at andre enheder kan forbinde til dem, som betyder at du kan få et stort mesh netværk af enheder. Hvis du eksempelvis har en dørklokke i form af en knap, så skal den ikke nødvendigvis snakke direkte med din coordinator/hub, men kan derimod snakke med en pære der er tæt på, som måske snakker med en anden pære, som til sidst snakker med din hub. Beskeden fra dit End Device bliver bare sendt videre ud i det store mesh netværk, som til sidst ender hos din coordinator.

Men hvad er forskellen?

Teknisk set er den eneste forskel på et End Device og en router det firmware der ligger på enheden. Hvis du køber en pære og en knap og skiller dem ad, vil du ofte finde det præcis samme i begge enheder. Det betyder så også, at hvis du har værktøjet til det, kan du flashe et router firmware på en knap, og et End Device firmware på en pære. Rent teknisk er der intet der stopper dig fra at gøre det, da hardwaren er den samme. Dog skal det siges, at hvis du flasher en batteridreven enhed med et router firmware, så er den tændt 24/7, men du skal nok forvente, at batterilevetiden falder så meget, at den næppe er tændt mere end én dag.

Én vigtig ting at nævne er, at fordi dine End Devices ikke er forbundet til din coordinator hele tiden, kan du altså heller ikke snakke med den hele tiden. Jeg har leget lidt med Lidls termostater her på det seneste, men jeg kan ikke fortælle termostaten at den skal tænde, fordi den ikke er tændt hele tiden.

IKEA repeater/router der kører et router firmware på, som jeg kan tænde ved at give den 3.3 volt

Begrænsninger

Alle Zigbee coordinators og routere har begrænsninger i form af antal enheder de kan kommunikere med. Dog er det først noget man plejer at se, når man har 100+ Zigbee enheder. Dog er det så smart med Zigbee, at hvis du tilføjer en router til dit netværk, så forøger du antallet af enheder dit netværk supporterer. Dit mesh netværk skal nok selv stå og reparere sig selv løbende, så alt ikke er forbundet til samme router, og derved laver en form for flaskehals.

Hvilke produkter der er bedst, kommer jeg til senere under produkter.

Rækkevidde

Rækkevidden på Zigbee enheder er ofte ikke særlig god. Det er højest sandsynligt grunden til, at de opfandt router firmware og muligheden for at bruge mesh. Da enhederne ofte er ret små, er antennerne ofte også ret små, hvilket aldrig er godt, når man skal snakke med noget trådløst. Hvis du har en række dør- og vinduessensorer koblet til alle vinduer og døre, som du bruger som en form for alarm, er det jo kritisk hvis de ikke længere har forbindelse til din coordinator, for så vil du ikke få besked, når nogen bryder ind i huset.

Har man ikke muligheden for at lave et stort mesh netværk med mange routere, så kan man med fordel købe en lidt speciel Zigbee router, der har en ekstern antenne. De hjælper gevaldigt med at nå ud til de små End Devices. Hvad jeg anbefaler at gøre der, kommer vi til lidt senere, når jeg fortæller lidt om forskellige produkter.

Software

Der findes mange fede Zigbee implementeringer rundt omkring på nettet, men jeg tror den mest udbredte er Zigbee2MQTT. Der findes blandt andet også ZHA til Home Assistant og deCONZ/Phoscon. Hvad du vælger at gå med, afhænger 100% af hvad du føler er bedst til dig.

Zigbee2MQTT

Zigbee2MQTT er et stykke software der installeres på en enhed, såsom en Raspberry Pi, hvor man har installeret en Zigbee adapter, der agerer som coordinator. Når du parrer en enhed, eksempelvis en pære, til din coordinator, så sender Zigbee2MQTT beskeder ud til din MQTT broker, som så kan blive læst af noget andet, såsom Home Assistant. Fordelen ved at smide dine beskeder direkte ind i MQTT er, at mange systemer kan lytte efter nye beskeder.

ZHA

ZHA er det software jeg selv kører på min server. Der er mange fordele ved ZHA, såsom at det er integreret i Home Assistant ud af boksen, og det er utrolig nemt at sætte op. Igen skal man bruge en Zigbee USB adapter som coordinator, og så er det ellers bare et spørgsmål om at fortælle Home Assistant hvor din coordinator er, og så kører det. Indtil videre har jeg parret alle mine enheder i ZHA uden problemer, som har dannet et stort mesh netværk af Zigbee enheder.

ZHA mesh netværk der automatisk genereres

Produkter

Jeg kan nævne hvilke enheder, jeg selv har og bruger i vores hjem, men jeg kommer mere til at fokusere på, hvilke USB adaptere du burde købe, hvis du skal til at starte på Zigbee i Home Assistant. De enheder vi har er:

  • Philips Hue pærer, IKEA pærer og IKEA lyspaneler
  • Aqara dør- og vinduessensorer
    • Bruges på alle vores vinduer og døre, så vi kan holde øje med, om de er åbne eller lukket når vi forlader huset
  • Sonoff og Aqara bevægelsessensorer
    • Bruges blandt andet til at tænde lys når det er mørkt, så man ikke skal tænde lyset på kontakten. Derudover har vi en i postkassen som sender et signal, når der er kommet post
  • Nordtronic Box Dimmer
    • Bruger vi til at styre lysgrupper med LED spots i loftet. Utrolig smart og billig enhed, hvis du bare skal kunne tænde/slukke for lyset med Zigbee og Home Assistant, samt sætte en specifik lysstyrke (utrolig brugbart om natten, hvis man skal op på toilet)
  • Aqara knapper
    • Knapper kan bruges rundt omkring i huset til at udføre automatitioner, såsom at fortælle din robotstøvsuger at du er færdig med at spise, og at den nu kan køre i køkkenet og ved spisebordet. Vi har en som dørklokke, som sender en text-to-speech besked til min telefon og som afspiller en “ding dong” lyd i alle vores højtalere
  • Philips Hue dimmer
    • Philips Hues dimmer kontakter er utrolig brugbare. De virker fantastisk i ZHA og de 4 knapper giver dig utrolig mange muligheder, såsom 1 klik, 2 klik, 3 klik, 4 klik, 5 klik, mere end 5 tryk, langt tryk (holde nede) og så videre. Én Philips Hue dimmer giver dig mindst 28 forskellige muligheder, da der er 4 knapper på den
  • Heiman røgalarm
    • Røgalarmer er noget af det mest kritiske at have i huset, så hvorfor ikke også have nogle der snakker med Home Assistant via Zigbee? Hvis røgalarmen går mens du ikke er hjemme, kan du få en notifikation på telefonen, så du kan ringe til naboen og få det bekræftet. Eller ringe direkte til brandvæsenet

Coordinators og routers

Det allerførste skridt du skal tage, er at vælge en coordinator. Stort set alle routere kan bruges som coordinators, da det igen bare handler om firmware, men nogle klarer det altså bedre end andre. Jeg vil til hver en tid KUN anbefale coordinators og routers med eksterne antenner, da de bare giver en meget bedre rækkevidde og ikke koster noget betydeligt ekstra.

Bedste Zigbee coordinator/router til prisen: CC2531

Jeg har tidligere skrevet et opslag omkring CC2531, som du kan læse her. CC2531 er og vil være den absolut billigste coordinator/router du kan købe. Jeg bruger dem selv rundt i huset, og endda som coordinator, selvom den kun officielt understøtter omkring 20-25 enheder. Dog har jeg udvidet vores hus med mange routere, så den begrænsning på 20-25 enheder bliver nok aldrig et problem for mig.

En CC2531 kan købes i et par forskellige varianter: Med antenne, uden antenne, med antenne og flashet med router firmware, uden antenne og flashed med router firmware og så videre.

Hvis man vil købe en CC2531 der virker ud af boksen, kan jeg anbefale en Sonoff sælger, der kommer med firmware flashet fra fabrikken: CC2531 (reklamelink) – dog skal man være opmærksom på, at den IKKE har en ekstern antenne, så rækkevidden er begrænset af dette.

Hvis du selv vil flashe dit eget firmware, kan jeg på det kraftigste anbefale en med ekstern antenne (reklamelink).

Bedste Zigbe coordinator/router med fleste muligheder: CC2652P

Hvis du vil have utrolig lang rækkevidde, stort set ingen begrænsninger ifht. antal enheder (vi snakker mindst 200+) og mulighed for at flashe et firmware via USB, så kan jeg på det kraftigste anbefale denne CC2652P USB adapter på Tindie: https://www.tindie.com/products/gio_dot/z-bee-duo-hybrid-cc2652p-zigbee-30-adapter/

Den er desværre ofte udsolgt, og det tror jeg skyldes, at jeg anbefaler den på alle Facebook sider.

Vi har som sagt en bevægelsessensor fra Aqara ude i vores postkasse, som desværre er lavet af metal, så den fungerer som et slags skjold mod alle trådløse signaler. Jeg prøvede mange forskellige ting, såsom direkte udsyn med en Philips Hue pære og en CC2531 med ekstern antenne. Intet virkede pålideligt, indtil jeg købte en CC2652P fra Gio-dot på Tindie. Den har kørt non-stop i over 3 måneder nu, og den har modtaget hver eneste besked fra sensoren ude i postkassen, selvom den sidder på den anden side af husmuren i en stikkontakt.

Som et alternativ kan man kigge på zzh! og ZigStar Stick, da de bruger stort set samme chip som den fra Gio-dot. Vær opmærksom på hvor de bliver sendt fra, så du ikke får en træls opkrævning fra PostNord på 160 kroner + moms.

REDIGERET 19. OKTOBER 2021: Sonoff har udgivet en mega, mega billig CC2652P stick, der kun koster 115 kroner inklusiv fragt. Det bliver ikke billigere end det: https://itead.cc/product/sonoff-zigbee-3-0-usb-dongle-plus/

Firmware flashing

CC2531

CC2531 skal flashes med en såkaldt CC Debugger. Hvis det er første gang du køber, kan du med fordel bruge de ~160 kroner på en CC Debugger og få en CC2531 med i købet.

Zigbee2MQTT har skrevet en rigtig fin guide til at flashe en CC2531, så den vil jeg hellere anbefale, i stedet for at skrive præcis det samme: https://www.zigbee2mqtt.io/information/flashing_the_cc2531.html

CC2652

For at flashe den Gio-dot CC2652P adapter jeg nævnte før, skal du blot plugge den ind i din computer. Du skal ikke bruge en CC Debugger eller lignende, da den har mulighed for at blive flashed via USB.

  1. Start med at hente SmartRF Flash Programmer 2 fra denne side: https://www.ti.com/tool/FLASH-PROGRAMMER#primary-sw (det kræver muligvis at du skal oprette en konto, så bare gør det)
  2. Sæt USB enheden i din computer, åbn Flash Programmer og vælg din CC2652P chip i menuen til venstre
  3. Sæt nu USB enheden i flash mode ved at trykke på FLASH og RESET på samme tid og slip derefter RESET og derefter FLASH. Det er vigtigt du slipper FLASH til sidst. Din PC burde nu sige en ny enhed er fundet, som bekræfter at den er i flash mode
  4. Hop ind og hent Z-Stack firmware fra denne side. Vælg den korrekte mappe (coordinator eller router), vælg Z-Stack 3.x.0 mappen og derefter bin mappen. Hent nu filen der eksempelvis hedder CC1352P2_CC2652P_other_XXXXXXXX_20210128.zip hvor XXXXXXXX er enten coordinator eller router. Kig i tabellen på “bin” siden, og se om du kan finde din enhed
  5. Udpak zip filen på dit skrivebord
  6. Åbn Flash Programmer, tryk på Browse og find .hex filen fra mappen du lige har udpakket og vælg derefter alle actions til (Erase, Program og Verify)
  7. Tryk på den blå “play” knap, hvorefter din USB adapter nu burde blive flashet med det firmware du har valgt

Her er rækkefølgen af de knapper du skal trykke på i Flash Programmer programmet:

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *