Solceller – del 4 – Utökad mätning med Fronius Smart Meter

Jag nämnde innan att en sak som jag missade när jag installerade solcellsanläggningen var att installera en Fronius Smart Meter. Den är relativt dyr men i det stora sammanhanget kanske det kan vara värt det. Efter du installerat din vanliga växelriktare kommer du kunna se hur mycket dina solceller producerar. Du kan även logga in på din elleverantör och se hur mycket du köpt och sålt för men inte riktigt på samma smarta sätt.

Det finns tre versioner av den. Har du trefas är det troligtvis den i mitten du skall ha. Den sista är för riktigt stora anläggningar.

Fronius Smart Meter 63A-1
Fronius Smart Meter 63A-3
Fronius Smart Meter 50 kA – 3

Fronius Smart Meter 63A-3

Jag köpte min Smart Meter i efterhand direkt från Tyskland. Den är väldigt dyr i Sverige. Den kostade ca 2000:- Du kommer behöva anlita en elektriker för att koppla in den. Det är inte helt självklart att elektrikern har så bra koll på växelriktare så  var beredd på att du kanske får tala om lite hur det skall sättas upp.

Enklast är att använda en CAT kabel. Smart Metern använder modbus så man behöver inte alla kablar i CAT kabeln. Det kan vara ganska lurigt att se vad sladdarna skall sitta. Mät först ut en kabel och låt 10 cm vara kvar av orange, orange/vit och grön. Kolla innan så du vet vad sladdarna skall sitta. Börja tex på Smartmetern och dra sen sladden till växelriktaren. Hos mig blev det ganska trångt så jag bröt strömmen för att slippa bli elektrifierad. Glöm inte 120 ohms motståndet som sitter tejpat på metern. Sätt detta direkt i metern mellan A och B. Någon kommer säkert påpeka att det skall vara skärmad kabel då det är utomhus. Det är korrekt men jag hoppade detta då jag har garaget på andra sidan skåpet.

 

Det finns en del dokumentation om hur man installerar men den jag kikat mest på är denna.

Nästa steg är att gå till ip adressen för din växelriktare. Logga in som vanligt men gå till settings, service och skapa ett lösen för servicekontot. Du måste använda detta kontot. Klicka sen på meter och logga in med nya kontot. Detta står väldigt bra beskrivet i manualen ovan.

Lägg nu till din Smart Meter. Den skall stå som ok om du kopplat allt rätt. Glöm inte att ange om den skall vara i feed-in-path eller consumption path. Troligtvis har du feed-in path och att den är kopplad efter din växelriktare. Jag satte denna fel först vilket resulterar i väldigt konstiga fel. Kikar du tex på Solar webb så kommer flödena se konstiga ut där.

 

Solarwebb

Kikar du på Solarwebb och under components så skall din smartmeter dykt upp där, På startsidan skall du även nu kunna se betydligt mer information. Kika på videon nedan.

Du kommer även få bättre grafer som du kan se i bilderna här. I första bilden ser man exakt då jag kopplade in smartmetern. Det är det gråa och detta var allt jag såg innan. Efter inkopplingen ser man även detaljerat vad som konsumeras, exporteras och används. Notera att detta kräver premium vilket för närvarande är gratis i Sverige.

 

Känner du att du är nöjd med detta och tycker graferna i Solarwebb är allt du behöver så skulle man kunna säga att detta är klart nu. Du har nu kopplat in smartmetern och den rapporterar precis så som den skall. Vill du ta detta till en nivå till så läs vidare.

API

Du kommer nu även kunna få ett utökat API. Fronius har bra dokumentation om detta och jag har kikat på API V1. Kika på 3.1.1. Testa att mata in dessa olika nedan:

http://192.168.0.3/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System (Information om din Smart Meter)

http://192.168.0.3/solar_api/v1/GetActiveDeviceInfo.cgi?DeviceClass=System (Listar dina system)

