Logga och visualisera din elförbrukning med Grafana och InfluxDB

Jag har alltid varit nyfiken på hur mycket el mitt 'hemkontor' förbrukar under dagen. Nu kan jag mäta det i realtid och visualisera fint med hjälp av en Fibaro Wall Plug, Grafana och InfluxDB.
Publicerad: juli 27, 2017
Senast uppdaterad: oktober 11, 2017
touch_app Styrenhet
Home Assistant All-In-One install
multiline_chart Svårighetsgrad
Inte så farligt
timer Tidsåtgång
30-40 minuter
format_list_bulleted Antal steg
21
trending_up Visningar
3910
chat_bubble_outline Kommentarer
12
star_outline Betyg
0 / 0

Förberedelser och inköp

Steg 1. Vad handlar den här guiden om link

zoom_in

Det här behöver du köpa

favorite_border Om du gillar Snillevilla och vill stötta bloggen och se fler och bättre guides, använd gärna länkarna ovan för att göra köp på m.nu. Då får vi en liten ersättning för varje köp du gör. Det medför ingen extra kostnad för dig. Pengarna går oavkortat till vidareutveckling av Snillevilla. Tack!
done Du behöver inga verktyg eller andra tillbehör för att genomföra denna guide.

Steg 2. Vad är Fibaro Wall Plug link

  • Fibaro Wall Plug som jag kommer använda för att mäta elförbrukningen i den här guiden är ett litet, snyggt eluttag, som du kopplar in i vägguttaget och sedan ansluter dina prylar till.

Steg 3. Anslut Fibaro Wall Plug till Home Assistant link

  • Ta ut Fibaro Wall Plug ur förpackningen och anslut den till ett vägguttag.
  • I Home Assistant webbgränssnittet, välj Z-Wave i menyn till vänster och tryck på knappen ‘Add Node Secure’ i sidan som visas.
  • Tryck på knappen på ovansidan av Fibaro Wall Plug tre gånger snabbt för att ansluta den till ditt Z-Wave nätverk.
  • När Fibaro Wall Plug är ansluten, kommer du se en mängd nya sensorer i Home Assistant webbgränssnittet.
  • Nu kan du koppla in prylen eller prylar du vill mäta förbrukningen på. Var noga att inte överstiga maxbelastningen för uttaget, 2500W.
  • Jag är nyfiken på elförbrukning av mitt ‘hemkontor’ som består av alla prylar som befinner sig på mitt skrivbord.
  • Statistiken över elförbrukningen från din Fibaro Wall Plug kommer visas längst ner på sidan ‘History’ i Home Assistant. Graferna där är dock ganska kaotiska.
  • Det finns ett antal verktyg för att skapa snygga visualiseringar av datan som samlas i Home Assistant. Den här gången ville jag testa verktygen InfluxDB och Grafana som ofta används för just detta ändamål.
  • I den här guiden har jag valt att fokusera på visualisering av statistiken om elförbrukning. Man kan göra många fler intressanta saker med Fibaro Wall Plug. En separat guide om alla dess funktioner ska publiceras i nära framtid.

Installera InfluxDB

Steg 4. Vad är InfluxDB för något link

zoom_in
  • InfluxDB är en databas som kommer samla in all data från din Home Assistant för att göra datan tillgänglig till verktyget Grafana som du kan använda för att skapa visualiseringarna.
  • Eftersom InfluxDB använder minneskortet i din Raspberry Pi ganska flitigt, är det extra viktigt att du har en fungerande säkerhetskopia av din minneskort som du kan byta till ifall det aktiva minneskortet plötsligt slutar fungera. Mer om säkerhetskopieringen kan du läsa i våra guider om hur du skapar säkerhetskopior av hela minneskortet och din Home Assistant installation.

