Fleksibelt – og nemmere – dashboard med Home Assistant

I jagten på et bedre dashboard til Homey end Homeydash, hvor man har mere kontrol over hvordan det skal se ud, har jeg tidligere skrevet en artikel om Fleksibel dashboard med Node-red og MQTT løsningen.
Jeg er nu blevet opmærksom på, at der er en anden løsning på udfordringen, nemlig at benytte Home Assistant’s dashboard, som supplement til Homey.

Jeg har erfaret, at flere er gået i stå med et Node-red dashboard, samme sted som min guide stoppede. De har haft svært ved at finde information andre steder, om hvordan man bygger andre ønsket elementer til dashboardet.
Det er endnu en fordel med Home Assistant dashboardet – der er rigtigt mange som bruger det, så der er meget information og guider at finde omkring det på internettet.

Jeg vil i denne guide vise, hvordan du sætter det hele op og får kommunikation imellem Homey og Home Assistant via MQTT protokollen. Jeg vil ikke gå ret meget i dybden, med hvordan man laver enkelte elementer i dashboardet, da det ikke er lige så svært som i Node-red.
Betragt denne guide som en hjælp til at komme så langt, at alt det tekniske er på plads, og det kun er de designmæssige ting du skal “lege med” selv. Du vil blive klædt nok på, til at du på kort tid kan lavet dit eget dashboard.

Home Assistant – nemmere end Node-red

Vi er nok mange, som tidligere har forsøgt os med Home Assistant og hurtigt har opgivet systemet igen. Det er et kraftfuldt system, og det er efterhånden også rimeligt nemt at komme i gang med det. Men så snart man har en enhed, som ikke er understøttet af standard installationen – eller et eller andet bare går galt – så er det virkeligt besværligt at arbejde med. Man ender med at bruge rigtigt langt tid på selv små fremskridt.
Det er grunden til at jeg, og mange andre, valgte at gå Athom Homey vejen i stedet, med dens overskuelig brugerflade og flows som er nemme at lave, og som samtidig er rimeligt kraftfulde.

Men hvorfor foreslår jeg så nu, at Home Assistant skal flytte ind alligevel? Har vi overskud til sådan en ballademager, hvis vi også gerne vil se noget til familien engang imellem?

Svaret til ovenstående spørgsmål bliver ja! Vi nøjes nemlig med at gøre brug af en enkelt del af Home Assistant, som ikke skaber nogle problemer, nemlig Lovelace, som er Home Assistant’s svar på et dashboard.

Det bliver samme tekniske løsning som med Node-red dashboardet: Homey og Home Assistant kommer til at bruge MQTT til at kommunikere med hinanden. Men modsat Node-red, så kan Home Assistant selv opdage samtlige enheder, som du har i Homey, og sørger selv for at lave action MQTT kommandoer!
Du skal faktisk kun tage stilling til, hvordan layoutet af dit Dashboard skal være, og klikke dig frem til det elementerne med musen. Resten tager Home Assistant sig automatisk af.

Det er kun afvikling af dashboardet og kommunikationen til Homey, om hvilke ændringer vi ønsker aktiveret via dashboardet, som vi overlader til Home Assistant. Alt flow og automatik lader vi stadigvæk Homey om at udføre som hidtil.
Der kommer ikke til at ske nogle ændringer i dit nuværende setup. Derfor er det nemt at afprøve og senere fortryde og fjerne Home Assistant igen, hvis det ikke fungerer efter hensigten.

Installation af Home Assistant

Home Assistant kan ikke afvikles direkte på Homey. Det kræver at du har en anden platform til rådighed, f.eks. Raspberry pi eller en NAS. Jeg har installeret Home Assistant på min QNAP NAS i en ContainerStation – det som kendes som Docker på andre NAS’er.

https://www.home-assistant.io/installation/ er der guider til, hvordan du installerer Home Assistant på din valgte platform.

Der er forskellige versioner af Home Assistant. Skulle vi bruge andet end Lovelace (dashboardet i Home Assistant), så ville jeg anbefale at installere den version, som kaldes HASSIO, eller Home Assistant Operating System, som inkluderer både Home Assistant systemet og muligheden for at installere add-ons via “Supervisior” delen. Hvorfor de 2 ting er delt op forstår jeg ikke.
Men vi skal ikke bruge andet end Lovelace, så Home Assistant Container udgaven er rigeligt. Det gør også, at vi kan installere den i en Docker, hvilket ikke er muligt med HASSIO.

