Net als heel veel anderen heb ik een paar zonnepanelen op het dak van mijn woning. Deze zonnepanelen zijn middels een omvormer gekoppeld aan het electiciteitsnetwerk. Mijn electrische apparatuur kan direct de energie gebruiken welke de zonnepanelen leveren, het "overschot" van de opgewerkte energie gaat terug het electriciteitsnetwerk in. De omvormer is ook verbonden aan mijn datanetwerk. Hierdoor is het mogelijk dat de omvormer data omtrent de opgewekte energie naar een server op het internet kan sturen. Uiteindelijk is het dan mogelijk om in een app op mijn telefoon / ipad inzicht te krijgen in de hoeveelheid opgewekte energie en dergelijke.

De bovengenoemde data wordt standaard verstuurd naar een server van de fabrikant van de omvormer. Dit werkt natuurlijk allemaal prima, maar ik wilde niet afhankelijk zijn van deze leverancier. Gelukkig blijkt er ook een alternatief mogelijk: PVoutput.org. Op de PVoutput.org website is het voor PV eigenaren mogelijk om data omtrent de opgewekte energie te uploaden. Hiervoor dien je jezelf gratis te registreren op de pvoutput.org website. Na registratie kan je API keys aanmaken. Deze API keys maken het mogelijk dat machines gegevens kunnen uploaden naar en downloaden vanaf de pvoutput.org site. Daarnaast is het mogelijk om data over het verbruik binnen jouw elektrische installatie te uploaden, zodat je een beeld krijgt over het energieverbruik.

Op het moment dat ik begon met Home Assistant was er nog geen component voor PVoutput. Ik had dus geen mogelijkheid om informatie over mijn zonnepanelen op te nemen in mijn Home Assistant setup. Nadat ik hierom vroeg bleek er iemand te zijn die dit een goede toevoeging vond voor Home Assistant, waarna hij gelijk een component ontwikkelde. Na wat testwerk bleek het component voldoende en werd het opgenomen in de Home Assistant components lijst. De totale ontwikkeling was binnen twee weken gerealiseerd, echt bijzonder snel.

De implementatie binnen Home Assistant is erg simpel. Je begint met het specificeren van de verschillende sensoren. Dit kan in een los "sensors.yaml" bestand of gewoon in de reguliere "configuration.yaml".

...
### pvoutput ###
#pv_name
  - platform: pvoutput
    system_id: !secret pv_name_systemid
    name: pv_name
    api_key: !secret pv_name_apikey
    scan_interval: 300
  - platform: template
    sensors:
      pv_name_generated_energy:
        value_template: '{{ "%0.2f"|format(states.sensor.pv_name.attributes.energy_generation|float/1000) }}'
        friendly_name: 'Generated energy'
        unit_of_measurement: 'kWh'
      pv_name_actual_power:
        value_template: '{% if is_state_attr("sensor.pv_name", "power_generation", "NaN") %}0{% else %}{{ states.sensor.pv_name.attributes.power_generation }}{% endif %}'
        friendly_name: 'Actual power'
        unit_of_measurement: 'Watt'
      pv_name_actual_voltage:
        value_template: '{{ states.sensor.pv_name.attributes.voltage }}'
        friendly_name: 'Actual voltage'
        unit_of_measurement: 'Volt'
      pv_name_actual_temperature:
        value_template: '{{ states.sensor.pv_name.attributes.temperature }}'
        friendly_name: 'Actual convertor temperature'
        unit_of_measurement: 'degrees'
      pv_name_efficiency:
#        value_template: '{{ states.sensor.pv_name.attributes.efficiency }}'
        value_template: '{% if is_state_attr("sensor.pv_name", "efficiency", "NaN") %}0{% else %}{{ states.sensor.pv_name.attributes.efficiency }}{% endif %}'
        friendly_name: 'Efficiency'
        unit_of_measurement: 'kWh/kWp'
...

Doordat er een "name:" component in zit is het mogelijk om de sensoren per PV installatie aan te maken. Indien je meerdere PV installaties op wil nemen in jouw Home Assistant configuratie, dien je er alleen voor te zorgen dat iedere sensor een unieke naam heeft, bijvoorbeeld "pv_name1_generated_energy" en "pv_name2_generated_energy". Ik heb zelf twee solar installaties welke ik graag wil monitoren, deze heb ik op deze manier aangesloten. Ik wilde per systeem graag een venster waar de waarden in getoond werden.

Dit heb ik opgelost door gebruik te maken van "groups" in Home Assistant.

...
solar_pv_name1:
  name: Zonnepanelen pv_name1
  entities:
    - sensor.pv_name1_generated_energy
    - sensor.pv_name1_actual_power
    - sensor.pv_name1_efficiency
    - sensor.pv_name1_actual_voltage
    - sensor.pv_name1_actual_temperature

solar_pv_name2:
  name: Zonnepanelen pv_name2
  entities:
    - sensor.pv_name2_generated_energy
    - sensor.pv_name2_actual_power
    - sensor.pv_name2_efficiency
    - sensor.pv_name2_actual_voltage
    - sensor.pv_name2_actual_temperature
...

Nadat de groups zijn gedefinieerd kunnen ze in één van de pagina's worden opgenomen door middel van de volgende code:

...
Zonnepanelen:
  view: yes
  entities:
    - group.solar_pv_name1
    - group.solar_pv_name2
...

Meer informatie over de integratie van PVoutput data in Home Assistant vind je op de Home Assistant website.

Previous Post

Blog Comments powered by Disqus.