Energia Tauron w Grafanie

Pobieranie, integracja i prezentacja danych z elicznik Tauron – elektrownia fotowoltaniczna z własnymi wykresami

Wstęp

Tauron Polska Energia jako jeden z kilku operatorów – udostępnia swoim Klientom zdalne odczyty odebranej energii z nowo instalowanych liczników energii elektrycznej z modułem bezprzewodowym – najczęściej oznaczane jako AMI, Smart lub 3G. Obecnie w pierwszej połowie 2019 z takich liczników mogą korzystać mieszkańcy Wrocławia oraz okolic (program AMI Plus).

Nas interesuje natomiast sytuacja w której przechodzimy na umowę prosumencką  – a więc zaczynamy generować własną energię elektryczną – najczęściej z systemu fotowoltanicznego, chociaż Tauron w czasie miesiąca od zgłoszenia prywatnej elektrowni prosumenckiej wymienia licznik na smart, a prosument otrzymuje dostęp do interesujących danych:

  • zużycie energii elektrycznej z rozdzielczością godzinową
  • generację energii elektrycznej z rozdzielczością godzinową

Pozostaje więc automatycznie pobierać te dane i zestawić je z danymi z własnej elektrowni. Po krótkiej wymianie pytań – Tauron odpowiedział, że nie udostępnia specjalnego API, ale można pobrać dane – uaktualniane codzinnie – w formacie pliku Microsoft Excel. Pobierzmy je więc i zintegrujmy z własnymi danymi

Czego będziemy potrzebować?

 

Hardware:

  • Raspberry Pi (wersja 2 lub nowsza) lub inny serwer/komputer/mini komputer – SBC – z minimalnie 1GB RAM, dyskiem lub kartą flash 8GB
  • własna elektrownia (np: fotowoltaniczna) podłączona do sieci energetycznej, aktywna umowa prosumencka z Tauronem
  • opcjonalnie – możliwość pobierania danych online z własnej elektrowni

Software:

  • Linux: standardowy raspbian (wersja ligth wystraczy), po angielsku – dla Raspberry Pi, lub pochodna Debiana na innych komputerach
  • python, Firefox, instalowane jako pakiety systemu operacyjnego
  • Uwaga – mimo że będziemy używać przeglądaki – nie potrzebujemy podłączać do RPi myszki, klawiatury czy monitora. Będziemy działać w wirtualnym ekranie
  • Zainstalowana na Raspberry Pi – Grafana oraz InfluxDB – znajdziesz w tym przepisie
  • aktywne konto na https://elicznik.tauron-dystrybucja.pl/
  • opcjonalnie: oprogramowanie https://www.tightvnc.com/ – pozwalające na zdalną kontrolę komputera w trybie graficznym/GUI

Realizacja

Ponieważ interesowały mnie głównie dane – a nie dyskusje nad dostępem do danych w sposób online – postanowiłem, że po prostu złożę tzw. potworka – minimalnym kosztem czasu i nakładów – ale automatycznie i codziennie będę aktualizował wykresy na podstawie danych z elektrowni oraz Tauronu. Po niezbyt głębokiej analizie postanowiłem przyjąć następujący scenariusz:

  • skrypt który pobiera dane ze strony Tauronu, zaznaczając podobnie jak człowiek pracujący z przeglądarką – interesujące mnie dane. Potrzebują danych z ostatniego dnia, które zawierają odebraną energię oraz oddaną energię do sieci. Dostanę z całego miesiąca i będę je nadpisywał, ale to koszt prostoty
  • skrypt który przetwarza format XLS i umieszcza go w bazie InfluxDB, z której korzysta Grafana do generowania następującego wykresu:
Tauron - wykresy z licznika nałożone na własne dane z elektrowni fotowoltanicznej
Tauron – wykresy z licznika nałożone na własne dane z elektrowni fotowoltanicznej



Efekt można osiągnąć na wiele sposobów – można wykorzystać pracę jaką wykonał Piotr Machowski – zachęcam do sprawdzenia w jaki sposób pobiera dane dla stref G11/G12.

Po pierwsze – instalujemy InfluxDB i Grafanę – o ile oczywiście chcemy od razu wizualizować te dane: https://blog.jokielowie.com/2016/11/domoticz-cz-5-grafana-influxdb-telegraf-latwe-i-piekne-wykresy/

Następnie logujemy się do systemu – raspbiana, użytkownik pi, a następnie wprowadzamy serię komend:

Czas na pierwsze uruchomienie i wproadzenie danych. W następnej części zajmiemy się automatyzacją całego procesu