Steg 5. Installera InfluxDB link

  • Logga in på din Raspberry Pi via t.ex. PuTTY. För att kunna installera InfluxDB, behöver du först ange var installationsfilerna ska hämtas ifrån. Skriv följande kommando:
    curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
  • .. och sedan, om du har Raspbian Jessie:
    source /etc/os-release && test $VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
  • eller om du har Raspbian Stretch:
    source /etc/os-release && test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
  • Nu kan du installera InfluxDB med kommandot apt-get. Skriv kommando
    sudo apt-get update && sudo apt-get install influxdb
  • InfluxDB kommer nu installeras. Det tar bara några minuter.
  • Efter att InfluxDB har installerats, starta igång den med kommando
    sudo service influxdb start

Steg 6. Skapa en InfluxDB databas för Home Assistant link

  • Nu behöver du skapa en databas för Home Assistant. Skriv följande kommando för att använda InfluxDB i terminalen:
    influx
  • … och sedan för att skapa databasen:
    CREATE DATABASE home_assistant
  • Såklart ska databasen skyddas med ett användarnamn och lösenord. Skriv kommando:
    CREATE USER "home-assistant" WITH PASSWORD 'password'
  • Ersätt password med ditt eget lösenord, observera att lösenordet måste omslutas av ' tecken och användarnamnet av " tecken, annars funkar kommandot inte som den ska.
  • Skriv sedan kommando
    exit
    för att avsluta användning av InfluxDB i terminalen.

Steg 7. Anslut InfluxDB till Home Assistant link

zoom_in
  • För att Home Assistant ska skicka sin data till Influx DB, behöver du ange detta i Home Assistant konfigurationsfilen. Öppna din Home Assistant konfigurationsfil configuration.yaml i din favorittextredigerare och lägg till följande rader:
    influxdb:
      host: 127.0.0.1
    
  • Starta sedan om Home Assistant.
    Efter omstarten kommer du inte se några förändringar i Home Assistant webbgränssnittet, men den kommer skicka data till den nya databasen.
  • Enligt min erfarenhet så fortsätter Home Assistant använda även sin ‘vanliga’ databas (home-assistant_v2.db) för datalagringen, så om du någon gång avinstallerar InfluxDB, kommer din data inte gå förlorad.

Installera Grafana

Steg 8. Vad är Grafana för något link

zoom_in
  • Grafana är ett verktyg som förvandlar data från en databas som t.ex. databasen du skapade i förra steget till snygga grafer i din webbläsare.
  • Du kan använda Grafana separat i din webbläsare eller inkludera den som ett eget menyval i din Home Assistant webbgränssnitt.

Steg 9. Installera Grafana på din Raspberry Pi link

  • Innan du kan installera Grafana, behöver du installera två andra mindre mjukvaror. Skriv kommando
    sudo apt-get install adduser libfontconfig
  • Ladda ner installationspaketet för Grafana från Github:
    curl -L https://github.com/fg2it/grafana-on-raspberry/releases/download/v4.6.1/grafana_4.6.1_armhf.deb -o /tmp/grafana_4.6.1_armhf.deb
  • … och installera sedan mjukvaran:
    sudo dpkg -i /tmp/grafana_4.6.1_armhf.deb
  • För att Grafana ska startas igång automatiskt efter omstart av Raspberry Pi, skriv följande kommando:
    sudo /bin/systemctl daemon-reload && sudo /bin/systemctl enable grafana-server
  • … och starta sedan Grafana med kommando:
    sudo /bin/systemctl start grafana-server

Steg 10. Öppna Grafana i din webbläsare link

  • Nu kan du komma åt Grafana i din webbläsare på adressen:
    http://192.168.0.17:3000
    Ersätt 192.168.0.17 med IP adress för din Raspberry Pi.
    Använd admin som både användarnamn och lösenord för att logga in.
  • Så här ser Grafana gränssnittet ut när du loggar in för första gången.

Steg 11. Ändra inloggningsuppgifterna för Grafana link

  • Innan du gör något annat, ska du såklart ändra det förvalda lösenordet för Grafana. Tryck på Grafana-logotypen uppe till vänster och välj sedan Admin > Profile i rullgardinsmenyn.
  • En sida för att ändra din profilinformation i Grafana kommer visas. Tryck på knappen ‘Change Password’.
  • Ange först ditt gamla lösenord (admin) och sedan ett nytt lösenord två gånger. Tryck på knappen ‘Change Password’.

