28 november 2024

Hva pokker er Zigbee?

Har du syslet med hjemmeautomasjon, vil du ha støtt på begrepet Zigbee. Her forklarer jeg hva det er og hvordan du kan bruke det i Home Assistant.

"Zigbee er en trådløs kommunikasjonsprotokoll designet for smarte hjem og IoT-enheter, som gir pålitelig og energieffektiv dataoverføring. Den bruker et mesh-nettverk, der enheter kan kommunisere direkte eller via andre enheter for å nå målet. Zigbee er kjent for lavt strømforbruk, god rekkevidde og muligheten til å koble mange enheter sammen."

Slik forklarer ChatGPT hva Zigbee er, men sannheten er litt mer kompleks.

Fordelene

  • Zigbee er ekstremt strømsparende. En temperatursensor med et knappcellebatteri kan vare i et år.
  • Zigbee lager sine egne nett. Alle enheter du plugger inn i 220V fungerer som nav, og er med på å utvide nettverket.
  • Enhetene er billige. Kjøper du fra Ali Express eller tilsvarende blir det enda billigere.

Ulempene: Det finnes flere standarder, og ikke alle snakker med hverandre. Og selv om en enhet bruker den rette standarden, er det ikke sikkert at alle egenskapene med en enhet blir tilgjengelig for Home Assistant.

Vi vil gjerne ha Zigbee-enheter som følger Zigbee 3.0 og profilen ZHA - Zigbee Home Automation. Denne skal være bakoverkompatibel med tidlige versjoner - men er det ikke alltid.

ZHA-integrasjon for meg
Jeg bruker ZHA-integrasjonen i Home Assistant. Jeg vil at alle mine enheter skal kobles opp direkte mot Zigbee-kontrolleren, og ikke via en tredjepart. (Jeg gjør et unntak for NetAtmo-enheten min.) Dette følger av min KISS-doktrine: Gjør du det mer komplekst, blir det (nesten) alltid mindre stabilt.

ZHA-integrasjonen er basert på Zigbee Home Automation-profilen, slik at alle Zigbee-enheter i utgangspunktet skal virke her. Men gjør de det?

Denne listen kan hjelpe deg litt på vei. Men det er ikke nødvendigvis alt som står her som virker. Og ikke alt som virker, står her.

IKEA og Sonoff er bra
Jeg har gode erfaringer med Zigbee-enhetene til Ikea, de lar seg koble direkte opp uten noen egen hub eller kontroller. Det samme gjelder Sonoff/Ewelink sine enheter (billig fra AliExpress!), og noen fra Develco. En røykvarsler fra Heiman lot seg også integrere. De to Namron-termostatene jeg bruker i gang og vindfang nede var også enkle å sette opp - men jeg har hørt at nyere versjoner er mer tricky. 

Quirks hjelper deg
Siden Home Assistant er basert på åpen kode, finnes det utviklere som jobber med å tilpasse Zigbee-enheter som ikke oppfører seg i henhold til standard. De lager såkalte quirks, som hjelper ZHA med å “oversette” enhetens spesifikke oppførsel til en standardisert form som Home Assistant kan forstå og bruke. Dette skjer automagisk - når du har installert en enhet, søker Home Assistant i en database og setter opp en quirk dersom den finnes. 

Senere skal jeg lage en liste over enheter jeg har testet og er fornøyd med. Kanskje det kan hjelpe deg også.

PS: Mange har sagt at zigbee2MQTT er løsningen på de ulike Zigbee-enhetene og trøbbelet med å Home Assistant/ZHA til å snakke med dem. Zigbee2MQTT skal fungere som en bro mellom Zigbee-enhetene og Home Assistant, og oversetter Zigbee-meldinger til MQTT, som Home Assistant-systemet kan forstå. Kanskje jeg oppgraderer til dette? Da vil jeg i så fall kjøpe en Zigbee-kontroller nr 2, siden ZHA og zigbee2MQTT krever hver sin. Eller kanskje jeg skal vente på den nye standarden Thread/Matter, som jeg skal skrive om i et senere innlegg?


27 november 2024

Bruk en NUC eller mini-PC til Home Assistant

Første generasjon Home Assistant hos meg kjørte på en Raspberry PI, og du kan lese hvorfor jeg ikke syntes det var noen god idé her. Etter utallige krasj og ustabilitet fant jeg fram en NUC som har ligget i boden og bestemte meg for å sette opp systemet på den.

Jeg fant en NUC i boden.

Det finnes en egen side dedikert til å sette opp HA på x86-64 maskiner. Siden beskriver to måter å sette opp HA på, den ene er å boote maskinen fra en USB-stick med Ubuntu og så installere derfra. Jeg fikk ikke tillatelse til å skrive til disken på denne måten, så da ble det metode 2: Åpne kabinettet og skru ut disken, koble den til Macbook Proen min med en USB til SATA-adapter og deretter kopiere HA-imaget til disken med Balena Etcher.