Bemærk: Der er ingen backup funktion indbygget i Container udgaven!
Ønsker du at kunne tage backups, så skal du vælge en version (f.eks. HASSIO), som giver adgang til snapshots. Det kan ikke fungere i en docker, men kræver en Raspberry Pi eller en dedikeret/virtual PC.

For denne guides skyld, har du dog helt frit valg, hvilken version du installerer.

Efter installationen er Home Assistant tilgængelig på http://[VALGTEIP]:8123 f.eks. http://192.168.1.22:8123

Du bliver bedt om at oprette et brugernavn og kode, samt at angive hvor du fysisk befinder dig. Bagefter har Home Assistant måske opdaget en del af dine smart-enheder af sig selv. Den del kan du ignorere, det skaber mere forvirring end gavn at have enhederne forbundet direkte til Home Assistant også.

Installation af MQTT

Hvis du allerede har installeret MQTT broker, hub og client i Homey i forbindelse med et Node-red dashboard, så kan du springe de næste 3 punkter over.
Det eneste du skal gøre er at aktivere “Home Assistant Discovery” ændre “status topic” til “homeassistant/topic” i MQTT-hub’en.

MQTT-Broker

Start med at installere MQTT-Broker app’en direkte på Homey.
Denne app laver en MQTT server på Homey. Det er den server tager imod alle MQTT-beskeder og derved kan afspejle status på alle dine enheder i Homey og tage imod ønskede ændringer.

MQTT-klienter kan så kommunikere med MQTT-brokeren og dels modtage nuværende status og status-ændringer og dels sende kommandoer om ønsket ændringer (f.eks. tænd en pære).
MQTT-klienterne er i vores tilfælde Home Assistant og Homey selv.

MQTT-brokeren skal ikke nødvendigvis installeres på Homey, men kan f.eks. installeres på en NAS for at spare på Homey’s ressourcer.
Vi installerer den på Homey i denne guide.

Efter installationen af MQTT-broker, skal du gå til indstillingerne for APP’en og oprette et brugernavn samt et password. Disse informationer skal vi bruge i MQTT-client’en i næste punkt og senere i Home Assistant.

MQTT-Hub

Vi fortsætter med at installere MQTT-hub app’en på Homey. Det er den der sørger for at sende informationer om alle dine Homey enheder til MQTT-brokeren – og derfra får Home Assistant senere besked.
MQTT-hub’en tager også imod kommandoer, hvis den enkelte enhed understøtter det.

I MQTT-hub’en skal du aktivere “Home Assistant Discovery”.
Det er også vigtigt at få ændret “STATUS TOPIC”. Det står som standard til “hass/status”, og det skal ændres til “homeassistant/status”.
Hvis dette ikke ændres, så opstår der problemer med, at dashboardet ikke opdateres med enhedernes status, og derfor ikke fungerer, efter en genstart af Home Assistant.

Der skal ikke ændres på andre indstillinger i MQTT hub’en.

Bemærk: Det er nødvendigt at genstarte MQTT-hub hvis du senere tilføjer nye enheder til Homey, som skal bruges i dit Home Assistant dashboard – ellers bliver de ikke sendt med i MQTT.

MQTT-Client

Til slut skal vi have installeret MQTT-Client app’en i Homey. Den bruges til at modtage og udføre MQTT-beskeder/kommandoer fra Home Assistant – via MQTT-brokeren. Den skal vi bruge til at aktivere flows i Homey.

I indstillingerne for app’en kan du skrive 127.0.0.1 som IP-adresse, hvis du har valgt at installere MQTT-brokeren direkte på Homey.
Porten skal være 1883, med mindre du har ændret den til noget andet i MQTT-brokeren, og brugernavn og password er de informationer, som du oprettede i det forrige punkt i denne guide.

Forbind Home Assistant til Homey

Nu mangler vi at få forbindelse mellem Home Assistant og Homey. Til det formål skal vi bruge disse informationer:

  • IP-adressen på Homey (det er IKKE 127.0.0.1 denne gang!)
  • Brugernavn & password som vi oprettede i MQTT-brokeren