Steg 12. Koppla ihop InfluxDB med Grafana link

  • För att Grafana ska kunna hämta datan från InfluxDB, behöver den veta var InfluxDB finns. För att koppla ihop dem, tryck på Grafana logotypen uppe till vänster och välj sedan ‘Data Sources’ i menyn.
  • På sidan som visas, tryck på knappen ‘Add data source’.
  • Du kommer se en sida där du kan ange olika datakällor som Grafana kan använda.
  • För att ansluta till InfluxDB, välj InfluxDB i rullgardinsmenyn vid ‘Type’.
  • Under rubriken ‘Http settings’ ange http://localhost:8086 i fältet ‘Url’ och proxy i fältet ‘Access’.
  • Under rubriken ‘InfluxDB Details’ ange uppgifterna för InfluxDB databasen du skapade förut. Skriv home_assistant i fältet ‘Database’, home-assistant i fältet User och lösenordet du skapade för databasen i fältet ‘Password’.
  • Till sist, ange ett namn för din datakälla (Home Assistant funkar bra) i fältet högst upp på sidan och sen tryck på knappen ‘Add’.
  • Om du har anget all information korrekt, ett bekräftelsemeddelande kommer visas.

Skapa visualiseringar i Grafana

Steg 13. Skapa en ny dashboard i Grafana link

  • Tryck på Grafana-ikonen uppe till vänster och välj ‘Dashboards’ > ‘New’ i menyn för att skapa en ny dashboard.
  • En ny sida med en tom arbetsyta kommer synas. För att nämna din nya dashboard, tryck på kugghjulsikonen i toppmenyn och välj ‘Settings’.
  • Du kommer se en dialogruta där du kan ändra ett antal inställningar för din dashboard.
  • För att ange ett namn till din dashboard, skriv in namnet i fältet ‘Name’ under rubriken ‘Details’.
  • Tryck sedan på spara-ikonen i toppmenyn. Inställningsrutan kommer stängas.

Steg 14. Skapa en graf i Grafana link

  • Nu kan du börja lägga till grafer i din nya dashboard. Hovra med muspekaren över de nästan osynliga tre punkterna i övre hörnet på fyrkanten ‘Empty space’ och du kommer se en meny. Välj ‘Add Panel’.
  • Du kommer se ett urval av element du kan lägga till i din dashboard. Tryck på ‘Graph’.
  • Grafana kommer omedelbart lägga till en graf med exempeldata.

Steg 15. Ange Home Assistant som datakälla för din graf link

  • Exempeldata har vi såklart ingen större nytta av. För att redigera grafen, klicka på grafens rubrik ‘Panel Title’ och sedan på knappen ‘Edit’ i lilla menyn som visas.
  • Nu visas det en panel med olika inställningar för din graf. För att ta bort exempeldatan, tryck på papperskorgsikonen till höger.
  • Nu kan du ange din egen databas där Grafana ska hämta data ifrån. Öppna rullgardinsmenyn bredvid ‘Data source’ och välj Home Assistant.
  • Tryck sedan på knappen ‘Add Query’ bredvid ‘Home Assistant’.
  • Nu kan du skapa en förfrågan till din Home Assistant databas om vilka data ska synas i din graf.

Steg 16. Visa data från Fibaro Wall Plug i grafen link

  • För att skapa en graf över elförbrukning från Fibaro Wall Plug, tryck på rullgardingsmenyn ‘select measurement’ bredvid ‘default’ och välj ‘W’.
  • En graf över din elförbrukning kommer visas.
  • Om du har flera Smart Plugs, kan det vara en bra idé att avgränsa från vilken Smart Plug datan hämtas. För att göra detta, tryck på plus-ikonen bredvid ‘Where’ och välj ‘entity_id’.
  • Tryck på ‘select tag value’ bredvid ‘=’-tecken och välj den Fibaro Wall Plug du vill visa information från. Du kommer se att det finns två val för varje Smart Plug du har, i mitt fall är det ‘elmataren_power’ och ‘elmataren_power_2’. ‘Elmataren_power’ visar elförbrukning i realtid. ‘Elmataren_power_2’ visar genomsnittlig elförbrukning för dagen.
  • Nu kommer du se en graf över din elförbrukning baserad på datan i Home Assistant databasen.
  • För att ändra tidsperioden som syns i grafen, tryck på klocka-ikonen uppe till vänster. Du kan välja en av många förvalda tidsperioder eller ange en egen.