Po instalacji przenosimy się na klasyczny komputer, którego używany codziennie – logujemy się na nasze konto w https://elicznik.tauron-dystrybucja.pl/ – zaznaczamy pole „

Jego format powinien być identyczny jak z załączonym zdjęciem, łącznie ze sklejeniem pierwszej kolumny godzinowej z datą:

Dane.xls z Tauron - format z 04.2019
Dane.xls z Tauron – format z 04.2019

Następnie, używając np: Filezilli (użytkownik pi, nasze hasło – adres IP Raspberry, port 22, łączymy się z Raspberry Pi i umieszczamy plik Dane.xsl w katalogu:

Pora na wprowadzenie do bazy – danych od Tauronu. W tym celu należy podać adres IP oraz nazwę bazy, opcjonalnie użytkownika/hasło lub klucz do zainstalowanej bazy:
edytujemy plik: convert_and_upload_to_influxdb.bash

Uruchamimy:

W zależności od użytych rozwiazań – oraz ilości danych po kilku minutach powinniśmy otrzymać na ekranie:

Wynik importu z Elicznik Tauronu do InfluxdB
Wynik importu z Elicznik Tauronu do InfluxdB

Pora na wizualizację – w Grafanie tworzymy nowy „graph”, który jako źródło ma wybraną przez nas bazę danych. Następnie w zakładce Metrics wybieramy z prawej opcję „Toggle Edit Mode” i wklejamy w pole A:

w pole B:

Wykresy mocy z Tauronu w Grafanie
Wykresy mocy z Tauronu w Grafanie

Efekt wykresu schodkowego, który odpowiada prezentowanym wartościom osiągamy w następujący sposób:

Wykres schodkowy w Grafanie
Wykres schodkowy w Grafanie

Uwaga – w zależności od ustawień zegara, oraz terminu zmiany czasu na letni zimowy – Tauron może podawać dane z różnicą np: godziny lub dwóch. Akutalnie od maja 2019 jest to przesunięcie od dwie godzony, wcześniej było o godzinę. Należy zatem – jeśli wykres nie pokrywa się – oddana energia wobec wyporodukowanej – zmienić w skrypcie słowa „1 hour ago” na „2 hours ago”.

Auomatyzacja procesu

Głownym celem jest automatyczne pobieranie i prezentowanie danych. W tym celu należy użyć dostarczonego skryptu:

Po jego uruchomieniu dostaniemy informację, że możemy się połączyć przez protokół VNC z uruchomionym środowiskiem GUI w którym działa Firefox. Używamy tutaj jednej z możlowości systemu X dla Linuksa, pozwalającego na stworzenie wirtualnego ekranu w którym działać moga programy tak jak w trybie graficznym Raspberry Pi. Uruchamiamy zatem klienta VCN (może to być np: TightVNC) i łaczymy się z adresem naszego Raspberry Pi, hasła nie potrzeba.

Powinniśmy otrzymać ekran logowania elicznika Tauronu w Firefoksie. Logujemy się i KONIECZNIE zapamiętujemy dane do logowania (email i hasło) w Firefoksie. Sprawdzamy czy dziala pobieranie danych – zapisujemy domyśnie w katalogu Downloads (jeśli zmieniłeś język na polski – będziesz musiał zmienić skrypty na Pobrane). Opuszczamy firefoksa, możemy zamknąć połączenie.

Teraz – autoamtyzujemy! Uruchamiamy jeszcze raz skrypt

łączymy się przez klienta VNC jak poprzednio, ale – wracamy do konsoli z której uruchomiliśmy skrypt i wpisujemy:

Po 4 sekundach kursor myszy powinien się zacząć poruszać, klikać, aż do pobrania danych i automatycznego zamknięcia Firefoksa – potrwa to trochę, ponieważ zostawiamy sobie czas na załadowanie się strony. Jeśli coś pójdzie nie tak – poniewaz zmieni się strona WWW elicznika – musimy w pliku:

wprowadzić zmiany – przesunąć kursor, dodać trochę opóźnienia. To oczywiście łatwo się pisze, więc – nagrałem krótki film który pokazuje całą operację:

Działa? Zatem ostatni krok – uruchomienie automatu, który będzie sam w odpowiednim czasie pobierał dane i wrzucał je do InfluxDB:

a następnie dopisujemy na końcu:

co pozwoli uruchomić się automatycznie o 7:50 codziennie, a to co skrypt zarejestrował podczas pracy – czyli log – znajdziemy w katalogu /tmp

To wszystko!