Home Assistant och Huawei Solar
I detta projekt använder jag Home Assistant för att övervaka mina solceller och batterier från Huawei.
Förutsättningar
Del 1 - Särskilja solproduktion från batterierna
Jag vill kunna se min rena solproduktion på energy-dashboarden utan påverkan av laddning och urladdning av batterierna. Jag har testat att göra detta på två olika sätt, ett där jag via en template räknat bort effektförluster. Nu har jag dock gott tillbaka till att använda Huaweis solproduktionsvärde rakt av. Hur man vill göra är nog mest en smaksak, diffar uppstår i matematiken på olika ställen. Nedan redovisar jag båda lösningarna så kan du välja vilken du tycker ger bäst resultat för dig.
Du har redan Home Assistant, HACS och Huawei Solar installerat.
För att köra utan att räkna bort effektförluster gör du så här.
Lägg i configuration.yaml
- platform: integration source: sensor.inverter_input_power name: solar_energy_riemann unit_prefix: k unit_time: h round: 3 method: leftDen nya sensorn "solar_energy_riemann" har jag lagt till på Engergy Dashboard. Jag har även gjort en helper (utility meter) som följer sensorn, men nollställs en gång om dagen så att jag alltid kan se dagens produktion på en av mina vanliga dashboards i en vanlig mätarkort.
Nedan info för att sätta upp helper/utility meter:
state_class: total_increasing source: sensor.solar_energy_riemann status: collecting last_period: 1.733 meter_period: daily cron pattern: 0 0 * * * last_reset: 2023-02-17T23:00:00.039506+00:00 unit_of_measurement: kWh device_class: energy icon: mdi:counter friendly_name: landet_solar_production_daily_umNedan mina kort jag har på min vanliga dashboard:
- type: gauge entity: sensor.inverter_input_power min: 0 max: 6000 name: Solproduktion - type: gauge entity: sensor.landet_solar_production_daily_um name: Solproduktion idag min: 0 max: 10
Fick ett tips en gång, från vem minns jag inte, där man med hjälp av en template kan reducera värdet på sensorn inverter_input_power för att ta
hänsyn till effektförluster och på så sätt få ett mer korrekt värde. Jag har testat detta och det fungerar också. Jag har dock valt att använda
sensorns värde rakt av istället för att lättare kunna jämföra värdet jag får i Home Assistant med vad Fusion Solar redovisar under Historical
Info om man väljer Yield och MPPT 1 DC (i mitt fall). Vill du testa detta kan du skapa en template enligt nedan:
template: - sensor: name: "test_solar_input_power_riemann" unique_id: "test_solar_input_power_riemann" unit_of_measurement: "kW" device_class: power state_class: measurement state: >- {% set inpower = ( states('sensor.inverter_input_power')|float(0) * 0.001) %} {% if inpower < 1 %} {{ inpower * 0.90 }} {% elif inpower < 2 %} {{ inpower * 0.95 }} {% else %} {{ inpower * 0.98 }} {% endif %} availability: "{{ 'unknown' not in [ states('sensor.inverter_input_power') ] }}"
Utöver templaten behöver du en Riemann integration enligt nedan och förslagsvis en utility meter enligt förra exemplet. Nedan hur riemann integrationen ser ut:
- platform: integration source: sensor.test_solar_input_power_riemann name: test_solar_energy_riemann round: 3 method: left