Start med at installere MQTT-integration i Home Assistant. Det gør du på følgende måde:

  1. Klik på “Indstillinger”
  2. Klik på “Integrationer”
    Du kan nu se de enheder som Home Assistant automatisk har fundet. Det skal vi ikke bruge på nuværende tidspunkt, da vi i stedet får forbindelse til enhederne via Homey. Vi kommer tilbage til disse enheder senere.
  3. Klik på den blå + Tilføj integration knap
  4. Søg efter “mqtt” og klik på det fundne resultat

Udfyld nu formularen med IP-adressen til Homey samt brugernavnet og koden, som du oprettede i MQTT-brokeren. Sørg for at “Aktiver automatisk fund” er hakket af!

Home Assistant vil nu automatisk tilføje alle de enheder som, som Homey’s MQTT broker rapporterer opdateret status om. Det sker kun ved ændringer, f.eks. hvis en lyskilde skifter fra tændt til slukket.
Gå derfor til MQTT Hub’en i Homey og klik på “Broadcast” knappen, så bliver alle enheder opdateret i løbet af et par minutter.

Klik på “Indstillinger” i Home Assistant og herefter “Enheder”, så kan du følge med i alle de enheder, som er blevet rapporteret af Homey og automatisk er blevet tilføjet.
Klik på “Oversigt” så kan du se et Dashboard med alle de fundne enheder automatisk tilføjet. Det ser rodet ud – men det fikser vi i næste afsnit!

Nulstil dashboard og start forfra

Nu er det tid til at komme af med alt rodet – og det gøres ved at slette det hele, så du får et blankt lærred at arbejde på.

  1. Klik på “Oversigt”
  2. Klik på de 3 menu prikker i højre hjørne
  3. Klik på “Rediger betjeningspanel”
  4. Sørg for at “Start med et tomt betjeningspanel” er hakket af og tryk på “Tag kontrol”

Udfyld nu navnet på huset (det bliver ikke vist nogle steder, så det er ikke så vigtigt) og lav nogle inddelinger. Jeg foreslår en samlet oversigt over de mest brugte enheder, og ellers et rum pr. tab.

Og nu kommer det sjove, som vi har ventet på… Klik på den blå “+ Tilføj kort” knap og begynd at lægge dine enheder ind.

Inspiration

Her er et inspirationsbillede af et dashboard, som jeg har lavet på kort tid. Det er kun lavet med enheder fra Homey, som beskrevet i denne guide – og ved at klikke elementerne frem med musen. Intet snyd.

Ikoner 💒🛁
Flere steder vil du se, at du kan skrive en kode for at få andre ikoner. Listen med koder finder du her: https://pictogrammers.github.io/@mdi/font/5.5.55/

Du skal udskifte mdi- med mdi: – så hvis koden er mdi-door så skal den indtastes som mdi:door

Flere funktioner med flere integrationer

Tidligere i denne guide, da vi installerede MQTT integrationen, der nævnte jeg, at Home Assistant måske havde fundet nogle af dine enheder af en anden vej. Her viser jeg hvad vi kan bruge det til.

Det er ikke alle enheders funktioner, som bliver overført fra Homey, via MQTT og til Home Assistant. F.eks. kan rullegardiner kun åbne og lukke. Man kan ikke stoppe rullegardinet på en bestemt position eller aflæse hvilken position det er stoppet i.

Hvis Home Assistant kan få adgang til enheden uden om Homey, så kan der være flere funktioner at hente. Mine rullegardiner er tilknytte Ikea’s zigbee gateway, som Homey kommunikerer med. Men Home Assistant kan også samtidig kommunikere direkte med Ikea gateway’en, uden om Homey, uden at der sker nogen skade på Homey.

På ovenstående billede viser jeg et udsnit af et dashboard, som har de samme 3 stk. rullegardiner, men via 2 forskellige integrationer. Integrationer svarer til apps i Homey.

Integrationerne finder du, som tidligere nævnt, under “Indstillinger” og “integrationer”. Her kan du konfigurere de enheder som Home Assistant selv har fundet, men du kan også installere andre integrationer, ligesom vi gjorde med mqtt integrationen. Det kunne f.eks. også være en integration til Spotify.

Mere information om Lovelace dashboardet

https://www.home-assistant.io/lovelace/ er der links til mere information om dashboardet.

Videoguide

Sepp fra GeetNetworkDK har lavet en video om dette emne. Han dækker næsten de samme enmer, som denne guide. Så det kan være værd at se den, hvis der er noget du er blevet i tvivl om undervejs.