Solceller – Del 3 – Grafana, Home Assistant och Magic Mirror

I del ett och två kikade vi på monteringen och hur man konfigurerar växelriktaren. Nu kommer ni nerda ner oss lite mer i detalj på växelriktarens API och vad man kan göra och vad man kan mäta. Då vi är klara kommer vi att ha:

  • Sensorer från växelriktaren i Home Assistant
  • Fixat så att all data sparas i en Influxdatabas
  • Satt upp en ny Dashboard i Grafana
  • Lagt till information på vår Magic Mirror.
  • Ett nytt Lovelacecard i Home Assistant som visar solcellsinformation

Kanske är det så att du inte har koll på vad detta är alls? Jag har skrivit en hel del om detta innan men i korthet så använder jag dessa nedan. En kort förklaring följer med.

Home Assistant – Detta är en hemautomatiserings mjukvara som ofta körs på en Raspberry PI. Den kan fungera som ett dashboard, du kan automatisera med den, tex att styra lampor i ditt hem. Den har stöd för mängder av produkter. Med den skulle du tex kunna fråga din Google Home hur mycket dina solceller producerar just nu, starta värmen i huset endast då solcellerna producerar eller få en lampa att lysa i olika färger beroende på hur många watt du producerar. Dessutom kan Home Assistant spara all data i en databas. Det finns ingen färdig modul för Fronius just nu så vi kommer skapa en egen via REST Api.

Influx – Detta är en databas

Grafana – Grafana är ett verktyg för att bygga avancerade dashboards och grafer.

Magic Mirror – Är en cool spegel med skärm bakom. I mitt fall använder jag den som en familjetavla.

Som sagt så har jag skrivit massor om detta innan. Det är lite överkurs att gå in i detalj om detta här. I mitt fall så kör jag alla dessa på en Intel NUC med Docker.

Vi startar med Home Assistant. Lägg till detta i din configuration.yaml. Byt till din ip adress. Det kan skilja lite i syntaxen. I mitt fall ligger de i sensor.yaml och fick då ändra lite med mellanslag och annat.

 

 

- platform: rest
  resource: http://192.168.0.3/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData
  method: GET
  name: "Current Power"
  value_template: "{{ (value_json.Body.Data.PAC.Value /100 | float / 10)|round(2) }}"
  unit_of_measurement: 'kW'
  force_update: true
  
  
- platform: rest
  resource: http://192.168.0.3/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData
  method: GET
  name: "Total Energy Today"
  value_template: "{{ (value_json.Body.Data.DAY_ENERGY.Value /1000 | float / 10)|round(2) }}"
  unit_of_measurement: 'kWh'
  force_update: true
  
- platform: rest
  resource: http://192.168.0.3/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData
  method: GET
  name: "Total Energy This Year"
  value_template: "{{ (value_json.Body.Data.YEAR_ENERGY.Value /100 | float / 10)|round(2) }}"
  unit_of_measurement: 'kWh'
  force_update: true
  
- platform: rest
  resource: http://192.168.0.3/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData
  method: GET
  name: "Total Energy Since Installed"
  value_template: "{{ (value_json.Body.Data.TOTAL_ENERGY.Value | float / 10)|round(2) }}"
  unit_of_measurement: 'kWh'
  force_update: true

Har du en Smart Meter kommer du få detta som extra via api:

{
Body: {
Data: {
Current_AC_Phase_1: 1.035000049159862,
Current_AC_Phase_2: 1.1470000544795766,
Current_AC_Phase_3: 0.9500000451225787,
Details: {
Manufacturer: "Fronius",
Model: "Smart Meter 63A",
Serial: "457620177"
},
Enable: 1,
EnergyReactive_VArAC_Sum_Consumed: 97394310,
EnergyReactive_VArAC_Sum_Produced: 40516870,
EnergyReal_WAC_Minus_Absolute: 5197513,
EnergyReal_WAC_Plus_Absolute: 25987927,
EnergyReal_WAC_Sum_Consumed: 25987927,
EnergyReal_WAC_Sum_Produced: 5197513,
Frequency_Phase_Average: 50.00000074505806,
Meter_Location_Current: 0,
PowerApparent_S_Phase_1: 242.81102306580786,
PowerApparent_S_Phase_2: 268.85682554002614,
PowerApparent_S_Phase_3: 220.9700209910241,
PowerApparent_S_Sum: 621.9999860972166,
PowerFactor_Phase_1: 0.9199999794363976,
PowerFactor_Phase_2: 0.6199999861419201,
PowerFactor_Phase_3: 0.9499999787658453,
PowerFactor_Sum: 0.8499999810010195,
PowerReactive_Q_Phase_1: -74.99999832361937,
PowerReactive_Q_Phase_2: -188.66999578289688,
PowerReactive_Q_Phase_3: -59.75999866425991,
PowerReactive_Q_Sum: -323.42999277077615,
PowerReal_P_Phase_1: 175.24999608285725,
PowerReal_P_Phase_2: 152.39999659359455,
PowerReal_P_Phase_3: 204.73999542370439,
PowerReal_P_Sum: 532.3899881001562,
TimeStamp: 1535564545,
Visible: 1,
Voltage_AC_PhaseToPhase_12: 406.2000192934647,
Voltage_AC_PhaseToPhase_23: 404.4000192079693,
Voltage_AC_PhaseToPhase_31: 404.6000192174688,
Voltage_AC_Phase_1: 234.60001114290208,
Voltage_AC_Phase_2: 234.4000111334026,
Voltage_AC_Phase_3: 232.60001104790717
}
},
Head: {
RequestArguments: {
DeviceClass: "Meter",
DeviceId: "0",
Scope: "Device"
},
Status: {
Code: 0,
Reason: "",
UserMessage: ""
},
Timestamp: "2018-08-29T19:42:25+02:00"
}
}

Fick lite feedback på att enheterna kanske är fel här och att det skall vara kWh på de tre sista vilket ju känns rätt. Kikar man på växelriktarens api rapporterar den som wh vilket jag antar är korrekt. Så här ser api anropet ut:

 

 

Spara filen och ta en check config i Home Assistant. Starta om HA. Kolla sen under info så att du inte får några skumma fel. I mitt fall kör jag version 0.89 med lovelace så jag kommer att testa att lägga till ett kort. Om allt går som planerat bör du ha något som ser ut som nedan. Du kan givetvis skapa lite fina grafer och annat i ditt lovelace gui med om du vill.

Det fina med att ha dem i HA är även att all data kommer att sparas i min Influxdatabas. Jag kan alltså få data sparat i flera år om jag vill.

Nästa steg är att skapa en dashboard i Grafana. Då jag inte har alla sensorer än så är viss data här inkorrekt. Detta kommer bli bättre då min Smart meter är på plats. Jag hämtar även data på aktuellt elpris från Tibber här. Jag har skrivit en del andra inlägg om Grafana så jag tänker inte gå in på detaljerna här. Fördelen med Grafana mot tex Solar webb är att du kan anpassa detta hur du vill. Samt att historiken sparas lokalt. Vill någon ha denna dashboarden så kan jag dela den.

Och slutligen. Aktuell solproduktion på min magiska spegel som fungerar som familjens infotavla. För att ta detta från början så kan man säga att flödet är som så här:

Solpaneler->växelriktare->api->home assistant->influx->grafana->magic mirror

 

Det finns ett tevligt kort till lovelace som heter Power wheel card som du ser nedan. Jag har inte helt fått klart detta än då det kräver lite fler sensorer som tex att jag kan se skillnad på inkommande och otgående el mot elnätet. När detta är på plats kan man enkelt se detta. Riktigt snyggt.