http://192.168.0.3/solar_api/v1/GetPowerFlowRealtimeData.fcgi (Denna visar detaljerad info om din energi användning och det är kanske denna du vill använda).

Fronius har olika versioner av sitt API. Det finns en changelog du kan kika på för att se vad som ändrats. Det kan alltså vara smart att göra en firmwareuppgradering både på smartmetern, växelriktaren och dataloggern. Det kan vara så att du inte ser allt i API:et annars då din version är för gammal.

Det kan se ut så här då man kikar på GetPowerFlowRealtimeData:

{
   "Body" : {
      "Data" : {
         "Inverters" : {
            "1" : {
               "DT" : 115,
               "E_Day" : 13138,
               "E_Total" : 1876342.125,
               "E_Year" : 1876342,
               "P" : 3416
            }
         },
         "Site" : {
            "E_Day" : 13138,
            "E_Total" : 1876342.125,
            "E_Year" : 1876342,
            "Meter_Location" : "grid",
            "Mode" : "meter",
            "P_Akku" : null,
            "P_Grid" : -2684.1399999999999,
            "P_Load" : -731.86000000000013,
            "P_PV" : 3416,
            "rel_Autonomy" : 100,
            "rel_SelfConsumption" : 21.424473067915695
         },
         "Version" : "12"
      }
   },
   "Head" : {
      "RequestArguments" : {},
      "Status" : {
         "Code" : 0,
         "Reason" : "",
         "UserMessage" : ""
      },
      "Timestamp" : "2019-04-29T11:50:23+02:00"
   }
}

Vi kikar vidare på den sista dvs GetPowerFlowRealtimeData. Av de saker du ser här kanske dessa är av mest intresse:

P_Grid;
Hur mycket du matar in/ut på elnätet. Värdet kan alltså vara både negativt eller positivt ( + from grid, – to grid )

P_Load;
Din förbrukning. Positivt då du köper och negativt då du säljer. ( + generator , – consumer )

number P_PV;
Vad solcellerna genererar just nu i kW. Du har kanske redan detta värdet från din inverter. ( + production)

number rel_SelfConsumption;
Vad är detta? Relativ självkonsumtion i %. Desto lägre desto bättre. Men helt ärligt så fattar jag inte riktigt vad denna visar. (current relative self consumption in %)

number rel_Autonomy;
Relativ autonomi i %. 100 % autonomi betyder att solpanelerna levererar mer än vad som behövs för den lokala konsumtionen. Vet inte exakt vad man har för nytta av denna. (current relative autonomy in %)

number E_Day;
Solcellsproduktion på en dag (Energy [Wh] this day)

number E_Year;
Solcellsproduktion på ett år (Energy [Wh] this year)

number E_Total;
Solcellsproduktion totalt (Energy [Wh] ever since)

De tre sista parametrarna har du kanske redan och är samma värden du får från din växelriktare utan en smartmeter.

Home Assistant

Vi kommer nu lägga in lite sensorer i Home Assistant. Dessa kan vi sen ha för att visualisera i Grafana. Eller för att räkna ut mer avancerade saker. Det finns en officiell komponent på gång som ligger på vänt för att godkännas. Jag kommer återkomma till denna sen men just nu är den inte klar. Den kommer förhoppningsvis göra detta lite lättare.

Aktuell elförbrukning

Detta visar din aktuella elförbrukning just nu. Som du ser ovan kan värdet vara både negativt och positivt vilket kan vara ett problem. Jag har nedan satt det så att det alltid är positivt. Det är alltså negativt då du köper el medans det är positivt om du säljer. Även om detta är bara din konsumption. Värdet är exakt samma hela tiden. Lämpligt kan vara att göra två sensorer dvs en exakt likadan som denna som visar rätt från api:et. Du kan behöva denna sen. Testa att aktivera detta och starta igång ugnen, bastun eller vad det nu kan vara. Du bör se att den ökar. Notera att det är en rad utkommenterad som är negativ.

- platform: rest
  resource: http://192.168.0.3/solar_api/v1/GetPowerFlowRealtimeData.fcgi
  method: GET
  name: "Current Consumed Positive"
  value_template: "{{ (value_json.Body.Data.Site.P_Load /100 | float * -1| float / 10|float )|round(2) }}"
  #value_template: "{{ (value_json.Body.Data.Site.P_Load /100 | float / 10|float )|round(2) }}"
  unit_of_measurement: 'kWh'
  force_update: true

Matning till elnätet

Detta är vad du köper eller säljer just nu. Är värdet negativt positivt köper du el och är det negativt säljer du så mycket el. Du kommer få en sensor som visar i kW vad det är just nu. Vi kan sen använda detta i Grafana på olika sätt.

- platform: rest
  resource: http://192.168.0.3/solar_api/v1/GetPowerFlowRealtimeData.fcgi
  method: GET
  name: "Current from or into grid"
  value_template: "{{ (value_json.Body.Data.Site.P_Grid /100 | float / 10|float )|round(2) }}"
  unit_of_measurement: 'kW'
  force_update: true

Import eller export

Denna visar true eller false beroende på om det är minus eller plus. Ganska meningslöst men du kan ju sätta ett annat värde sen i Grafana. Kanske olika färger.

# MATNING TILL GRID BARA PLUS
- platform: rest
  resource: http://192.168.0.3/solar_api/v1/GetPowerFlowRealtimeData.fcgi
  method: GET
  name: "Current from grid"
  value_template: "{{ not is_state('value_json.Body.Data.Site.P_Grid', '>0') |round(2) }}"
  force_update: true  

Självförsörjande

Jag tog med denna med även om jag inte exakt förstår vad det är.

# SJÄLVFÖRSÖRJANDE
- platform: rest
  resource: http://192.168.0.3/solar_api/v1/GetPowerFlowRealtimeData.fcgi
  method: GET
  name: "Current relative self consumption"
  value_template: "{{ (value_json.Body.Data.Site.rel_SelfConsumption)|round(2) }}"
  unit_of_measurement: "%"
  force_update: true

 

Nu börjar det bli lite krångligt. Du ser alltså med dessa två översta exemperna ovan vad du konsumerar just nu och vad du köper/säljer just nu. Vi behöver ha in detta under tid dvs kWh. Ett problem är att du har samma fält/sträng för grid.

Utility Meter

Det finns en komponent som heter utility meter i Home Assistant. Denna kanske kan vara användbar om du vill mäta energi. Den plussar i hop hela tiden på dag/timme, år eller vad du vill och nolställer sig vid en viss tid. Dock måste du har din orginalsensor som kWh annars kommer den räkna fel. Jag har valt att inte använda denna.

Integration

Det finns även en som heter integration och nu börjar det bli lite mer komplext. Den använder något som heter Riemann summa  Standard är Trapezoidal metoden. Kort sagt så konventerar den Watt till kWh. Jag har valt att skapa två. En för en dag och en för en timme. Rent krasst skulle du kunna fixa detta i Grafana sen med. Men vill du ha detta i HA med så kanske dessa komponenter är rätt väg.

- platform: integration
  source: sensor.current_consumed_positive
  name: energy_used_today
  unit_time: d
  round: 2
  
- platform: integration
  source: sensor.current_consumed_positive
  name: energy_used_hour
  unit_time: h
  round: 2

Template sensor

I Home Assistant kan man använda template sensors. De kan anpassas på massor av olika sätt. Det är över min kompetens att dyka in på djupet här. Jag har skapat tre stycken och alla finns i sensors.yaml filen.  Den översta är ett försök att räkna ut när anläggningen är betald. Denna kommer jag göra mer exakt senare. Se den som ett test.

Den andra visar nyttjandegraden på mina solceller. Dvs min anläggning är på 15.3pKw

Den tredje är den viktigaste. Den tar och räknar ut totala energin idag minus använd energi idag.

      time_until_payed:
        value_template: '{{ ((states.sensor.total_energy_since_installed.state | float * 0.9 - 180000)) | round(0) }}'
        friendly_name: 'Kvar till avbetalt'
        unit_of_measurement: 'kr' 
        
      solar_utilization:
        value_template: '{{ ((states.sensor.current_power.state | float * 100 / 15.3)) | round(1) }}'
        friendly_name: 'Solceller nyttjande '
        unit_of_measurement: '%' 
        
      today_energy_exported_to_grid:
        value_template: '{{states("sensor.total_energy_today") | float - states("sensor.energy_used_today") | round(2)| float }}'
        friendly_name: 'Today energy exported to grid'
        unit_of_measurement: 'kWh'

Scrape

Som en liten bonus tar jag med spotpriset här med. Det är ganska simpelt. Den använder scrape då alla andra komponenter slutat fungera efter 0.91

- platform: scrape
  resource: https://elen.nu/timpriser-pa-el-for-elomrade-se3-stockholm/
  name: Electricity spotprice
  select: ".elspot-area-price"
  value_template: '{{ value.split(" ")[0] }}'
  unit_of_measurement: "kr/kWh"

Det blev lite rörigt men förhoppningsvis har du fått in en hel del sensorer nu i HA. Kanske för få men nu kan du bara duplicera de du vill ha fler av. För mig så ser jag detta nu. Det är lite rörigt men jag kommer städa upp detta senare.

Alexa skill

Det finns en Alexa skill till Fronius eller Solar.webb med. Jag har dock inte fått igång den. Den säger att jag skall ha ett premium account vilket jag har. Har bett Fronius att kika på detta. Har du det kan du tex fråga:

Alexa, ask Solar.web, how my day was
Alexa, ask Solar.web, how much energy my system produced this month
Alexa, ask Solar.web, how big my surplus yesterday was
Alexa, ask Solar.web, how high my self-sufficieny today is

Och en rad till andra frågor. Är ganska säker på att det finns för Google Home med.

Grafana Dashboard

Om du lyckats med att koppla ihop allt och fått in lite sensorer i Home Assistant så kan du om du har och använder Grafana göra ganska snygga saker. Grafana är bättre med på att visualisera över tid vilket du kanske vill göra då du mäter i W men vill se saker i kWh. I API:et ser du det momentala värdet i förbrukning. Dvs du kanske har 500W en sekund för att nästa ha 3000W. Du kommer då ta värden under korta tidsperioder för att få kWh. Nedan ser man hur detta räknas ut.

Energin E i kilowatt-timmar (kWh) är lika med effekt P i watt (W) gånger tidsperioden t i timmar (hr) delat med 1000:

E(kWh) = P(W) × t(hr) / 1000

Jag kommer använda en del av logiken i denna från Home Assistant och en del annat som tex total consumed via total fliken i Grafana. Vissa saker bli helt enkelt enklare här.

Nedan ser ni hur många av de sensorerna vi skapade i HA kommer till nytta i Grafana. Det är lite beta fortfarande och har en del kvar att göra. Tex de gula staplarna för att visa kostnad per dag. Det finns säkert även en del andra fel i logiken som skall rättas till. Jag har skrivit en del om Grafana innan och tänker inte gå in i detalj hur detta sätts upp.

Du kan ladda ner jsonfile för detta dashboardet här.

Notera hur man genom att sätta total får Grafana att summera alla värden som kommer in. I fallet nedan Total export to grid

Spegeln

Det sista jag tog mig an var att ta en gauge från Grafana och visa på min Magic Mirror. Det är ganska kul att ha det på en tavla i köket för att hela tiden kunna se hur man lägger till. Så här ser detta ut. Får dock inte så mycket energi på kvällen.

 

Summering

Väljer du att skaffa en smartmeter vilket jag verkligen rekommenderar så tar du din statistik till en helt ny nivå. I solarweb får du det mesta och kan analysera hur din energiförbrukning ser ut. Vill du dessutom göra mer saker så är deras api ihop med HA och Grafana helt fantastiskt.