Intel Nuc & HASS.IO

Uppdatering: Home Assistant

Här presenterar vi en summering på vad och varför vi använder olika add-on i Home Assistant (HASS.IO / HASS). Vi kommer även förklara varför vi lämnar Rasberry PI 4 och installerar på en Intel-NUC istället. Vet du inte vad Home Assistant är eller funderar på att börja så kan du läsa vår serie om Home Assistant (Hass.io).

Äntligen börjar del 4 närma sig i vår serie om Home Assistant, även om det tagit mycket mer tid än vi önskat! När den publiceras kommer vi gå igenom automationer fullt ut, mycket med hjälp av Node-Red för att återanvända redan skapade Automationer. Men vi kommer även att skapa automationer enbart med Hass.

För att vi ska kunna automatisera så behövs det data och en variation av sensorer! Eftersom vi på Automatiserar.se använder en mängd kontrollers parallellt (hela listan finns här) så vill vi inte riva dessa system när något nytt kommer, utan vi integrerar mot dom istället (när det går). Detta gör att vi kan uppdatera information om dom så fort det händer något intressant. Samtidigt som vi kan se över tid hur pass bra olika system fungerar och skiljer sig mot varandra.

Den första delen för att få en extern SSD
Vi hade lite problem att den interna mSATA disken var för liten och hade dessutom inte rätt adaptrar för att enkelt flasha in HASS.IO till den. Vi fick helt enkelt skapa en egen underdel för att kunna montera en egen 2.5″ SSD på den modellen av Intel nuc vi använder.

För en tid sedan utmanade vi VeraSecure med Homey och kom fram till att Homey var mycket mer lämpad för Automationer, medan VeraSecure var mer lämpad som larm. Vi kommer utmana Homey som automationskontroller med Hass.IO och se hur pass bra det kommer gå.

Redan nu har vi flyttat flertalet Automationer till HASS från andra system. Detta gör att vår Hass.io börjar redan få en mycket kritisk funktion i vårt smarta hem. Vilket gör att vi snabbt vill kunna återställa till en fungerade installation om något går fel eller en uppdatering misslyckas. Samtidigt vill vi kunna addera mer hårdvara om det krävs.

Vi har därför valt att lämna Rasberry pi för vår primära installation av HASS.IO, mycket på grund av att det maximala minnet som tillåts på en Raspberry PI är 4 GB idag. Det kommer inte räcka för vår konfiguration (för de flesta är det troligen mer än nog med minne). Redan efter en vecka och en delmängd av allt vi vill flytta till HASS så har vi förbrukat ~3GB minne på vår Intel-NUC, och vi är ännu inte riktigt klar med alla integrationer och automationer!

Funderar du över innehåller i vår serie om Home Assistant serie så kan du läsa mer om här: https://www.automatiserar.se/hass-nyaguider/

Vi har nu integrerat Verasecure, Homey, Philips hue, Deconz, Z-stick, Trådfri, Node-red, Mosquitto MQTT, TADO, och en mängd data från olika script. Och vi är mycket imponerade över hur genomtänkt HASS är och vilka möjligheter som öppnar sig!

(Vi har lite problem med plugin:et för att zooma i bilderna, zoomar du på sidan så kan du se bilderna bättre)

Vi hoppas med inlägget ge inspiration till bra saker att göra med HASS, kom gärna med förslag på saker du skulle vilja automatisera eller se mer om.

Vad innehåller Automtiserar.se:s Home Assistant installation?

När vi gör den här flytten till Home Assistant (Hass.IO) är det med mål att nyttja den som primär kontroller för Automationer! Om stabiliteten tillåter det även som larm, även om det inte kommer ske direkt. Några av systemen lägger vi till för att förbättra precisionen på Geofence och lättare detektera när telefoner är hemma eller borta (traccar & Unifi controller:n). Detta gör att vi får fler och mer träffsäkra sensorer att automatisera med.