Steg 17. Ändra utseendet och rubrik för din graf link

  • För att ändra rubriken på din graf, klicka på fliken ‘General’ i rutan för grafinställningarna. Nu kan du ange en ny rubrik i fältet ‘Title’.
  • För att ändra grafens utseende, kan du använda inställningarna i flikarna ‘Axis’, ‘Legend’ och ‘Display’. Jag valde att gömma ‘legenden’ dvs förklaringen vad linjen i grafen står för.
  • Jag valde också att ge grafen en lite ‘stiligare’ utseende genom att ändra inställningen ‘Fill’ till ‘8’ och ‘Line width’ till ‘0’ i fliken ‘Display’.
  • När du är nöjd med hur din graf ser ut, tryck på spara-ikonen uppe till vänster för att spara ändringarna i din dashboard och sedan på ‘X’ ikonen bredvid rutan med grafinställningarna för att stänga den.
  • Så ser det ut nu.

Steg 18. Skapa en visare för total elförbrukning i Grafana link

  • Förutom grafen över elförbrukning i realtid kan det också vara intressant att se en tydlig visare över totala elförbrukningen. För att göra detta, skala först om grafen så det finns en tom plats bredvid den.
  • Hovra sedan med muspekaren över tre punkterna i hörnet till vänster och välj ‘Add Panel’ i lilla menyn som visas.
  • Välj sedan paneltypen ‘Singlestat’.
  • Precis som förut, kommer en panel med exempeldata skapas.
  • Tryck på panelens rubrik ‘Panel Title’ och välj sedan ‘Edit’ för att redigera den.
  • Precis som i förra steget, radera exempeldatan och ange Home Assistant som datakälla för panelen. Efter att du trycker på knappen ‘Add query’, i rullgardinsmenyn ‘select measurement’ välj ‘kWh’.
  • Ange även ‘entity_id’ för din Fibaro Wall Plug, i mitt fall är det ‘elmataren_energy’.
  • Precis som förut kan du ändra panelens rubrik i fliken ‘General’, fältet ‘Title’.

Steg 19. Ändra utseendet för visaren över totala elförbrukningen link

  • Nu visas elförbrukningen bara som en enkel siffra i dashboarden. Om du vill ändra utseendet på den, klicka på fliken ‘Options’. Jag kryssade in valet ‘Show’ under rubriken ‘Gauge’ för att förvandla den till en mätare. Där kan du även ange min- och max-värden för mätaren. Jag valde 0 och 10.
  • Under rubriken ‘Coloring’ kan du även ange tröskelvärden för när mätarens segment ska ha olika färger, jag valde ‘6’ och ‘9’.
  • När du är nöjd med hur din mätare ser ut, tryck pä spara-ikonen i övre menyn för att spara ändringarna i din Dashboard och sedan på ‘X’-ikonen för att stänga inställningsrutan för mätaren.
  • Så ser det ut för mig nu. Du kan ändra storlek på panelerna genom att klicka och dra i nedre högerhörn av varje panel.
  • Här har jag beskrivit bara två enkla visualiseringar för elförbrukning. Grafana är ett fantastiskt flexibelt verktyg med många möjligheter att visualisera data från din Home Assistant på ett snyggt och nyttigt sätt. Våga experimentera!

Visa Grafana i din Home Assistant webbgränssnitt

Steg 20. Ändra uteseendet för Grafana gränssnittet link

  • För att Grafana ska bättre passa in i Home Assistant webbgränssnittet, man kan ändra det förvalda mörka temat till ett ljust. För att göra detta, tryck på Grafana logotypen uppe till höger och välj ‘Admin’ > ‘Preferences’ i menyn.
  • På inställningssidan som visas nu, välj ‘Light’ i rullgardinsmenyn bredvid inställningen ‘UI Theme’ och tryck sedan på knappen ‘Update’.
  • Så ser det ut nu.
  • För att gå tillbaka till dashboarden du skapade, välj ‘Dashboards’ > ‘Home’ i huvudmenyn.
  • Här ser du listan över dashboards du har skapat. Tryck på namnet för dashboarden du vill ansluta till Home Assistant för att visa den.
  • För att låsa dashboardens utseende, tryck på kugghjulsikonen och välj ‘Settings’ i menyn.
  • I dialogrutan som visas, avmarkera kryssrutan ‘Editable’ och markera kryssrutan ‘Hide Controls’ under rubriken ‘Toggles’. Stäng sedan dialogrutan genom att trycka på ‘X’-ikonen till höger och spara dashboarden genom att trycka på spara-ikonen.

Steg 21. Visa Grafana i Home Assistant link

  • För att visa Grafana-dashboarden i Home Assistant, kopiera först länken till dashboarden. I mitt fall är länken http://192.168.0.17:3000/dashboard/db/elforbrukning
  • Öppna sedan Home Assistant konfigurationsfilen, ‘configuration.yaml’ i din favorittextredigerare och lägg till följande rader:
    # Grafana in Home Assistant
    panel_iframe:
      grafana:
        title: 'Statistik'
        icon: mdi:elevation-rise
        url: 'http://192.168.0.17:3000/dashboard/db/elforbrukning'
    
    Ersätt länken i parametern ‘url’ med länken till din egen dasboard. Spara och stäng filen och starta om Home Assistant.
  • När du öppnar Home Assistant webbgränssnittet efter omstarten, kommer du se en ny länk, ‘Statistik’ i huvudmenyn. När du klickar på den, kommer du se din Grafana dashboard direkt i Home Assistant.
  • Se där! Den här guiden har visat dig bara några grundläggande saker du kan göra med Grafana. Våga experimentera och hitta egna lösningar! Berätta sedan hur det gick för dig i kommentarerna.
    Lycka till 🙂

Diskussion

  • Spännande – ska testas.
    MEN – jag har ett 8 GB kort och funderar på hur mycket jag kan installera på den?
    I dagsläget har jag 1.8 GB kvar efter Raspian och HA.

    • Efter att jag har installerat Grafana och InfluxDB så har jag 1.7gb kvar på mitt 8gb kort, så än så länge funkar ett 8gb kort jättebra. Är dock osäker hur mycket plats kommer databasen ta, även med mina relativt få sensorer / prylar anslutna. Får observera det under några veckor.

  • Ska det verkligen vara, i configuration-filen:

    influxdb:
    host: 127.0.0.1

    Får i HA felmeddelandet:

    ”Invalid config

    The following components and platforms could not be set up:
    influxdb
    Please check your config

    • Hmm. Det funkar för mig med denna konfiguration. Har du dubbelkollat indenteringen? 🙂

  • Bra guide. Ska tillägga att med den senaste versionen av Raspbian (Stretch) var jag tvungen att ändra kommandot i steg 5 till.

    source /etc/os-release && test $VERSION_ID = ”9” && echo ”deb https://repos.influxdata.com/debian stretch stable” | sudo tee /etc/apt/sources.list.d/influxdb.list

    Hoppas detta sparar någon den tid jag la ner på att få det att fungera. Resten av guiden fungerade utmärkt.

    • Tack! Har inte hunnit gå igenom guiden och uppdatera den för Stretch, så det här hjälpte jättemycket!

  • Har installerat InfluxDB och Grafana på en hass.io Själva installationen är ju väldigt enkel i hass.io med de färdiga add-on paketen men sedan hade det blivit problem utan den utmärkta guiden. Tack!

  • Som jag förstår det så skapas ett konto för att Grafana ska kunna läsa data från InfluxDB. Men HASS verkar kunna skriva till InfluxDB utan credentials. Verkar underligt att det behövs credentials för att läsa men inte skriva?

  • Vad tyckte du om guiden? Funkade allt så som du förväntade dig? Stötte du på några problem? Lämna en kommentar!

    keyboard_arrow_up