2023. február 18., szombat

Cloud lementett napi adatok feldolgozása pythonnal



 A napi adatok excel állományba lementése után a feldolgozás automatizálásra mutatok egy mintát.


Egy könyvtárba elhelyezett xls-eken végig megy és egybe olvassa, rendez, szűr, mezőket kiválaszt, diagramot gyárt minta jelleggel.






A forrás elérhető :

 https://github.com/klajosw/python/blob/master/kl_py_xls_nap.ipynb

Solplanet helyi lekérdezése és eredmény állományba írása

 Linux-osok simán összeraknak erre egy scriptet, ezért a windows-osoknak mutatok példát.


PowerShell script-es megoldás

Minden windows alatt ott van PowerShell ISE ezért ezt választottam


A PS parancs amit saját hálózati IP cím és inverter azonosításával módosítani kell:

Invoke-RestMethod -Uri "http://192.168.0.101:8484/getdevdata.cgi?device=2&sn=SP0%%%%%%" |Format-Table -Property tim, tmp, pac, sac, qac, etd, eto, vac, iac, vpv, ipv, err  |

Out-File -FilePath c:\Users\User\Documents\kl\napelem\kl_blog\java\kl_sol_ps.txt -Encoding ASCII -Width 120 -Append


Az eredmény ilyen lesz a képernyőn:


Az eredmény ilyen lesz az állományban:

tim            tmp  pac  sac qac etd  eto vac                iac          vpv          ipv        err   

---            ---  ---  --- --- ---  --- ---                ---          ---          ---        ---      ---

20230218114622 449 6351 6351   2 131 4354 {2360, 2351, 2342} {90, 90, 90} {4642, 3691} {784, 787}  0 



Windows ütemező készítése a 10 percenkénti futáshoz









Nézzük egy hasonló megoldást java-ban


Ez bonyolultabb mert java fejlesztői környezettet igényel. 
Minden faxni nélkül nekünk most csak a java.exe és javac.exe kell én ezeket a példában az adroind studo-ból használtam.


Tehát kell egy JsonReader22.java file


import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URL;
import java.nio.channels.Channels;
import java.nio.channels.ReadableByteChannel;
import java.time.format.DateTimeFormatter;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.Month;
import java.util.concurrent.TimeUnit;


public class JsonReader22 {