Den nuvarande designen i vårt nätverk tillåter inte direkt åtkomst från internet, utan åtkomsten till HASS från internet hem sker via VPN om vi måste in, detta gjorde att vi behövde trixa lite med DNS för att kunna nyttja publika certifikat från Let´s encrypt. Dvs utan att behöva öppna port 80 eller addera behörigheter till HASS till vår primära DNS registrator, mer om det en bit ner i DuckDNS.

I skrivande stund innehåller vår konfiguration av Hass.IO följande tillägg och add-on:s

  • Hass.IO för Intel-NUC ( https://www.home-assistant.io/hassio/installation/ )
  • Grafana för grafer, trender och visualisering av sensorer ( https://grafana.com/ )
  • InfluxDB för lagring av sensorinformation och loggar ( https://www.influxdata.com/ )
  • DeconZ – För att få in Conbee Zigbee stickan
  • Traccar – För att spåra telefoner och börja testa Geofence mm
  • MotionEye – För att samla in alla webbkameror till ett centralt gränssnitt med motion detect ( verkar vara lite för krävande.. )
  • Node-Red – Blockbaserad programmering ( vi har en nybörjar guide här https://www.automatiserar.se/guide-hemautomation-med-node-red/ )
  • Glances – För att snabbt och enkelt få en överblick på hur vår Intel-Nuc mår.
  • Duck DNS – För att få tillgång till HTTPS certifikat med Lets Encrypt utan att behöva öppna port 80 från internet. ( trixat lite i dns för det så samma namn går att nå både internt / externt ) i framtiden om behovet uppkommer.
  • MariaDB – Databas för ett kommande projekt.
  • Mosquitto Broker – en kö-hanterare (MQTT) för att prenumerera på data från bland annat Homey (Homey sköter all automation än så länge) som inte har en bra integration mot HASS idag.
  • NGINX Home Assistant Proxy
  • SAMBA Share – För att kunna hämta filer direkt från Windows datorer utan att behöva terminalen (även om vi använder båda sätt)
  • Terminal & SSH – För att scripta och göra vissa saker mot HASS.io så använder vi SSH via den.
  • Unifi Controller – Vi har nu flyttat all WIFI från en fristående dator in i HASS.IO för Ubiqutie accesspunter, vilket gör att vi får device tracker och kan se när enheter kopplar upp sig på wifi.
  • Chrony – Vi har haft problem att webbkameror:s tider inte stämmer, med hjälp av den Chrony så hämtar kameror tiden från Hass.io enheten.
  • FTP – Vi har tidigare haft en fristående FTP för att ta emot bilder från webbkameror, den kommer nu att ligga på Hass.io.
  • Z-Wave To MQTT, vi har installerat och ska se om det är en lösning att använda från våra RPI:er senare.
  • Bookstack – Tänker se om det är en vettig lösning för att hantera dokumentation hemma, under utvärdering ännu.
Home Assistants addons
Som du ser är det en hel del add-ons vi installerat för att kunna samla så mycket som möjligt i HASS.

Redan nu har vi en hel del installerat på Hass.io som körs i Docker. Bilden nedan är från add-ON:et “Glances”. Glances ger dig en realtidsbild över din Home Assistant installation och vad som drar resurser. Vi använder den i kombination med Grafana & InfluxDB för att kunna avgöra om något är på väg att gå fel och om någon integration inte fungerar helt önskvärt.

Som du kan se nedan så använder tillägget Motioneye 56% av cpu kraften i vår installation med 1 kamera i Full HD (Nu har vi för visso bara en I3 processor), men det är fortfarande för mycket för att bara analysera en enda kamera, vi har flera till som ska med! Vi kommer därför inte gå vidare med Motioneye add-ON:et utan istället hantera rörelseavkänning från kameror direkt i kameran och sedan aggera utifrån det. Men med hjälp av Glances och grafana kunde vi direkt så att detta var ett olämpligt plugin för vår lösning. Det som är värt att nämna om Glaces är att den kräver höga behörigheter i HASS för att fungera.

Vi kontrollerar prestandan med Glances
Nuvarande konfiguration drar ~3GB ram redan nu, och vi har just börjat komma igång! Det var en av orsakerna till att vi valde att lämna Rasberry PI som den centrala enheten för HASS.IO, vi kommer dock använda den till andra saker (mer om det kommer snart)

Lite anpassning av vår Intel Nuc (modell gammal)

För att kunna nyttja den Intel-Nuc vi har fullt ut, och även snabbt kunna återställa den så behövde vi designa en ny underdel som ger åtkomst till en extra SATA kontakt, den fanns på undersidan på den modell vi har. Bilden nedan är de steg som gjordes allt från att cadda, till att generera koden (G-kod) med Cura och sedan skriva ut med en 3D skrivare (i det här fallet en Creality Ender 3 pro). Vi har skrivit om 3D skrivare och smarta hem på den här länken för de som är intresserade av det.

(En Intel Nuc är en smidig “mini PC” från Intel) mer info om det här: https://www.intel.com/content/www/us/en/products/boards-kits/nuc.html (extern länk)

Egen underdel till Intel Nuc
Vi designade en egen underdel till vår Intel-Nuc för att få åtkomst till Sata kontakten, nyare modeller har ett chassi som tillåter detta. Men den vi har hade tyvärr inte den lyxen.

Vi designade sedan ben och hållare till SSD disken, och passformen var helt ok, tyvärr hade vi inte några korta sata kablar och sata power kablar tillgängliga när vi tog bilderna.

Med den nya Underdelen så kan vi nu ha en 2.5" disk
Passformen blev helt ok, vi kan nu enkelt byta ssd eller koppla lös den för att akut återställa en backup. Vilket är ett krav nu när vi kommer utmana Homey som central kontroller för Automationer.

Zigbee med Deconz

För att få stöd att ta in Zigbee sensorer så har vi en Conbee sticka kopplat till vår Nuc. Det gör att vi nu kan ta in alla typer av Zigbee sensorer direkt i vår HASS.IO installation. Ser vi att detta fungerar tillförlitligt så kommer vi troligen att flytta många av våra Zigbee sensorer från Homey till Hass.IO för att slippa onödiga omvägar till InfluxDB och våra automationer. Vi kommer mest troligt behålla belysningen i Trådfri och Philips Hue eftersom integrationerna mot dessa system fungerar så bra. Den enda orsaken att flytta in belysningen i HASS enligt oss skulle vara för att få ett bättre Zigbee Mesh nätverk.

Bilden nedan är gränssnittet för Deconz (till höger) och till vänster har vi valt att presentera många av de integrationer vi kör direkt i HASS.IO menyn.

Deconz
Just nu har vi bara tagit in en Ikea Trådfri knapp, en Xiaomi Aqara knapp samt en dörrsensor från Xiaomi Aqara.

Om Zigbee är både tillförlitlig så kommer vi flytta alla våra Xiaomi Aqara temperatur och luftfuktighetssensorer (länk till vår djupdykning på aqara sensorn) till deconz från Homey. Xiaomi Aqara temperatursensor är fortfarande vår favoritsensor när det kommer till att mäta temperatur, luftfuktighet och lufttryck! I grafen du ser en bit ner kommer alla Xiaomi Aqara sensorer från Homey via MQTT.

hållare monterad utomhus
Xiaomi aqara hållare monterad utomhus

Integrationer med HASS.IO

Vi har en hel del system som körs idag, därför kommer vi nu att se om det är möjligt att samla alla dessa i HASS.IO och i framtiden till och med kunna ersätta Homey. Vi har därför börjat steg för steg att förflytta information från vår nuvarande installation av Grafana och InfluxDB till vår nuc. Integration för integration flyttar vi med hjälp av nya flöden i Node-Red. Många av dessa hämtar från MQTT köer och sedan sparar informationen i InfluxDB på HASS.IO. Detta gör nu att vi kan få en dashboard där vi samlar ihop all information oavsett system.

Vyn du ser på bilden nedan är den nuvarande dashboard vi skapat både för att se hur vår HASS installation mår över tid, vi har även all sensorinformation från Homey. Nu håller vi på att uppdatera och flytta script till Node-RED som hämtar sensorinformation från bland annat vindkraftverk genom att analysera innehåll på hemsidor. Detta gör nu att data från vindmätaren vi samlar in från VeraSecure via en RFXtrx går att gruppera med vindstyrkan från vindkraftverk runt om där vi bor. Detta gör att vi nu kan få en bra indikation på vindstyrkan ute (vilket gör att vi kan ha en sensor för att säga om det är ok att flyga drönare i HASS där vi bor.

HASS.IO dashboard med Grafana grafer
Som ni ser så är vår installation inte mer än någon vecka gammal, men redan nu så har vi börjat närma oss en miljon influxdb rader och 50% av minnet i Intel NUC:en

Mindre integrationer i HASS.IO

  • Google Cast – Styra chrome cast på alla enheter, används bland annat för Google home mini och Google Nest Hub. Vi kommer nu se vad som behövs för att kunna göra en Cast av hela HASS.IO gränssnittet till vår Google nest Hub.
  • Certificate Expiry – För att säkerställa att certifikatet på www.automatiserar.se uppdaterar sig automatiskt med Lets Encrypt så övervakar vi den nu i HASS.IO med.
  • Coronavirus: Sweden – En integration för att se nuvarande statistik på antalet Corona fall i Sverige, vi använder den för att få en uppdatering om nuläget varje dag. Vi har här börjat skriva ut hållare till skydds-Vesir för att göra det vi kan från Automatiserar.se med.
Skriva ut hållare till Skydds-Versir
Vi försöker hjälpa till i Corona tiderna genom att skriva ut hållare till Skydds-vesiren som det råder brist på inom sjukvården.
Ett mycket bra initiativ från 3DVerkstan – https://3dverkstan.se/protective-visor/ (extern länk))
  • Philips Hue – Vi har via den integrationen direkt tillgång att både hämta och styra alla Philips Hue enheter (här kan du läsa mer om vår Philips Hue).
  • Trådfri – För att kunna nyttja olika system för att styra belysning så använder vi trådfri gateway (även om jag har conbee stickan). Vi har lagt en del jobb på att få Trådfri riktigt stabil, här kan du läsa våra tips. Nu styrs Trådfri belysningen via integrationer från de flesta av alla kontrollers vi skrivit om på bloggen.
  • TADO – För att Automatisera uppvärmningen så håller vi för fullt på att testa termostaterna från TADO, Vi har skrivit om den här. Nyligen fick vi även möjlighet att köra deras automatiska styrning som inte kräver någon kontroller alls. För att se hur den beter sig så har vi ändå valt att integrera den både i Homey och i Home Assistant.

När vi började skriva på det här inlägget så släpptes versionen: Home Assistant Core 0.107.7.

DuckDNS & Dnsmaskq

Vi har valt att nu skydda så mycket som möjligt med riktiga HTTPS certifikat från Let´s encrypt, (extern länk). Detta gör att vi i framtiden om vi vill kan öppna för access från internet och veta att vi har ett korrekt SSL certifikat. Nu går detta att lösa utan att använda DuckDNS och istället använda Let´s encrypt tillägget, men default kräver detta att port 80 från internet kan nå din HASS.IO maskin, vilket vi helt vill undvika. Vi har en installation som endast går att nå internt på vårt nätverk, för att komma åt den när vi inte är hemma så kommer vi använda en VPN anslutning från telefonen, vilket gör att vi helt slipper fundera på att en bugg eller felkonfigurering exponerar hela vårt HASS.IO installation.

När vi valt detta tillvägagångssätt med ett publikt namn “exempel.duckdns.org:8123” (påhittat namn). Så kommer utrustning internt på vårt nätverk försöka nå den publika / externa adressen för vår anslutning. Detta löste vi med en “DNS Resolver” i PFsense (extern länk) som är den brandvägg vi använder i vårt smarta hem just nu.

PFSENSE
Med DNS Resolver i PfSense så har vi sagt att subdomännamnet under “Host” för domännamnet “duckdns.org” ska peka på den interna ip adressen för HASS.IO.

Genom att “lura” alla enheter internt som frågar efter “exempel.duckdns.org” (påhittat namn) att inte gå till vårt publika ip adress utan istället gå direkt till vår interna adress till Hass.IO så behöver vi inte fundera om vi sitter internt / externt. Skulle vi öppna för port 443 eller 8123 från internet och köra en port forward mot 172.X.X.X:8123 så skulle telefoner och annat inte behöva ta hänsyn till när vi kör internt eller externt.

Vi har sett att det även finns en “Dnsmask” i Hass.IO, men vi har så mycket saker som skulle sluta fungera om HASS.IO skulle sluta svara på DNS förfrågningar. Men för den som ej kör PfSense eller inte har möjlighet att göra en “Host Override” på DNS namnet så skulle detta kunna vara ett alternativ.

dnsmasq för att ändra dns namn
Med Dnsmasq kan du ändra så att din Hass.IO och ip adress översätts korrekt både internt och externt.

Tado och Hass.io

Vi började för några veckor sedan styra temperaturen i ett rum i källaren med en termostat från TADO (läs vårt test). Vi har nyligen även fått möjlighet att utvärdera ett abonnemang som automatiskt utifrån väder och vind styr hur mycket värme som behövs från elementet. Tyvärr har vi bara möjlighet att styra ett rum vilket gör att en öppen dörr till rummet verkligen förstör graferna och gör att vi inte riktigt kan säga om det fungerar eller inte med den automatiska styrningen.

Tado termostaten är nu monterad
Värmen styrs nu från HASS i källaren. Vi har en Aqara sensor för att verifiera att den håller temperaturerna.

Integrationen från HASS med TADO måste vi verkligen säga är smidig! både med Google assistant och nu med Home Assistant, vi har med tre rader konfiguration i Configuration.yaml fått all information från TADO:s portallösning. Med hjälp av den kan vi nu från HASS styra elementet både med & utan ett abonnemang. Vi kan även fånga upp när den minsta grabben leker med termostaten och sätta rätt temperatur.

TADO med Home Assisstant
HASS.IO integrerar riktigt snyggt med TADO.

Temperaturen ovan i grafen är helt påverkat från ett annat rum, det är sällan som det elementet startar eftersom värmen går mellan olika rum.

HASS.IO och Automationer

Vi har länge tyckt att Node-Red är en smidig och bra lösning för att automatisera hemma. Vi har därför funderingar på att lägga mycket av de tips i kommande guide både som rena HASS automationer, men även skapa en del i Node-Red. Vi använder den speciellt ofta i kombination med MQTT.

Traccar utan öppen port
Vi nämnde att vi idag inte har någon port öppen in mot vår HASS installation, eller någon del i HASS heller. Men vi använder en mängd system som idag tar in information från Internet. När vi gör detta så använder vi en HTTPS lyssnare som skickar till en MQTT kö ute på internet. Den hämtar vi sedan data från och lägger in i HASS.

Snart bör nästa del vara på väg. Fram tills dess kan du spana in dom nuvarande guiderna. Vi tar gärna emot hjälp och tips på vad mer vi borde göra i den guiden.

Hjälpa Automatiserar.se

Är du intresserad av att se vad som händer mellan våra inlägg så kan du följa oss på vårt Instagram (länk till vårt Instagram konto), där försöker vi dela vad som händer och är på gång. Är du intresserad av att diskutera eller få tips från andra så kan du gå med i vår Facebook grupp (länk till Facebook gruppen) som riktar sig till alla som tycker det är roligt med smarta hem och automation. Följ och gilla gärna vår sida på facebook med (länk till automatiserar på facebook). Vi har även en Patreon sida (extern länk) för dom som vill supporta oss löpande, eller swisha en slant till en kaffe på 0705470065 medan vi skriver på nästa inlägg om du uppskattade den här guiden.

Vi försöker tipsa hur du själv kommer igång och automatiserar. Vi kör sidan helt på fritiden och är helt oberoende och gör detta för att det är roligt, vill du hjälpa Automatisear.se, dela, gilla och följer sidan så får vi motivation att göra ännu mer 🙂

// Markus

Lämna en kommentar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *