sobota, 15 sierpnia 2020

Home Assistant oraz współpraca z inwerterem solarnym Solis i pvoutput.org

Zanabyliśmy panele fotowoltaiczne. Lubię podejście do korzystania ze źródeł energii, która i tak jest nam dana przez naturę.


A skoro je mam w domu, za punkt honoru obrałem sobie integrację z Home Assistant. Paradoksalnie - łatwiej byłoby to zrobić w Domoticz, ale skoro już wszystko przestawiłem na HA - trzeba było się napracować.

Ogólnie powinno być prosto - inwerter (w moim przypadku Solis) podaje dane przez WiFi (do systemu firmy Ginlong), odbieramy je wcześniej w Home Assistant. Ale tak dobrze to jest rzadko...

Musiałem zrobić to przez serwis zewnętrzny - https://pvoutput.org/. To taki agregat zbierający dane - można tam wysłać zarówno zużycie jak i pozyskaną energię solarną. Owszem, niestety, z kolejnym 'tworem' podzieliłem się nimi :/ Jeżeli znajdę prostszy sposób, postaram się pozyskiwać dane bezpośrednio z inwertera.

Przy okazji - przestał mi pokazywać poprawne wartości mój Owl Micro+. Niestety, nie jest 'kierunkowy', czyli pokazuje mi teraz jednocześnie i zużycie i dostarczanie energii przez baterie solarne. Ale to temat na inny artykuł.

Zacząłem od utworzenia konta i stworzenia klucza API.



W zależności od inwertera na pewno trzeba skorzystać z innych integracji, ja znalazłem GinMon - https://github.com/wessel145/GinMon

Zgodnie z instrukcją najpierw wyszukałem: plantId a później deviceId.

"plantId":
https://m.ginlong.com/cpro/epc/plantDevice/inverterListAjax.json?plantId=
"deviceId":

Do pliku konfiguracyjnego /GinMon/config.ini wpisałem:
- username - do serwisu Ginlong
- password
- inverterID - to można znaleźć na wewnętrznej stronie www inwertera
- API key
- i znalezione deviceId w systemID


W sumie dopiero pisząc ten tekst przypomniałem sobie, że można dane eksportować również do własnej bazy MariaDB - muszę to zrobić w kolejnym kroku i uniezależnić się od pvoutput.org.

Po konfiguracji sprawdzamy czy wszystko działa poprawnie:

python3 GinMon.py


Skoro wszystko jest w porządku, wrzucamy skrypt to crontab (przez crontab -e) i ustawiamy uruchamianie jak nam wygodnie, na przykład co 15 minut.


Później pozostaje dodanie integracji w Home Assistant: https://www.home-assistant.io/integrations/pvoutput oraz sensora w configuration.yaml


Do formatowania wartości użyjemy jak w dokumentacji (świetnej jak zwykle) template sensor.

  - platform: template
    sensors:
      power_generation:
        value_template: '{% if is_state_attr("sensor.pvoutput", "power_generation", "NaN") %}0{% else %}{{ state_attr("sensor.pvoutput", "power_generation") }}{% endif %}'
        friendly_name: 'Generating'
        unit_of_measurement: 'Watt'
      energy_generation:
        value_template: '{% if is_state_attr("sensor.pvoutput", "energy_generation", "NaN") %}0{% else %}{{ "%0.2f"|format(state_attr("sensor.pvoutput", "energy_generation")|float/1000) }}{% endif %}'
        friendly_name: 'Generated'
        unit_of_measurement: 'kWh'

I jesteśmy gotowi!


Próbowałem zrobić Utility meter aby mieć podany pobór godzinowy, dzienny i miesięczny, ale jakoś nie potrafię tego poprawnie skonfigurować :/

7 komentarzy:

  1. hej, wykorzystujesz jakoś Owla przy fotowoltaice? ;)

    OdpowiedzUsuń
    Odpowiedzi
    1. No właśnie nie :/ Niestety, klemy w nim nie są 'kierunkowe' i mam totalny misz-masz zużycia i zysków prądu. Zastanawiam się od jakiegoś czasu jak to ugryźć i chyba skończy się na Shelly 3em. Jeżeli dobrze rozumiem (a nie mam tak do końca kiedy nad tym siąść), powinien zadziałać.

      Usuń
  2. Dzięki za cynk z Shelly, sam mam podobny dylemat, bo moja instalacja jest na mikroinwerterach, gdzie przy braku bilansowania międzyfazowego już w ogóle nie dojdziesz ile na fazie jest produkcji a ile zużycia, więc mój OWL też działa dobrze tylko w nocy ;)

    OdpowiedzUsuń
    Odpowiedzi
    1. Dokładnie tak! Jeżeli na coś wpadniesz - możesz dać znać - z chęcią dowiem się jak to najlepiej rozwiązać.

      Usuń
    2. Trochę popchnąłem sprawę do przodu. Jako że mam prąd z Tauron, mają dostępny elicznik, a jego da się już zintegrować z HA. Co prawda odczyty są na dzień poprzedni, ale dobre i to...

      Usuń
    3. w PGE niestety odpada... chyba rozejrzę się za nowym dostawcą, ale wątpię, by żona zrozumiała, że zmieniamy dostawcę bo chcę licznik zitegrowany z HA :D

      Usuń
    4. Nie no, raczej mało sensowne ;)

      Usuń