Du må ha skjerm og tastatur
Uansett hvilken metode du bruker, må du koble en skjerm og et tastatur til maskinen når du booter for første gang, blant annet fordi du må sette opp wifi og et par andre parametere. Jada, folkens: Her kan du kjøre wifi samtidig med en zigbee/Z-Wave-dongle! Det gir deg blant annet helt andre muligheter for plassering av maskinen.

Jeg holder fortsatt på Zigbee, så jeg kjøpte en Home Assistant Connect ZBT-1 USB-dongle til maskinen. Den produseres av de som lager Home Assistant, og du kan lese mer om den her. Den lover fremtidig støtte for Thread og Matter, som ser ut til å bli de nye felles standardene for hjemmeautomasjon. Mer om det siden!

Jeg fikk lirket ut noen av konfigurasjonsfilene fra det gamle PI-baserte systemet, men ingen backup. Dermed var det å begynne med blanke ark, noe som ga meg anledning til å sette opp systemene mine på nytt. I skrivende stund (november 2024) har systemet kjørt uten feilslag i to uker, og har bare rebootet når jeg har bedt om det.

Det er en helt ny verden
Fordelene er et mye kjappere og mer responsivt system, som restarter på 15-20 sekunder der PIen brukte minutter. Heng og kræsj er det også slutt på. Så vil mange si at det er overkill å bruke en egen PC til Home Assistant, og at du kan bruke den samme PCen til andre ting. Og det er sikkert riktig. Men da introduserer vi mange feilkilder og mer kompleksitet = lavere driftssikkerhet. Dette skal rusle og gå og bare restarte når jeg ber om det. Og strengt tatt har jeg ikke bruk for noen andre servere i huset. Alt annet jeg holder på med ligger i en eller annen sky, og det er jeg happy med. KISS er et godt prinsipp: Keep It Simple Stupid.

Home Assistant trenger en solid maskin som ikke er en Raspberry Pi

Jeg har kjørt Home Assistant på Raspberry Pi i noen år. Nå har jeg skiftet til en ordentlig maskin, og det bør du også gjøre.

Leketøy eller produksjonsmaskin?
For all del: Raspberry Pi gir deg en billig inngang til hjemmeautomatisering. En startpakke med kabinett og strømforsyning koster deg fra 1700 kroner og oppover. Så trenger du en «dongle» for å snakke med utstyret ditt, det koster 3-500 kroner.

Ingen harddisk
Pi’en har ikke noen harddisk, men bruker et micro SD-kort i stedet. Det gjør den enkel å sette opp, du bruker en SD-kort-leser (som mange har i maskinen), putter mikrokortet inn i en adapter og deretter inn i leseren, og så laster du ned hele filsystemet fra nettet i form av et image og overfører det med f eks Balena Etcher. Se gjerne her for fremgangsmåte.

Du må ha en dings i dingsen
Men. Dersom du vil ha Zigbee-enheter i huset ditt som du kan styre med Home Assistant, må du ha en tilleggsmodul. Du kan enten kjøre en USB-dongle eller en såkalt Zigbee-hat som monteres inne i Pi'en. Jeg valgte det siste, og det medførte litt ekstra bryderi. Selve den fysiske installasjonen er enkel nok, men for å få den til å virke skikkelig, må du slå av wifi og bluetooth på PIen. Det må gjøres når PIen booter, og det betyr at du må redigere en fil som ligger i boot/config.txt på SD-kortet i PIen.

Jeg styrte lenge med dette, men fikk det til. Nerdene kan søke på nettet og finne ut hvordan, men det er noen tips her.

Nå virker zigbee-hat’en, men du må ha kablet nett til Pi’en (siden wifi er koblet ut). Det legger begrensinger på plasseringen, men er selvsagt løsbart.

Mer og mer ustabilt
En større ulempe er at Pi’en over tid ble mer og mer ustabil og oftere og oftere kræsjet uten å restarte. Løsningen var å «svenske» den, altså å trekke ut strømmen. Jeg byttet SD-kort, siden disse blir slitt ved bruk, men det hjalp heller ikke. Til slutt var den så ustabil at jeg bare med nød og neppe fikk tatt backup av de viktigste filene før jeg foretok barmhjertighetsdrap på den. Backup funket heller ikke. Jeg aner ikke hvorfor den ble så dårlig på slutten, det finnes sikkert noe i loggfilene, men det er av akademisk interesse.

Løsningen lå i boden
Poenget er at applikasjonen som skal styre strøm og lys og alarmer og andre virksomhetskritiske funksjoner i heimen må ha en robust plattform. Det er ikke en Pi. Derfor gikk jeg ut i boden og fant Intel NUCen som jeg kjøpte til et annet prosjekt for et par år siden. De første ukene har den kjørt aldeles knirkefritt, og jeg anbefaler alle å bytte til en slik maskin eller noe tilsvarende. Hvordan jeg satt den opp, kan du lese her.