    public static void main(String[] args) {
    System.out.println("Első argumentum: "+args[0]);  
System.out.println("Második argumentum: "+args[1]);  
String url = "http://" + args[0] + ":8484/getdevdata.cgi?device=2&sn=" + args[1]; 
    System.out.println("url: "+url);  
                              String out_file = "kl_kesz";
                              LocalDate datum = LocalDate.now();
                              LocalDateTime dt = LocalDateTime.now();
                              DateTimeFormatter df = DateTimeFormatter.ofPattern("_yyyy-MM-dd");  //HH-mm-ss_");
                              String date_text = dt.format(df);
  DateTimeFormatter df2 = DateTimeFormatter.ofPattern("_yyyy-MM-dd_HH-mm-ss_");
                              String date_text2 = dt.format(df2);
                        System.out.println("Formázott dátum : "+ date_text);

        try {
    downloadUsingNIO(url,   out_file + date_text2 + ".json");         // futásonként egy-egy filebe
            downloadUsingStream(url, out_file + date_text + ".json");         // napi futás egy file töltése összefűzéssel
        
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    private static void downloadUsingStream(String urlStr, String file) throws IOException{
        URL url = new URL(urlStr);
        BufferedInputStream bis = new BufferedInputStream(url.openStream());
        FileOutputStream fis = new FileOutputStream(file, true);
        byte[] buffer = new byte[1024];
        int count=0;
        while((count = bis.read(buffer,0,1024)) != -1)
        {
            fis.write(buffer, 0, count);
        }
System.out.println(buffer);
String textToAppend = "\n";
byte[] strToBytes = textToAppend.getBytes();
fis.write(strToBytes);
        fis.close();
        bis.close();
    }


    private static void downloadUsingNIO(String urlStr, String file) throws IOException {
        URL url = new URL(urlStr);
        ReadableByteChannel rbc = Channels.newChannel(url.openStream());
        FileOutputStream fos = new FileOutputStream(file, true);
fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
        fos.close();
        rbc.close();
    }


}


És kell egy kl.bat file:

REM JAVA forrás fordítás CLASS-ra
"c:\Program Files\Android\Android Studio\jbr\bin\javac.exe" JsonReader22.java

REM futtatás paraméterben az IP cim és inverter azonosító
"c:\Program Files\Android\Android Studio\jbr\bin\java.exe"  JsonReader22 192.168.0.101 SP0%%



Összefűzős eredmény:

{"flg":1,"tim":"20230218132702","tmp":407,"fac":5000,"pac":893,"sac":893,"qac":0,"eto":4392,"etd":169,"hto":183,"pf":88,"wan":0,"err":0,"vac":[2311,2315,2305],"iac":[14,14,14],"vpv":[4676,3655],"ipv":[113,98],"str":[]}
{"flg":1,"tim":"20230218132722","tmp":407,"fac":5000,"pac":851,"sac":851,"qac":0,"eto":4392,"etd":169,"hto":183,"pf":88,"wan":0,"err":0,"vac":[2323,2311,2315],"iac":[13,14,13],"vpv":[4652,3633],"ipv":[108,94],"str":[]}
{"flg":1,"tim":"20230218133102","tmp":403,"fac":5000,"pac":1276,"sac":1276,"qac":0,"eto":4393,"etd":170,"hto":183,"pf":93,"wan":0,"err":0,"vac":[2334,2323,2313],"iac":[20,19,19],"vpv":[4728,3720],"ipv":[157,149],"str":[]}
{"flg":1,"tim":"20230218133152","tmp":402,"fac":5001,"pac":1261,"sac":1261,"qac":0,"eto":4393,"etd":170,"hto":183,"pf":93,"wan":0,"err":0,"vac":[2345,2265,2326],"iac":[19,19,19],"vpv":[4739,3699],"ipv":[157,142],"str":[]}
{"flg":1,"tim":"20230218133222","tmp":401,"fac":5000,"pac":1219,"sac":1219,"qac":0,"eto":4393,"etd":170,"hto":183,"pf":93,"wan":0,"err":0,"vac":[2344,2280,2312],"iac":[19,18,18],"vpv":[4741,3721],"ipv":[151,137],"str":[]}
{"flg":1,"tim":"20230218133412","tmp":400,"fac":4998,"pac":1487,"sac":1487,"qac":0,"eto":4393,"etd":170,"hto":183,"pf":95,"wan":0,"err":0,"vac":[2371,2268,2321],"iac":[22,22,22],"vpv":[4861,3968],"ipv":[189,150],"str":[]}
{"flg":1,"tim":"20230218135512","tmp":397,"fac":5000,"pac":3270,"sac":3270,"qac":1,"eto":4400,"etd":177,"hto":184,"pf":99,"wan":0,"err":0,"vac":[2378,2379,2328],"iac":[47,46,46],"vpv":[5130,4067],"ipv":[371,363],"str":[]}
{"flg":1,"tim":"20230218135512","tmp":397,"fac":5000,"pac":3270,"sac":3270,"qac":1,"eto":4400,"etd":177,"hto":184,"pf":99,"wan":0,"err":0,"vac":[2378,2379,2328],"iac":[47,46,46],"vpv":[5130,4067],"ipv":[371,363],"str":[]}
{"flg":1,"tim":"20230218135652","tmp":399,"fac":5001,"pac":3009,"sac":3009,"qac":1,"eto":4401,"etd":178,"hto":184,"pf":98,"wan":0,"err":0,"vac":[2382,2368,2321],"iac":[43,42,43],"vpv":[5075,4055],"ipv":[341,337],"str":[]}
{"flg":1,"tim":"20230218135722","tmp":399,"fac":5000,"pac":2948,"sac":2948,"qac":1,"eto":4402,"etd":179,"hto":184,"pf":98,"wan":0,"err":0,"vac":[2384,2363,2320],"iac":[42,41,42],"vpv":[5120,4024],"ipv":[332,333],"str":[]}


Egy egy állományos eredmény:

{"flg":1,"tim":"20230218135722","tmp":399,"fac":5000,"pac":2948,"sac":2948,"qac":1,"eto":4402,"etd":179,"hto":184,"pf":98,"wan":0,"err":0,"vac":[2384,2363,2320],"iac":[42,41,42],"vpv":[5120,4024],"ipv":[332,333],"str":[]}


És nézzünk egy pythonos megoldást is.


A python program


import urllib.request, json 
## beolvasás
with urllib.request.urlopen("http://192.168.0.101:8484/getdevdata.cgi?device=2&sn=SP00%%") as url:
    data = json.load(url)


## állományba írás
with open(r"c:\Users\User\Documents\kl\napelem\kl_blog\java\kl_kesz_py_2023-02-18.json", "w") as outfile:
    json.dump(data, outfile)

## formázott megjelenítés
print(f"""A mai ({data['tim'][0:4]}.{data['tim'][4:6]}.{data['tim'][6:8]}) termelés: {data['etd']/10:04.1f} KWh 
és a pillanatnyi ({data['tim'][8:10]}:{data['tim'][10:12]}:{data['tim'][12:14]} -kor) termelés: {data['pac']} Wh
""")

## csoportos megjelenítés
print('-'*60)
for key, value in data.items():
    print(key, value)



Az eredmény

A mai (2023.02.18) termelés: 20.2 KWh 
és a pillanatnyi (16:01:32 -kor) termelés: 533 Wh

------------------------------------------------------------
flg 1
tim 20230218160132
tmp 372
fac 5005
pac 533
sac 533
qac 0
eto 4425
etd 202
hto 186
pf 77
wan 0
err 0
vac [2352, 2313, 2270]
iac [9, 9, 10]
vpv [4621, 3642]
ipv [67, 59]
str []





Megjegyzés


Azért programozó guruknak jelzem, hogy feleslegesen ne 'gyúrjanak' rajtam, hogy igen csúnya ez a megoldás, meg ezt nem így kellene megcsinálni....

Ennyi időt szántam rá, mikor működött befejeztetem.


2023. február 17., péntek

Solplanet cloud adatok lekérdezése máshogy

A menüpontok használata mellet egyéb adatsrtuktura is elérhető a Solplanet cloud felöl.


WEB böngészőbe belépve a Cloud-ra új lapot nyitva a diagramok adatait JSON formában elérhetjük és tovább feldolgozhatjuk.





Egy napon belüli termelés adatok:

Sárgáztam a saját inverter és modem azonosító megadás helyeit és kékeztem a dátum értékek megadását amit a saját adatokra kell cserélni.

Web cím:

https://cloud.solplanet.net/data/energy/d/2023-02-02?sid=2zzzz&isno=SP0%%%%%%%

 =>

[ {
  "isno" : "SP%%%%%%%",
  "sid" : *******,
  "stationname" : null,
  "totalpower" : null,
  "generation" : null,
  "byname" : "SP%%%%%%%",
 "qdate" : "2023-02-16",
  "unit" : "kW",
  "dataset" : [ {
    "time" : "06:40",
    "value" : [ "0.00" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "06:45",
    "value" : [ "0.00" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "06:50",
    "value" : [ "0.00" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, { ....
}, {
    "time" : "10:50",
    "value" : [ "4.04" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "10:55",
    "value" : [ "4.52" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "11:00",
    "value" : [ "6.06" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "11:05",
    "value" : [ "5.37" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
...


Egy hónapon belüli (napi) termelés adatok: 


Sárgáztam a saját inverter és modem azonosító megadás helyeit és kékeztem a dátum értékek megadását amit a saját adatokra kell cserélni.

Web cím:

https://cloud.solplanet.net/data/energy/amountm/2023-02?sid=2zzzz

=>

 {
  "isno" : null,
  "sid" : ********,
  "stationname" : "******** - Budapest",
  "totalpower" : 10.0,
  "generation" : 407.8,
  "byname" : "Generation",
  "qdate" : "2023-02",
  "unit" : "kWh",
  "dataset" : [ {
    "time" : "2023-02-01",
    "value" : [ "1.4" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "2023-02-02",
    "value" : [ "24.2" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "2023-02-03",
    "value" : [ "1.6" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, { ....
  

Érdemes lehet még megnézni :

https://cloud.solplanet.net/data/iac/2023-02-02?sid=2*****&isno=SP001%%%%
(áramerősség alakulása)


https://cloud.solplanet.net/data/temperature/2023-02-02?sid=2*****&isno=SP001%%%%
(hőmérséklet alakulása)


https://cloud.solplanet.net/data/vpv/2023-02-02?sid=2*****&isno=SP001%%%%
(feszültségek alakulása)


https://cloud.solplanet.net/data/ipv/2023-02-02?sid=2*****&isno=SP001%%%%
(áramerősség alakulása)



https://cloud.solplanet.net/data/str_cur/2023-02-02?sid=2*****&isno=SP001%%%%



Érdekes, hogy téli időszakban is milyen magas pillanatnyi termelés van

10KWH névleges teljesítményű rendszer rövid időre 7KWh is tud produkálni.









SolPlanet inverter adatok elérése cloud nélkül

Keressük az alábbi kérdésekre a választ:

  • Hogyan járjunk el, ha akadozik a Solplanet cloud elérés és az adatok nem láthatóak?
  • Hogyan győződjünk meg róla, hogy a router hálózatán fenn van egyáltalán az inverterünk?
  • Hogy tudhatjuk meg, hogy nincs valamilyen hiba a Napelemünkkel?
  • Hogyan tudunk vezérelni fogyasztást a naperőművünk teljesítménye alapján akár percenkénti adat elemzéssel (cloud adatközpont adatai nélkül)


Adatelérés kialakítás szabályrendszere

Az információ elérésére csak és kizárólag olvasunk működési adatot az inverter gyártó által kialakított lekérdező API-n keresztül.

A feldolgozás és megfelelő eszköz vezérlése külön eszközön fút/működik semmilyen plusz terhelést nem jelent az inverter felé.

A vezérlés alá vont fogyasztók megfelelő kiválasztása és rendszerbe illesztése történhet egyéni megvalósítással és komplex dobozos okos otthon megoldással is. 


Egy egyszerű példa / cél a felhasználásra:

2 KWh tárolós Gáz és villanybojler villamosság körének ki/be kapcsolása a napenergia rendelkezésre állása függvényében.


Először foglalkozzunk a forrás adat kinyerés lehetőségével.



 Az inverter router hálózatára kell belépni a PC-vel/laptoppal/tablettel/mobillal WIFI-n vagy vezetékes módban.




Meg kell tudnunk a hálózat címét

Windows Gépház -> Hálózat és internet -> IP beállítások




DOS comman ablakban alábbi parancs:

ipconfig -all







Az utolsó IP cím szám változtatásával (pirosozva) meg kell keresni az invertert amíg meg nem jelenik az eredmény :



Az SN attributum az inverter azonosító, mely a saját inverteren van felcímkézve/vonalkóddal (kékkel színezve a helye). 



Összevetve a Soplanet adatimport és a közvetlen lekérdezett adatok mező azonosítóit:



Lekérdező web cím megadása/összeállítása :

Eszköz gyors összefoglalója nekem már itt megjelenik (azonosítók és teljesítmény sarok számok):

http://192.168.0.100:8484/getdev.cgi?device=2

Nekem megjelenik többek között:
"isn":"SP00%%%%%%1","pac":20,"etd":141,"eto":4568,"err":0,
Saját azonosító, pillanatnyi termelés ,napi, termelés, összes termelés, hibakód mező.


Az inverter adatlapja

Legrövidebb meghívása:

http://192.168.0.100:8484/getdev.cgi

De ez csak különböző szintű azonosító adatokat ad meg.

Az inverter adatai

Az adatlapot részletezi ki a getdevdata.cgi meghívása, amely az azonosító paramétert is igényli.


http://192.168.0.100:8484/getdevdata.cgi?device=3&sn=SP00*******1

megjelenik:
"tim":"20230203154719","tmp":226,"fac":4996,"pac":0,"sac":0,"qac":0,"eto":272,"etd":16,"hto":24,"pf":0, "wan":0,"err":0,"vac":[2282,2298,2285],"iac":[5,5,5],"vpv":[1251,1246],"ipv":[5,0]


A megjelenő értékek jelentése:

 tim : adat időpecsét (év, hó, nap, óra, perc, másodperc)
 vpv : egyen feszültség
 ipv : egyen áram
 vac : váltó feszültség
 iac : váltó áram
 fac : HZ (/100)
 pac : váltó teljesítmény (pillanatnyi) W 
 sac : látszólagos teljesítmény
 qac : meddő teljesítmény
 etd : napi teljesítmény
 eto : összes eddigi teljesítmény
 tmp : hőmérséklet 
 hto : munkaidő (óra)
 pf  : cos (koszinusz) phi

  err : hiba / rendellenesség (kódja)



Megjegyzésként a számadatoknál eltolás van például :
  • a "fac":4998 azt jelenti 49,98Hz a pillanatnyi hálózati frekvencia
  • a "tmp":257 azt jelenti 25,7 celsius fok az inverter pillanatnyi üzemi hőmérséklete
  • a "etd":123 azt jelenti 12.3 KWh a napi termelés (eddig)


Wifi kapcsolat lekérdezése

Itt megjelenik a használt router, ipcím, maszk...

http://192.168.0.100:8484/wlanget.cgi?info=2
=>
{"mode":"STATION","sid":"KL_router","srh":-61,"ip":"192.168.xx.8","gtw":"192.168.xx.1","msk":"255.255.255.0"}



forrás link:


Az inverter azonosító (fent kékkel jelölt helyzet) a cloud web lapon (https://cloud.solplanet.net/) is leolvasható az alias oszlopban:







Az adatokat akár percenként le tudjuk menteni egy-egy állományba a saját gépe könyvtárába, hogy később is feldolgozható legyen.

A módszer akkor működik ha az inverter modem feljelentkezett a routerrünkre, ekkor már így is elérhető.

Tehát lehet, hogy még nem termel az inverter mert még nincs annyi napfény (korra reggel), vagy (este) már kevés a napfény hogy termeljen, de státuszt meg ad magáról mert még nem kapcsolódott ki az inverter ill. a modem)

Az inverter bekapcsolódásakor az adatok megjelennek, még akkor is, 
amikor tényleges aktív áramtermelés a villamoshálózat ill. a ház felé még nem tudott elkezdődni.

Ezeket le lehet menteni, gyűjteni lehet további elemzésre.

Az 'err' mező nullától eltérő értéke hibára utal és beavatkozást igényel!



Meg egyszerűbb lehetőség az inverter adateléréshez

Megkönnyíthetjük a dolgunkat, ha más eszközöket is használunk például wifi analyzálást eszköz felderítésre.


Ekkor egyből a Espressif Inc. - t keressük:




Mobil telefon WEB böngészőből is megnyíthatjuk a fenti linket (saját router cím és inverter azonosítóval):




A mobilt elforgatva jobban látható az információ.


A profi megoldás 

Az inverternek a hálózaton fix IP címet adunk. Ekkor már  nem kell keresgélni az invertert és így a fix weblapot akár a mobilunkra is letehetjük a kedvencek közé vagy egy indító gombra hogy bármikor azonnal megnézhessük.

FIX IP cím beállítása a routeren (Address reservation)




Kedvencek lista






A nyers adatok 'csúnya' megjelenését valamilyen programmal tudjuk feldobni, formázni, színezni, ..

A nyers megjelenítés formázására akár az routerünket is használhatjuk. PHP nyelven megjelenítő formot hozhatunk létre amely már komolyabbá teszi a dolgot.

Programozhatunk automatikus adatgyűjtést és akár hiba figyelést, amely levelet küld, ha hiba üzenet jelenik meg vagy az inverter hómérséklete meghaladja a 60 celsius fokot. 

Tehát aki szeretne okosítani akarja a router annak speci szoftver verzió kell. Ekkor Linux, magyar, webes felület, sok beállítási lehetőség) és akár sokkal jobb sebességet lehet elérni vele mint a gyárival.


Az én routeremre például ez: 

De hát ennek kockázata is van, ezért erre most nem indulok el.


A még jobb megoldás, ha okos otthon szolgáltatásba integráljuk és ott nézegetjük. 
Ehhez azonban SW és HW oldalon is akár jelentős beruházás szükséges (attól függetlenül, hogy akár opensource az alap SW választunk). 


Ilyen például a HomeAssistant a honlapon kívül még a Facebook oldalát tudom ajánlani a témával ismerkedőknek : https://www.facebook.com/groups/HomeAssistantHU/ 

Én is feliratkoztam erre a csoportra ötletekért, hogy jobban kihasználhassam a napelem behatárolt intervallumú termelését, jobban eloszthassam a termelési lehetőséget, felmérhessem a tartalékokat, ...

2023. február 9., csütörtök

Áramtermelés megjelenítése a villanyszámlán

 EON hálózatnál a lehetőségek


Regisztráltam az eon távleolvasási portálra. 
Ott már sok adat kiolvasható de érdekes módon az összes vételezett (import) energia regisztere kiolvasható visszamenőleg, rendesen rajzolja a grafikont is. 
Lehet részleteket is kiolvasni 1-es és 2-es tarifára bontva: ezek a regiszterek sorra az 1.8.1 és 1.8.2. 

Van EON mobil alkalmazás is amelyet még ki kell próbálnom.



Az EOK megjelenítés és adat elérés


Napi mérőállások jelentése:

DP_1-1:1.8.0*0 Hatásos energia (összes) {kWh} (napi)
DP_1-1:1.8.1*0 Hatásos energia (csúcsidőben) {kWh} (napi)
DP_1-1:1.8.2*0 Hatásos energia (csúcsidőn kívül) {kWh} (napi)
DP_1-1:2.8.0*0 Hálózatba termelt hatásos energia (összes) {kWh} (napi)
DP_1-1:2.8.1*0 Hálózatba termelt hatásos energia (csúcsidőben) {kWh} (napi)
DP_1-1:2.8.2*0 Hálózatba termelt hatásos energia (csúcsidőn kívül) {kWh} (napi)
DP_1-1:3.8.0*0 Induktív meddő energia (összes) {kVArh} (napi)
DP_1-1:4.8.0*0 Kapacitív meddő energia (összes) {kVArh} (napi)


Naponta a napon belüli fogyasztás termelés alakulása (8 nap)





Naponkénti fogyasztás és termelés alakulása






Naponta a napon belüli fogyasztás termelés alakulása (2 nap)











Feliratkoztam a naponta elektromos fogyasztás kiküldésre is 





Ezeket a beállításokat tettem:


Automatikus küldésre



Riport megjelenítési profilra:








Ezt  a naponta küldött csv filet excel-ben dolgozom fel:








A fogyasztás alakulása SolPlanet Cloud szerint















Összehasonlítása az EON és Solplanet adatoknak







A végére pár hasznos link:










2023. február 2., csütörtök

Elindult az áram termelés

Óracsere és EON engedély után 2023.02.01. elindult:



 

Szép februári napon (2023.02.02.) a termelés alakulása





WEB felület terület diagram





WEB felület vonal diagram




Excelből diagram készítés 1.






Excelből diagram készítés 2.




Adatok mentése xls-be




A lehetőségek és információk felmérésébe kezdtem. 

Web böngészőben a Soplanet keresés eredményeket kezdtem tanulmányozni. 

A facebook-on feliratkoztam egy viszonylag friss csoportba : Solplanet invertert használók klubja



Első próbálkozásaim


Adatok elérése JSON formában WEB -ről:

(kékkel jelzett adatok a saját inverter azonosítók) / (piros jelzéssel az aktuális tulajdonság)

A teljesítmény :
https://cloud.solplanet.net/data/energy/d/2023-02-02?sid=2****8&isno=SP00*********1

Az áram :
https://cloud.solplanet.net/data/iac/2023-02-02?sid=2****8&isno=SP00*********1


[ {
  "isno" : "SP00********1",
  "sid" : 2*****,
  "stationname" : null,
  "totalpower" : null,
  "generation" : null,
  "byname" : "SP00******1",
  "qdate" : "2023-02-02",
  "unit" : "A",
  "dataset" : [ {
    "time" : "06:55",
    "value" : [ "0.00", "0.00" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "07:00",
    "value" : [ "0.00", "0.00" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "07:05",
    "value" : [ "0.02", "0.01" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }, {
    "time" : "07:10",
    "value" : [ "0.04", "0.02" ],
    "consump" : 0.0,
    "mexport" : 0.0,
    "mimport" : 0.0,
    "net" : 0.0
  }
...

Otthoni router hálózatról parancs módban az aktuális áram termelési adatok lekérdezése:

(kékkel jelzett adatok a saját inverter azonosítók)
 http://192.168.42.100:8484/getdevdata.cgi?device=2&sn=SP00*********1
 =>
 {"flg":1,"tim":"20230203154719","tmp":226,"fac":4996,"pac":0,"sac":0,"qac":0,"eto":272,"etd":16,"hto":24,"pf":0,
 "wan":0,"err":0,"vac":[2282,2298,2285],"iac":[5,5,5],"vpv":[1251,1246],"ipv":[5,0],"str":[]}
 


 
 http://192.168.42.100:8484/getdevdata.cgi?device=3&sn=SP00*********1
 =>
 {"flg":0,"tim":"","pac":0,"itd":0,"otd":0,"iet":0,"oet":0,"mod":0,"enb":0}
 



 http://192.168.42.100:8484/getdevdata.cgi?device=4&sn=SP00*********1
 =>
 {"flg":0,"ppv":0,"etdpv":0,"etopv":0,"cst":0,"bst":0,"eb1":0,"wb1":0,"vb":0,"cb":0,"pb":0,"tb":0,"soc":0,"soh":0,
 "cli":0,"clo":0,"ebi":0,"ebo":0,"eaci":0,"eaco":0,"vesp":0,"cesp":0,"fesp":0,"pesp":0,"rpesp":0,"etdesp":0,"etoesp":0}
 
 



 vpv : egyen feszültség
 ipv : egyen áram
 vac : váltó feszültség
 iac : váltó áram
 fac : HZ (/100)
 pac : váltó teljesítmény (pillanatnyi) W 
 sac : látszólagos teljesítmény
 qac : meddő teljesítmény
 etd : napi teljesítmény
 eto : összes-teljesítmény
 tmp : hőmérséklet 
 hto : munkaidő (napsütéses óra)
 pf   : cos (koszinusz) phi

Forrás:
Sac = Apparent power output
Qac = Reactive power output
Pac = Real power output (Sac*fp)
fp = power factor between Iac3 and Vac3
...
Sac = Látszólagos teljesítmény
Qac = meddő teljesítmény kimenet
Pac = valós kimeneti teljesítmény (Sac*fp)
fp = teljesítménytényező Iac* és Vac* között







Regisztráltam az eon távleolvasási portálra. 
Ott már sok adat kiolvasható de érdekes módon az összes vételezett (import) energia regisztere kiolvasható visszamenőleg, rendesen rajzolja a grafikont is. 
Lehet részleteket is kiolvasni 1-es és 2-es tarifára bontva: ezek a regiszterek sorra az 1.8.1 és 1.8.2. 

Van EON mobil alkalmazás is amelyet még ki kell próbálnom.




Mire is számítok 


Évi kb 2000 napsütötte óra

Helyi adottságok

















Én erre számítok 2023 évben 


Hónap KWh
1 470,7
2 604,1
3 1059,6
4 1281,6
5 1307,4
6 1332,2
7 1422,9
8 1386
9 1131,5
10 911,5
11 542
12 399,5
Évi 11849



Forrás:



Havi fogyasztás termelés alakulása

  Termelés alakulása (2023.02-10): Számértékek 2.hó 0.630 MWh 3.hó 1.013 MWh 4.hó 1.092 MWh 5.hó 1.274 MWh 6.hó 1.303 MWh 7.hó 1.3...