Ik had dus ook een tijdje problemen met het uitvallen van de ECU-R (oude firmware). Op de EMA site heb ik toen maar eens mijn configuratie gecorrigeerd omdat ik van een YC600 naar een QS1 ben overgestapt. Sinds dien werkt het weer stabiel. Blijkbaar is de invloed van buitenaf groter dan wenselijk.
ff een update van mijn kant.
De ECU-B stuurt naar m'n dns server (pi-hole) de vraag naar domein: 256.256.256.256, beetje raar dat ie een dns verzoek stuurt voor een niet bestaande ip te achterhalen... (NXDOMAIN)
hierdoor denkt de ecu dat ie geen cloud verbinding heeft en dus offline gaat. poort 8899 sluit dan.
dus ja, denk dat er iets niet goed zit in de ecu of er zit een fout in m'n netwerk zit, niet in de HA integratie
De ECU-B stuurt naar m'n dns server (pi-hole) de vraag naar domein: 256.256.256.256, beetje raar dat ie een dns verzoek stuurt voor een niet bestaande ip te achterhalen... (NXDOMAIN)
hierdoor denkt de ecu dat ie geen cloud verbinding heeft en dus offline gaat. poort 8899 sluit dan.
dus ja, denk dat er iets niet goed zit in de ecu of er zit een fout in m'n netwerk zit, niet in de HA integratie
[Voor 29% gewijzigd door geenwindows op 03-04-2022 14:52]
Fan van: Unraid. Pi-hole, PlexMediaServer, OPNsense. Meer een gluurder dan een reaguurder.
Heeft iemand hier al eens de WiFi veranderd van de ECU-R? Kan dat zonder een hardware reset?
-=[Terminator]=- R3doxNL Anahka#2910 Specs. 16x LONGi LR4-72HPH-455M (7280 Wp) Oost/West (-85°/95°,13°) op 8x APS DS3-L. ID.3 First Plus. Daikin 3MXM40A met CTXM15R, FTXM20R en FTXM35R.
lokale wifi hotspot activeren, dan via de EMA app (de ecu app zit hierin, de standalone ecu app wordt niet meer gebruikt) daarna kun je als je verbinding hebt met de ecu. kun je in de settings bij wlan de wifi aanpassen.Termy schreef op maandag 4 april 2022 @ 12:00:
Heeft iemand hier al eens de WiFi veranderd van de ECU-R? Kan dat zonder een hardware reset?
Fan van: Unraid. Pi-hole, PlexMediaServer, OPNsense. Meer een gluurder dan een reaguurder.
@geenwindows ah ok, die knop op de zijkant gewoon dus?
-=[Terminator]=- R3doxNL Anahka#2910 Specs. 16x LONGi LR4-72HPH-455M (7280 Wp) Oost/West (-85°/95°,13°) op 8x APS DS3-L. ID.3 First Plus. Daikin 3MXM40A met CTXM15R, FTXM20R en FTXM35R.
jup!Termy schreef op maandag 4 april 2022 @ 13:26:
@geenwindows ah ok, die knop op de zijkant gewoon dus?
Fan van: Unraid. Pi-hole, PlexMediaServer, OPNsense. Meer een gluurder dan een reaguurder.
Niet upgraden naar HA 2022.04. gedeelte werkt werkt niet meer!
het enige wat nu nog werkt:
- ECU Today Energy
- ECU Lifetime Energy
- ECU Current Power
- power channels van inverter
de rest is 'niet beschikbaar'...
het enige wat nu nog werkt:
- ECU Today Energy
- ECU Lifetime Energy
- ECU Current Power
- power channels van inverter
de rest is 'niet beschikbaar'...
Fan van: Unraid. Pi-hole, PlexMediaServer, OPNsense. Meer een gluurder dan een reaguurder.
@geenwindows Klopt inderdaad, deels opgelost: https://github.com/ksheum...-apsystems_ecur/issues/62 alleen de switch nog.
Edit: Switch.py en Binairy_sensor.py ook gefixed zie mijn repository voor aanwijzingen: https://github.com/HAEdwin/homeassistant-apsystems_ecur
Edit: Switch.py en Binairy_sensor.py ook gefixed zie mijn repository voor aanwijzingen: https://github.com/HAEdwin/homeassistant-apsystems_ecur
[Voor 37% gewijzigd door Nibblebit op 07-04-2022 23:13]
@Nibblebit Ik heb juist jou github files als basis gebruikt en daarmee is het bovenstaande doorgevoerd. Heb even de integratie verwijderd en krijg dan of "Can't connect to ECU, check log" of "[%key:common::config_flow::error::unknown%]" bij het ingeven van IP adres Wifi interface.
Vooralsnog is de laatste versie van de integratie echt alleen compatible met de oude ECU-R (versie zonder SunSpec logo op de achterkant) en ECU-B. Voor de ECU-R-Pro firmware (=ECU-R met SunSpec logo op de achterkant) ligt er nog een uitdaging om de integratie compatible te maken. Bovenstaande foutmeldingen hebben geen relatie met de nieuwe HA release van april.
[Voor 20% gewijzigd door Nibblebit op 09-04-2022 17:09]
@avanthof Vandaag druk geweest met een branch op mijn repo om de HTTP en TCP integraties in aparte modules te zetten. eerste testen op commandline zien er goed uit.
Als ik een volledige test heb gedaan op mijn eigen ECU setup, zal ik dat laten weten.
Uiteindelijk zou met deze versie zowel TCP en HTTP gebruikt kunnen worden.
NB: mijn repo is gebaseerd op de 1.1.2 versie van Kyle. Maar dit werkt tot nu toe prima.
Als ik een volledige test heb gedaan op mijn eigen ECU setup, zal ik dat laten weten.
Uiteindelijk zou met deze versie zowel TCP en HTTP gebruikt kunnen worden.
NB: mijn repo is gebaseerd op de 1.1.2 versie van Kyle. Maar dit werkt tot nu toe prima.
Krijg de logging zodra ik de ECUR weer toevoeg als integratie:Nibblebit schreef op zaterdag 9 april 2022 @ 17:07:
Vooralsnog is de laatste versie van de integratie echt alleen compatible met de oude ECU-R (versie zonder SunSpec logo op de achterkant) en ECU-B. Voor de ECU-R-Pro firmware (=ECU-R met SunSpec logo op de achterkant) ligt er nog een uitdaging om de integratie compatible te maken. Bovenstaande foutmeldingen hebben geen relatie met de nieuwe HA release van april.
Traceback (most recent call last):
File "/config/custom_components/apsystems_ecur/config_flow.py", line 45, in async_step_user
test_query = await self.hass.async_add_executor_job(ap_ecu.query_ecu)
File "/usr/local/lib/python3.9/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/apsystems_ecur/APSystemsSocket.py", line 158, in query_ecu
data = self.process_inverter_data()
File "/config/custom_components/apsystems_ecur/APSystemsSocket.py", line 287, in process_inverter_data
self.check_ecu_checksum(data, "Inverter data")
File "/config/custom_components/apsystems_ecur/APSystemsSocket.py", line 217, in check_ecu_checksum
raise APSystemsInvalidData(error)
Met de 1.2.12 versie van https://github.com/ksheumaker/homeassistant-apsystems_ecur gaat het al stukken beter met de compatibiliteit voor de ECU-R pro firmware en de ECU-C. Benieuwd wat de resultaten over langere periode zullen zijn.
@avanthof ik heb de integratie zoals deze nu draait op mijn HA als zipfile in mijn github gezet. Ik heb ooit v1.1.2 geforked van Kyle en aanpassingen gedaan. Alle aanpassingen die later zijn doorgevoerd door Kyle zitten hier niet in. Maar voor mij werkt het nu met mijn ecu-r-pro.
Ik ben wel bezig geweest om het op 1 of andere manier terug te mergen, maar dit kost veel tijd. Voorlopig draai ik dus deze code. Kijk maar even of deze wel wil werken op je systeem.
https://github.com/tv3/ho...b/main/apsystems_ecur.zip
Ik ben wel bezig geweest om het op 1 of andere manier terug te mergen, maar dit kost veel tijd. Voorlopig draai ik dus deze code. Kijk maar even of deze wel wil werken op je systeem.
https://github.com/tv3/ho...b/main/apsystems_ecur.zip
[Voor 0% gewijzigd door cmos6502 op 20-04-2022 21:29. Reden: grammer]
@cmos6502 Heb deze nogmaals geprobeerd, maar krijg ze niet meer toegevoegd. Als ik de integratie start, en IP opgeef, zie ik in vervolg scherm, de ecu-id en alle inverters (je kan ook area opgegeven). Hierna is alles unavailable. Krijg ook geen error meldingen in de home-assistant.log te zien.
@avanthof Check of de entities niet toevallig een ander id (tweede instantie) hebben gekregen. Het feit dat je de ECU ziet incl. inverters betekent dat het werkt, hierna volgt er alleen maar een herhaling van deze stappen. Omdat je ook zegt geen foutmeldingen te zien vermoed ik dat het dus aan het tonen van verkeerde entities ligt. v1.2.12 werkt voor de ECU-R pro en de ECU-C alleen de stabiliteit op de lange termijn moet zich nog bewijzen, als dat niet goed gaat kun je ook kiezen voor de oplossing van @cmos6502. Zou je 1.2.12 niet eens willen proberen cmos6502?
Overigens is tussentijds opnieuw opstarten van HA en/of echt de integratie settings en integratie verwijderen het dan opnieuw herinstalleren (met de nodige restarts tussendoor) aan te bevelen.
Overigens is tussentijds opnieuw opstarten van HA en/of echt de integratie settings en integratie verwijderen het dan opnieuw herinstalleren (met de nodige restarts tussendoor) aan te bevelen.
[Voor 14% gewijzigd door Nibblebit op 21-04-2022 07:31. Reden: Tip over herstarts]
@Nibblebit Al die stappen heb ik al gedaan. En de sensors worden juist niet weergegeven in de Developers Tools State overzicht.Ze worden initieel dus wel gezien maar niet aangemaakt.
Ik heb beide integratie geprobeerd inmiddels met 2022.4.x maar zonder resultaat.
Ik heb beide integratie geprobeerd inmiddels met 2022.4.x maar zonder resultaat.
Dat is vreemd, dus de integratie parameters kunnen initieel wel gewoon worden gezet en dan worden de inverters en ECU gevonden maar de entiteiten zijn niet zichtbaar voor selectie zoals hieronder? Er zijn anderen met ECU-R pro firmware waarbij het prima werkt. Heb je al geprobeerd om de integratie te verwijderen zodat de custom folder leeg is en wellicht de entiteiten ook wissen, dan herstarten en opnieuw installeren?
[Voor 34% gewijzigd door Nibblebit op 22-04-2022 12:17]
De integratie heb ik herhaaldelijk verwijderd en opnieuw toegevoegd. De entities worden ook opgeruimd ./storage/core.entity_registry.
Ik zie inderdaad nog iets raars bij het creëren van de entities ik zal een issue aanmaken op GitHub. Moeten ik of Kyle even verder uitzoeken
@avanthof Ik kan het nog niet reproduceren, een complete verwijdering en toevoeging van de integratie (met de nodige herstarts tussendoor) zorgen er niet voor dat de entiteiten wegblijven. Worden ze alleen niet weergegeven bij de developer tools? Zijn er meer mensen die hier last van hebben?
ik heb een scriptje op mijn synology draaien waarmee ik de opbrengst van mijn APS DS3 inverters naar PVoutput upload. werkt op zich wel OK. maar voor de huis domotica probeer ik de data van de DS3 via modbus sunspec over TCP uit te lezen. Op basis van modbus adres 10084 denk ik dat ik de "huidige" opbrengst in Watt kan uitlezen. Mijn vraag is alleen hoe vaak dit adress een update krijgt, het lijkt erop dat dit eens per 5 minuten is, kan dat kloppen?
dat kan wel kloppen, doen de andere ECU's van APS ook. Als je op internet zoekt naar het ZIGBEE protocol, dan kan het volgens mij sneller.
[Voor 43% gewijzigd door Dapdodo op 23-04-2022 16:12]
De waarden worden bij mij ook eens per 5 minuten geüpdatet, er is wel een service mode waarbij de waarden vaker worden geüpdatet, alleen werkt dit maar 30minuten. HiBe krijg jij ook de totaalwaarden van de DS3 omvormer, zou het graag per paneel willen zien.HiBe schreef op zaterdag 23 april 2022 @ 15:14:
ik heb een scriptje op mijn synology draaien waarmee ik de opbrengst van mijn APS DS3 inverters naar PVoutput upload. werkt op zich wel OK. maar voor de huis domotica probeer ik de data van de DS3 via modbus sunspec over TCP uit te lezen. Op basis van modbus adres 10084 denk ik dat ik de "huidige" opbrengst in Watt kan uitlezen. Mijn vraag is alleen hoe vaak dit adress een update krijgt, het lijkt erop dat dit eens per 5 minuten is, kan dat kloppen?
voor zover ik het nu kan zien krijg ik inderdaad de data per omvormer, en niet per paneel. best wel suf, aangezien er een MPPT per paneel is, zou het loggen per paneel ook geen moeilijke opgave moeten zijn.
Iemand hier enig idee hoe je een firmware update van de ECU-R kan forceren? Ik heb nu 4 verschillende installaties onder m'n installateursaccount en zie verschillende firmwares voor de verschillende ECU-R's. Ik dacht in 1e instantie dat m'n nieuwe set met DS3-L's later opstart vanwege die nieuwe omvormers (ook al zitten er 455 Wp panelen op, zelfde dimensionering als m'n vorige set met QS1's en 370 Wp panelen), maar bij de recentste set bij een buur die ook gebruik maakt van QS1's zie ik hetzelfde gedrag als bij mijn set (lang op 0 W terwijl de sets met oude ECU-R al direct beginnen en 20 W of zo aangeven).
Mijn vermoeden is dus dat dit aan de firmware van de ECU-R ligt, maar ik zie ook aan de installateurskant geen optie om een upgrade te doen. Ik denk nl dat de oude versie overrapporteert.
Mijn vermoeden is dus dat dit aan de firmware van de ECU-R ligt, maar ik zie ook aan de installateurskant geen optie om een upgrade te doen. Ik denk nl dat de oude versie overrapporteert.
-=[Terminator]=- R3doxNL Anahka#2910 Specs. 16x LONGi LR4-72HPH-455M (7280 Wp) Oost/West (-85°/95°,13°) op 8x APS DS3-L. ID.3 First Plus. Daikin 3MXM40A met CTXM15R, FTXM20R en FTXM35R.
is het mogelijk om de cloud verbinding te verbreken van de ECU-R, en nog steeds lokaal de unit te bevragen? hoe zet ik de cloud verbinding dan uit?
Ik zie weinig toegevoegde waarde in de cloud, maar krijg wel het gevoel dat het niet heel professioneel is en daarom gevoelig voor hackers e.d.
Ik zie weinig toegevoegde waarde in de cloud, maar krijg wel het gevoel dat het niet heel professioneel is en daarom gevoelig voor hackers e.d.
@Termy Mijn ECU-C had een maand geleden ook oude firmware (C1.1.9) na een mailtje met APS werd mij geadviseerd de ECU een uur uit te zetten en weer aan te zetten zodat de firmware gepushed zou worden.
mail:
Uiteindelijk hebben de service mannen van APS het handmatig gedaan.
Helaas heb ik nog steeds mijn bedenkingen of het goed werk (nog geen omvormers aangesloten, alleen de ECU-C aangesloten en de serienummers gesynced) Maar de laatste communicatie met de website is nog steeds 04-04-2022.
@HiBe Ik denk niet dat dat met een ECU-R gaat. deze heeft geen lokale interface.
zie flyer:
https://emea.apsystems.co...ems_flyer_ECU_2021_NL.pdf
mail:
Dit had ik dus een heel weekend gedaan, maar de firmware werd niet geupdate.Beste *****,
Bedankt dat u contact heeft opgenomen met de technische ondersteuning van APsystems.
Koppel de ECU voedingskabel elk uur los en sluit deze opnieuw aan om de ECU automatisch te upgraden naar de nieuwste firmware.
Uiteindelijk hebben de service mannen van APS het handmatig gedaan.
Helaas heb ik nog steeds mijn bedenkingen of het goed werk (nog geen omvormers aangesloten, alleen de ECU-C aangesloten en de serienummers gesynced) Maar de laatste communicatie met de website is nog steeds 04-04-2022.
@HiBe Ik denk niet dat dat met een ECU-R gaat. deze heeft geen lokale interface.
zie flyer:
https://emea.apsystems.co...ems_flyer_ECU_2021_NL.pdf
zolang geen omvormers aangesloten, gaat er niks communicerenGratje schreef op maandag 25 april 2022 @ 17:07:
@Termy Mijn ECU-C had een maand geleden ook oude firmware (C1.1.9) na een mailtje met APS werd mij geadviseerd de ECU een uur uit te zetten en weer aan te zetten zodat de firmware gepushed zou worden.
mail:
[...]
Dit had ik dus een heel weekend gedaan, maar de firmware werd niet geupdate.
Uiteindelijk hebben de service mannen van APS het handmatig gedaan.
Helaas heb ik nog steeds mijn bedenkingen of het goed werk (nog geen omvormers aangesloten, alleen de ECU-C aangesloten en de serienummers gesynced) Maar de laatste communicatie met de website is nog steeds 04-04-2022.
@HiBe Ik denk niet dat dat met een ECU-R gaat. deze heeft geen lokale interface.
zie flyer:
https://emea.apsystems.co...ems_flyer_ECU_2021_NL.pdf
@Dapdodo dat had ik al verwacht ja, maar vind het wel stom. Want updaten gaat dus ook niet als je niets hebt aangesloten.
Helaas moet ik nog een week wachten op mijn PV panelen
Dus volgende week kan ik ook mee gaan testen met een ECU-C
Helaas moet ik nog een week wachten op mijn PV panelen

Dus volgende week kan ik ook mee gaan testen met een ECU-C

Dat is dus niet helemaal correct. de ECU-R is te benaderen via bijv. http://IP_ADDRESS/index.php/realtimedata (gebruik ik voor mijn scriptje om PVoutput mee te vullen) en ook via modbus TCP (gebruik ik voor mijn domotica om de visualisatie weer te geven).Gratje schreef op maandag 25 april 2022 @ 17:07:
@Termy Mijn ECU-C had een maand geleden ook oude firmware (C1.1.9) na een mailtje met APS werd mij geadviseerd de ECU een uur uit te zetten en weer aan te zetten zodat de firmware gepushed zou worden.
mail:
[...]
@HiBe Ik denk niet dat dat met een ECU-R gaat. deze heeft geen lokale interface.
zie flyer:
https://emea.apsystems.co...ems_flyer_ECU_2021_NL.pdf
@HiBe daarom zeg ik ook: ik DENK
Je kan natuurlijk proberen het internet toegang te blokkeren via je Router.
Doe ik ook voor mijn HW P1 meter. werkt lokaal nog prima. maar kan geen data meer over het internet sturen.

Doe ik ook voor mijn HW P1 meter. werkt lokaal nog prima. maar kan geen data meer over het internet sturen.
thanks!!!HiBe schreef op maandag 25 april 2022 @ 17:36:
[...]
Dat is dus niet helemaal correct. de ECU-R is te benaderen via bijv. http://IP_ADDRESS/index.php/realtimedata (gebruik ik voor mijn scriptje om PVoutput mee te vullen) en ook via modbus TCP (gebruik ik voor mijn domotica om de visualisatie weer te geven).
@Gratje Die ECU-Rs staan bij de verschillende buren dus dat is niet een heel handige methode
. Ik ga APS maar gewoon mailen en de situatie voorleggen. Ben ook wel benieuwd wat ze te zeggen hebben over de verschillende gedragingen met zelfde omvormers en panelen.

-=[Terminator]=- R3doxNL Anahka#2910 Specs. 16x LONGi LR4-72HPH-455M (7280 Wp) Oost/West (-85°/95°,13°) op 8x APS DS3-L. ID.3 First Plus. Daikin 3MXM40A met CTXM15R, FTXM20R en FTXM35R.
Heb je dan iets speciaals gedaan? Ik kan mijn ECU-R helemaal niet benaderen op poort 80 of 443HiBe schreef op maandag 25 april 2022 @ 17:36:
[...]
Dat is dus niet helemaal correct. de ECU-R is te benaderen via bijv. http://IP_ADDRESS/index.php/realtimedata (gebruik ik voor mijn scriptje om PVoutput mee te vullen) en ook via modbus TCP (gebruik ik voor mijn domotica om de visualisatie weer te geven).
ik heb niets bijzonders gedaan. anders dan de ECU-R aan de lokale Wifi gehangen een via DHCP een adress toegewezen.jerh schreef op maandag 25 april 2022 @ 19:52:
[...]
Heb je dan iets speciaals gedaan? Ik kan mijn ECU-R helemaal niet benaderen op poort 80 of 443
Dat zal het dan zijn, hij hangt hier aan de lan interface. Geen wifi dekking op de plek waar hij hangt. Dat moet ik dan maar eens gaan fixen.HiBe schreef op maandag 25 april 2022 @ 20:10:
[...]
ik heb niets bijzonders gedaan. anders dan de ECU-R aan de lokale Wifi gehangen een via DHCP een adress toegewezen.
misschien kun je de lokal AP op de ECU-R een keer aanzetten en kijken of je die via een laptop kan benaderen en dan deze pagina in een browser opvragen.
@jerh wifi verbinding of de AP van de ECU is wel een vereiste.
@HiBe
Wel leuk trouwens om te zien dat de “website” links van de ECU-C exact hetzelfde zijn. Alleen ik krijg er nog een mooie GUI bij als ik de link in type in de browser. Of heeft de ECU-R deze ook gewoon?
En ben ook wel benieuwd naar je script. Wil straks ook via PVoutput gaan loggen. Omdat er ook nog een SMA omvormer bij komt. Dus alle totalen mooi op 1 plek samenvoegen op PVoutput.
@HiBe
Wel leuk trouwens om te zien dat de “website” links van de ECU-C exact hetzelfde zijn. Alleen ik krijg er nog een mooie GUI bij als ik de link in type in de browser. Of heeft de ECU-R deze ook gewoon?
En ben ook wel benieuwd naar je script. Wil straks ook via PVoutput gaan loggen. Omdat er ook nog een SMA omvormer bij komt. Dus alle totalen mooi op 1 plek samenvoegen op PVoutput.
[Voor 42% gewijzigd door Gratje op 25-04-2022 20:38]
De modbus oplossing, gebruik je die met HA en ESPopen?HiBe schreef op maandag 25 april 2022 @ 17:36:
[...]
Dat is dus niet helemaal correct. de ECU-R is te benaderen via bijv. http://IP_ADDRESS/index.php/realtimedata (gebruik ik voor mijn scriptje om PVoutput mee te vullen) en ook via modbus TCP (gebruik ik voor mijn domotica om de visualisatie weer te geven).
ik heb een domotica systeem van Loxone.grotegok schreef op maandag 25 april 2022 @ 22:02:
[...]
De modbus oplossing, gebruik je die met HA en ESPopen?
ziet er hetzelfde uit (zonder de advanced functies).Gratje schreef op maandag 25 april 2022 @ 20:30:
Wel leuk trouwens om te zien dat de “website” links van de ECU-C exact hetzelfde zijn. Alleen ik krijg er nog een mooie GUI bij als ik de link in type in de browser. Of heeft de ECU-R deze ook gewoon?
ik heb het volgende script een beetje aangepast zodat het werkte met de kolommen van mijn ECU-R HTML output: https://github.com/daanvd...blob/main/ecu2pvoutput.pyEn ben ook wel benieuwd naar je script. Wil straks ook via PVoutput gaan loggen. Omdat er ook nog een SMA omvormer bij komt. Dus alle totalen mooi op 1 plek samenvoegen op PVoutput.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| #!/usr/bin/python3 #Load required modules from bs4 import BeautifulSoup import requests import urllib.request from lxml.html import fromstring import re import csv import pandas as pd from datetime import datetime from statistics import mean #ONLY CHANGE THESE VALUES url = "http://<YOUR LOCAL IP>/index.php/realtimedata" APIID = "<YOUR PVoutput API key>" SYSTEMID = "<YOUR PVoutput SystemID>" #PVOUTPUT API URL = "https://pvoutput.org/service/r1/addstatus.jsp" #Basic Vars page = requests.get(url) soup = BeautifulSoup(page.text,features="lxml") table = soup.find_all('table')[0] tmp = table.find_all('tr') # fix_rowspan first = tmp[0] allRows = tmp[1:len(tmp)] headers = [header.get_text() for header in first.find_all('th')] results = [[data.get_text() for data in row.find_all('td')] for row in allRows] rowspan = [] for no, tr in enumerate(allRows): tmp = [] for td_no, data in enumerate(tr.find_all('td')): if data.has_attr("rowspan"): rowspan.append((no, td_no, int(data["rowspan"]), data.get_text())) if rowspan: for i in rowspan: # tr value of rowspan in present in 1th place in results for j in range(1, i[2]): #- Add value in next tr. results[i[0]+j].insert(i[1], i[3]) #Looping through the table res1 = [] res3 = [] res4 = [] res5 = [] for result in results: print("Inverter ID: {}".format(result[0].replace(" ",""))) for i in result[1].split(): if i.isdigit(): res1.append(int(i)) print("(Filtered) Current Power: {}".format(i)) print("Grid Frequency: {}".format(result[5].replace(" ",""))) for voltage in result[4].split(): if voltage.isdigit(): res3.append(int(voltage)) print("(Filtered) Voltage: {}".format(voltage)) for temp in result[5].split(): if temp.isdigit(): res4.append(int(temp)) print("(Filtered) Temp: {}".format(temp)) datum = format(result[6]).strip().replace("\n","") date_time_obj = datetime.strptime(datum, '%Y-%m-%d %H:%M:%S') date = date_time_obj.strftime("%Y%m%d") time = date_time_obj.strftime("%H:%M") print("Date: {}".format(date)) print("Time: {}".format(time)) print("\n") #Combine results avgtemp = mean(res4) avgvoltage = mean(res3) totalpower = format(sum(res1)) avaragetemp = round(avgtemp) avaragevoltage = round(avgvoltage) #Print it! print("Summary:") print("Date:",date) print("Time:",time) print("Total power:",totalpower) print("Avarage inverter temp:",avaragetemp) print("Average inverter voltage:",avaragevoltage) ##Pushing to PVOUTPUT gegevens = {'sid':SYSTEMID,'key':APIID,'d':date,'t':time,'v2':totalpower,'v5':avgtemp,'v6':avaragevoltage} r = requests.get(URL,params=gegevens) #DEBUG #print(r.content) |
vervolgens een task op de synology aangemaakt die tussen 5 uur 's ochtends en 11 uur 's avonds elke 5 minuten dit script draait.
met het volgende resultaat.
@HiBe ik heb de interne pages gescraped tbv de Home assistant integratie. Wellicht vind je daar nog wat meer inspiratie. Een aantal gegevens wordt via restcalls opgehaald. De inverter data moet je scrapen.
https://github.com/tv3/ho...ems_ecur/APSystemsHTTP.py
https://github.com/tv3/ho...ems_ecur/APSystemsHTTP.py
[~HiBe] zou jij jou scriptjes hier kunnen delen? Ik gebruik zelf Domoticz en ben nog op zoek naar een manier om de data van de DS3 omvormers te importeren.
[Voor 4% gewijzigd door Piacco78 op 27-04-2022 08:41]
Thnx . gaan we tzt een keer naar kijken, vooral de restcalls zien er wel handig uit.cmos6502 schreef op dinsdag 26 april 2022 @ 14:57:
@HiBe ik heb de interne pages gescraped tbv de Home assistant integratie. Wellicht vind je daar nog wat meer inspiratie. Een aantal gegevens wordt via restcalls opgehaald. De inverter data moet je scrapen.
https://github.com/tv3/ho...ems_ecur/APSystemsHTTP.py
Hier is een ECU-C geïnstalleerd, stroomspoelen volgen nog. Iemand al eens ontdekt hoe je de 3F netspanning van de ECU-C kunt uitlezen? Of de gemeten stromen.
Als het goed is, kan je die in de interne webinterface terugvinden.
Zie https://github.com/tv3/ho...in/files/realtimedata.png
Zie https://github.com/tv3/ho...in/files/realtimedata.png
[Voor 40% gewijzigd door cmos6502 op 06-05-2022 15:05. Reden: URL met]
Klopt, dat zijn de voltages welke de micro-omvormers meten op het net. De ECU-C heeft zelf ook een spanningsmeting, deze zou ik graag willen uitlezen. De micro-omvormers gaan 's nachts immers offline.cmos6502 schreef op vrijdag 6 mei 2022 @ 15:01:
Als het goed is, kan je die in de interne webinterface terugvinden.
Zie https://github.com/tv3/ho...in/files/realtimedata.png
@Henry_ Ik denk dat jij een ECU model en firmware hebt, welke geen interne webpage heeft. Mijn model heeft ECU_R_PRO firmware. Je kan gebruik maken van de integratie van Kyle.
https://github.com/ksheumaker/homeassistant-apsystems_ecur
https://github.com/ksheumaker/homeassistant-apsystems_ecur
Het is inderdaad al een wat oudere unit (12-2019).cmos6502 schreef op zondag 8 mei 2022 @ 21:15:
@Henry_ Ik denk dat jij een ECU model en firmware hebt, welke geen interne webpage heeft. Mijn model heeft ECU_R_PRO firmware. Je kan gebruik maken van de integratie van Kyle.
https://github.com/ksheumaker/homeassistant-apsystems_ecur
Ik heb de integratie van Kyle in HomeAssistant toegevoegd en kan daar inderdaad de statistieken in volgen, thanks!.
Gisteren eindelijk mijn panelen ontvangen en op het dak gelegd.
Vandaag de communicatie met mijn ECU-C aan de gang gekregen en zonder enige problemen aan Home Assistant kunnen koppelen met v1.2.13
Gewoon IP adres ingevuld en gaan met die banaan!
Super gemaakt!
Ik draai nu firmware C1.2.1 op een ECU-C met sunspec logo. En werk met zowel het WiFi als het Ethernet IP adres.
ps. Is het ook mogelijk om de DC voltage erin te krijgen?
Vandaag de communicatie met mijn ECU-C aan de gang gekregen en zonder enige problemen aan Home Assistant kunnen koppelen met v1.2.13
Gewoon IP adres ingevuld en gaan met die banaan!
Super gemaakt!
Ik draai nu firmware C1.2.1 op een ECU-C met sunspec logo. En werk met zowel het WiFi als het Ethernet IP adres.
ps. Is het ook mogelijk om de DC voltage erin te krijgen?
[Voor 14% gewijzigd door Gratje op 15-05-2022 13:23]
Heeft iemand deze al eens geprobeerd? https://github.com/ksheum...5#issuecomment-1128781446 Hernoemen van APSystemsSocket.py is makkelijk voor de terug rol. Vergeet niet HA te restarten.
Er wordt nu nog veel weggeschreven naar het log maar bij mij met oudere ECU-R zonder sunspec logo is het zo stabiel dat ik de logging weg laat. Het was meer om inzicht te krijgen in het aantal timeouts en op welk deel van het proces deze voornamelijk plaatsvinden. Mijn interval staat op 1 minuut en uitval voor het uitlezen is er alleen tussen 02:45 en 03:05 (onderhoud tussen de ECU en EMA site). Om er toch een beetje zicht op te hebben heb ik Secondary Information toegevoegd aan de entity weergave. Ik ben benieuwd naar jullie ervaringen met de code hierboven, neemt het aantal timeouts af?
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/bc5hFVESJu45oHB616ldkZfD.jpg?f=user_large)
Er wordt nu nog veel weggeschreven naar het log maar bij mij met oudere ECU-R zonder sunspec logo is het zo stabiel dat ik de logging weg laat. Het was meer om inzicht te krijgen in het aantal timeouts en op welk deel van het proces deze voornamelijk plaatsvinden. Mijn interval staat op 1 minuut en uitval voor het uitlezen is er alleen tussen 02:45 en 03:05 (onderhoud tussen de ECU en EMA site). Om er toch een beetje zicht op te hebben heb ik Secondary Information toegevoegd aan de entity weergave. Ik ben benieuwd naar jullie ervaringen met de code hierboven, neemt het aantal timeouts af?
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/bc5hFVESJu45oHB616ldkZfD.jpg?f=user_large)
[Voor 3% gewijzigd door Nibblebit op 19-05-2022 09:02]
Iemand hier enig idee hoe je een ECU-R weer unlinkt van een account? M'n buur heeft al zelf zitten prutsen met z'n ECU-R en nu kan ik het niet meer zomaar in mijn installateursaccount opnemen. Ik kreeg iig destijds zelf steeds de melding dat de ECU-R al gelinkt was toen ik zelf al een DIY account had gemaakt en het later in een installateursaccount wilde krijgen.
Je zou toch zeggen dat als je een 2e hands ECU-R of zo koopt dat je die weer moet kunnen losmaken van een account waar je al dan niet toegang tot hebt?
Je zou toch zeggen dat als je een 2e hands ECU-R of zo koopt dat je die weer moet kunnen losmaken van een account waar je al dan niet toegang tot hebt?
-=[Terminator]=- R3doxNL Anahka#2910 Specs. 16x LONGi LR4-72HPH-455M (7280 Wp) Oost/West (-85°/95°,13°) op 8x APS DS3-L. ID.3 First Plus. Daikin 3MXM40A met CTXM15R, FTXM20R en FTXM35R.
@Termy redelijk off topic, maar vraag eerst bij EMEA support. Mijn ervaring is dat je snel een reactie krijgt.
Gasloos huis 9kW Panasonic WH-MDC09J3E5 | Atlantic Explorer V4 270L | todo: SMA 3 fasen + APS micro's
Ja, excuus, maar ik dacht hier in een topic met ECU-R gebruikers de grootste kans te maken. Het bleek gelukkig ook vals alarm want hij had wel de ECU-R aan z'n wifi gehangen maar verder niks dus kon het makkelijk opzetten in m'n installateursaccount.timovd schreef op woensdag 25 mei 2022 @ 12:22:
@Termy redelijk off topic, maar vraag eerst bij EMEA support. Mijn ervaring is dat je snel een reactie krijgt.
Overigens viel wel of dat de monitoring nu al per direct werkte nadat ik het opgezet had. Dat heb ik nog niet eerder meegemaakt dus mogelijk dat hij al eerder verbonden was ervoor gezorgd heeft dat alles al in de backend opgezet was en het alleen nog op koppeling met de omvormers zat te wachten..?
Het is alweer even geleden dat ik de oplossing die hier besproken wordt bekeken heb. Werkt dit nu volledig parallel aan EMA of is het een kwestie van of of?
-=[Terminator]=- R3doxNL Anahka#2910 Specs. 16x LONGi LR4-72HPH-455M (7280 Wp) Oost/West (-85°/95°,13°) op 8x APS DS3-L. ID.3 First Plus. Daikin 3MXM40A met CTXM15R, FTXM20R en FTXM35R.
@Termy ik kan zowel in de app monitoren als in Home Assistant
Gasloos huis 9kW Panasonic WH-MDC09J3E5 | Atlantic Explorer V4 270L | todo: SMA 3 fasen + APS micro's
Het werkt volledig parallel aan EMA maar resultaten verschillen per ECU model. ECU-R's met beginnend met ECU ID 2162 zijn SunSpec compatible om uit te lezen (geen idee of dat iemand al succesvol is gelukt icm HA). De integratie is vooralsnog 100% compatible met de ECU-R (2160xxxxxx) en de ECU-B, voor de overige incl. de ECU-C zijn de resultaten nog wisselend.Het is alweer even geleden dat ik de oplossing die hier besproken wordt bekeken heb. Werkt dit nu volledig parallel aan EMA of is het een kwestie van of of?
Vooralsnog ontbreekt het aan een Python specialist die ook een ander model ECU heeft dan de ECU-R (2160xxxxxx)
Ik heb wel eens gekeken naar de proxy mogelijkheden (het verkeer naar EMA onderscheppen en gebruiken in HA en vervolgens doorsturen naar EMA) maar niet iedereen zal dit kunnen "installeren". Bovendien zouden er tussentijds wijzigingen kunnen zijn aangebracht in de firmware van de ECU's waarop lastig te anticiperen is omdat APSystems vooralsnog geen releasenotes mee geeft (wat natuurlijk heel vreemd is).
Ah ja, ik zie dat verschil nu idd. Van de 5 systemen in m'n installateursaccount zijn er 2 2160 en 3 2162.
Ook 2 andere firmwareversies:
R1.2.21B2 (2160)
R2.0.6A (2162)
Wat verder opvalt is dat de 2162 0 W rapporteert aan't begin en eind van de dag terwijl de 2160 als ie rapporteert altijd meer dan 0 W rapporteert, wat niet geloofwaardig is. Bv midden op de dag bij zware regen valt de 2162 terug naar 0 terwijl de 2160 dan nog 20 W of zo aangeeft ondanks zelfde oriëntatie op hetzelfde (gedeelde) dak. M'n slimme meter is het ook eens met de 2162, niet de 2160.
Ook 2 andere firmwareversies:
R1.2.21B2 (2160)
R2.0.6A (2162)
Wat verder opvalt is dat de 2162 0 W rapporteert aan't begin en eind van de dag terwijl de 2160 als ie rapporteert altijd meer dan 0 W rapporteert, wat niet geloofwaardig is. Bv midden op de dag bij zware regen valt de 2162 terug naar 0 terwijl de 2160 dan nog 20 W of zo aangeeft ondanks zelfde oriëntatie op hetzelfde (gedeelde) dak. M'n slimme meter is het ook eens met de 2162, niet de 2160.
-=[Terminator]=- R3doxNL Anahka#2910 Specs. 16x LONGi LR4-72HPH-455M (7280 Wp) Oost/West (-85°/95°,13°) op 8x APS DS3-L. ID.3 First Plus. Daikin 3MXM40A met CTXM15R, FTXM20R en FTXM35R.
@Nibblebit Ik heb een ECU model beginnend met ECU ID 2162. De Sunspec integratie werkt, maar na 30 seconden stopt het uitlezen. Na herladen werkt het weer voor 30 seconden. Ik gebruik https://github.com/cjne/ha-sunspec
[Voor 11% gewijzigd door sideriusj op 28-05-2022 11:28]
Bij mij werkt het uitlezen stabiel, alleen wel bugs (waardes) die anderen met DS3 ook ervaren, zie github.sideriusj schreef op zaterdag 28 mei 2022 @ 10:50:
@Nibblebit Ik heb een ECU model beginnend met ECU ID 2162. De Sunspec integratie werkt, maar na 30 seconden stopt het uitlezen. Na herladen werkt het weer voor 30 seconden. Ik gebruik https://github.com/cjne/ha-sunspec
Ik was een tijdje geleden ook begonnen aan een php functie om mijn ecu-r uit te lezen. Die van mij is vast verbonden (dus niet via WiFi) en ik kan via http://[ecu ip address]/index.php/realtimedata zonder problemen inzien.
Onderhand heb ik al iets anders in gebruik waarmee ik de ecu niet meer nodig heb maar om het script weg te gooien vond ik wat zonde. Dit topic leek mij een goede plek om het in te zetten mocht iemand er iets mee willen doen.
Onderhand heb ik al iets anders in gebruik waarmee ik de ecu niet meer nodig heb maar om het script weg te gooien vond ik wat zonde. Dit topic leek mij een goede plek om het in te zetten mocht iemand er iets mee willen doen.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
| <?php $url="http://[ecu ip address]/index.php/realtimedata"; $data=GetData($url); var_dump($data); function GetData($url) { $htmlContent = file_get_contents($url); $DOM = new DOMDocument(); libxml_use_internal_errors(true); $DOM->loadHTML($htmlContent); $Header = $DOM->getElementsByTagName('th'); $Detail = $DOM->getElementsByTagName('td'); foreach($Header as $NodeHeader) $aDataTableHeaderHTML[] = trim($NodeHeader->textContent); foreach($Detail as $NodeDetail) $aDataTableDetailHTML[] = trim($NodeDetail->textContent); reset($aDataTableDetailHTML); while ($aPointer=current($aDataTableDetailHTML)) { if (preg_match('/^([0-9]{12}-1)$/', $aPointer)) { $inverterId=$aPointer; $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]+ W)$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[1]]=$aPointer; $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]+ V)$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[2]]=$aPointer; $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]+\.[0-9]{1} Hz)$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[3]]=$aPointer; $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]+ V)$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[4]]=$aPointer; $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]+ °C)$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[5]]=$aPointer; $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2})$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[6]]=$aPointer; } elseif (preg_match('/^([0-9]{12}-2)$/', $aPointer)) { $inverterId=$aPointer; $inverterIdParent=preg_replace('/(-2)$/', '-1', $inverterId); $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]+ W)$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[1]]=$aPointer; $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]+ V)$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[2]]=$aPointer; if (!empty($inverterData[$inverterIdParent][$aDataTableHeaderHTML[3]])) $inverterData[$inverterId][$aDataTableHeaderHTML[3]]=$inverterData[$inverterIdParent][$aDataTableHeaderHTML[3]]; $aPointer=next($aDataTableDetailHTML); if (preg_match('/^([0-9]+ V)$/', $aPointer)) $inverterData[$inverterId][$aDataTableHeaderHTML[4]]=$aPointer; if (!empty($inverterData[$inverterIdParent][$aDataTableHeaderHTML[5]])) $inverterData[$inverterId][$aDataTableHeaderHTML[5]]=$inverterData[$inverterIdParent][$aDataTableHeaderHTML[5]]; if (!empty($inverterData[$inverterIdParent][$aDataTableHeaderHTML[6]])) $inverterData[$inverterId][$aDataTableHeaderHTML[6]]=$inverterData[$inverterIdParent][$aDataTableHeaderHTML[6]]; } $aPointer=next($aDataTableDetailHTML); } return $inverterData; } ?> |
Duct tape can't fix stupid, but it can muffle the sound.
@DukeBox wat gebruik je nu dan? Kan die ook alle data inzien van de omvormer zoals temperatuur, vermogen per kanaal en spanning, etc?
-=[Terminator]=- R3doxNL Anahka#2910 Specs. 16x LONGi LR4-72HPH-455M (7280 Wp) Oost/West (-85°/95°,13°) op 8x APS DS3-L. ID.3 First Plus. Daikin 3MXM40A met CTXM15R, FTXM20R en FTXM35R.
Ik gebruik nu een ECU-3Z en die lees ik uit via RS232.
Duct tape can't fix stupid, but it can muffle the sound.
Wat is de ECU-3 dan precies? Ook een zigbee device, maar dan enkel 3 fase? Wat zou dat voor toegevoegde waarde hebben dan een ECU-R-PRO?
Hallo allemaal, hebben meer mensen problemen met dat het na een paar dagen geen verbinding meer kan maken? Mijn firmware is ECU_R_PRO_2.0.6A. Laatste keer gebeurde het na 5 dagen. Alles draait op de laatste versie, en de app en ip/index.php/realtimedata doet het ook. Na aan/uit zetten doet ie het weer.
Enige tips of ideeën hoor ik graag.
Enige tips of ideeën hoor ik graag.
AMD R7 5800x - ASUS TUF 3080 - 64GB 3400Mhz CL15 - Samsung Odessey G9 - Oneplus 8 Pro
Klopt dat heb ik ook al een tijdje last van. Is echt niet mee te werken. Bij mij na 3 dagen of zo (ECU-R-Pro 2.0.6a).
De voorganger van de ECU-R en er draait een aangepaste (developer) firmware op. Ik had gehoopt hiermee het zigbee protocol te kunnen ontsleutelen maar dat is niet zo makkelijk, wat wel kan is alle waardes dumpen middels RS232 als deze in debug staat.avanthof schreef op vrijdag 17 juni 2022 @ 18:07:
Wat is de ECU-3 dan precies?
Het 3 fase model van de ECU-R is anders, die doet geen zigbee, ik heb deze: https://usa.apsystems.com...on_UserManual-8.27.16.pdf
[Voor 19% gewijzigd door DukeBox op 25-06-2022 10:32]
Duct tape can't fix stupid, but it can muffle the sound.
Er is op internet iemand die middels Zigbee de inverters heeft weten te hacken, maar je moet er behoorlijk wat voor doen. Je zou deze dan aan een deconz conbee kunnen koppelen bijvoorbeeld. Maar net als een alarm systeem wil je liever geen totale integratie hebben, maar dat alles doordraait als home assistant ook uitgevallen is en uitleesbaar. Maar dan moet wel de firmware stabieler worden om deze middels HTTP of TCP, 8899 uit te lezen.
@DukeBox Hoe werkt deze utility voor jou? Krijg je er de juiste waarden uit met de ECU-3? https://github.com/HAEdwi...in/ECU%20Reader%20v13.exe
[Voor 131% gewijzigd door Nibblebit op 25-06-2022 09:31]
Waar moet ik een COM poort instellen ?
Duct tape can't fix stupid, but it can muffle the sound.
Niet, is een TCP tool. Ff je ECU ip nummer vullen. (wifi of ETH)
Maar ik lees hem niet uit via ethernet.dooiedodo schreef op maandag 27 juni 2022 @ 13:19:
Niet, is een TCP tool. Ff je ECU ip nummer vullen. (wifi of ETH)
Duct tape can't fix stupid, but it can muffle the sound.
helemaal niet aan het netwerk hangen dan? tis gewoon nieuwsgierigheid of het werkt over TCP
Nee, niet met een standaard interface, alleen command line toegang.dooiedodo schreef op maandag 27 juni 2022 @ 17:40:
[...]
helemaal niet aan het netwerk hangen dan? tis gewoon nieuwsgierigheid of het werkt over TCP
Duct tape can't fix stupid, but it can muffle the sound.
Termy schreef op vrijdag 17 juni 2022 @ 17:28:
@DukeBox wat gebruik je nu dan? Kan die ook alle data inzien van de omvormer zoals temperatuur, vermogen per kanaal en spanning, etc?
When you do things right, people won't be sure you've done anything at all.
Is er iemand al zo ver gekomen om via een Esp32 de modbus van de ECU-C uit te lezen?
Wil het graag stabiel hebben in Home assistant. Maar de sunspec modbus integratie werkt niet goed.
En de andere integraties lopen na een paar dagen vast of geven niet alles weer.
Deze intergratie werkt voor mij op het moment het beste maar de omvormers zelf geven nagenoeg nooit data door.
https://github.com/tv3/homeassistant-apsystems_ecur
Dus ik wil hem op de modbus uitlezen. Maar er staan nergens voorbeelden van iemand die het al gemaakt heeft.
Dus ik dacht ik vraag het hier gewoon
Wil het graag stabiel hebben in Home assistant. Maar de sunspec modbus integratie werkt niet goed.
En de andere integraties lopen na een paar dagen vast of geven niet alles weer.
Deze intergratie werkt voor mij op het moment het beste maar de omvormers zelf geven nagenoeg nooit data door.
https://github.com/tv3/homeassistant-apsystems_ecur
Dus ik wil hem op de modbus uitlezen. Maar er staan nergens voorbeelden van iemand die het al gemaakt heeft.
Dus ik dacht ik vraag het hier gewoon
Heb je het al eens langer laten draaien? Kans dat je pas weer na 5 minuten een update krijgt omdat de inverters toch maar eens in de 5 minuten updates sturen.sideriusj schreef op zaterdag 28 mei 2022 @ 10:50:
@Nibblebit Ik heb een ECU model beginnend met ECU ID 2162. De Sunspec integratie werkt, maar na 30 seconden stopt het uitlezen. Na herladen werkt het weer voor 30 seconden. Ik gebruik https://github.com/cjne/ha-sunspec
Ik krijg bij alle entiteiten
Never mind, Hij werkt blijkbaar weer?
Is dit een bekend probleem bij het updaten naar de laatste HA versie?Niet beschikbaar
Never mind, Hij werkt blijkbaar weer?

[Voor 13% gewijzigd door Rvde op 17-07-2022 22:29]
Zet de interval even terug naar 5-10s. Bij mij werkte het toen wel. Maar legt behoorlijk wat performance op mijn R3B met HA.Nibblebit schreef op zaterdag 9 juli 2022 @ 16:15:
[...]
Heb je het al eens langer laten draaien? Kans dat je pas weer na 5 minuten een update krijgt omdat de inverters toch maar eens in de 5 minuten updates sturen.
Interval naar 5-10 werkt bij mij ook niet. Meestal kan ik niet eens connecten als ik hem wil toevoegen.avanthof schreef op donderdag 21 juli 2022 @ 18:42:
[...]
Zet de interval even terug naar 5-10s. Bij mij werkte het toen wel. Maar legt behoorlijk wat performance op mijn R3B met HA.
En als het dan wel lukt net als vele andere 1 keer een waarde, daarna alles naar unavailable.
Nog steeds niemand gevonden die hem via de RS485 en ESP32 uitgelezen heeft helaas.
Oh, de query interval kan niet te hoog zijn hoor... in ieder geval niet hoger dan de som van de timeout settings in de Python code (even snel uit mijn hoofd 35 seconden = 3x10 sec ECU bevragen + 1x5 sec pauze). De effecten heb ik niet nader bekeken. Er zou wel mee kunnen worden gespeeld om te kijken wat de beste resultaten zijn. Ik heb het dan over de parameters self.timeout = 10 en self.socket_sleep_time = 5
[Voor 5% gewijzigd door Nibblebit op 30-07-2022 21:27]
Leuk, deze pagina heb ik ook op mijn ECU-R en het is me zonder enige ervaing pet python whatsoever gelukt om de data met mn windows pc'tje met task scheduler op pvoutput te krijgenHiBe schreef op dinsdag 26 april 2022 @ 09:38:
[...]
ziet er hetzelfde uit (zonder de advanced functies).
[Afbeelding]
[...]
ik heb het volgende script een beetje aangepast zodat het werkte met de kolommen van mijn ECU-R HTML output: https://github.com/daanvd...blob/main/ecu2pvoutput.py
vervolgens een task op de synology aangemaakt die tussen 5 uur 's ochtends en 11 uur 's avonds elke 5 minuten dit script draait.
met het volgende resultaat.
[Afbeelding]

EIgenlijk wil ik de brondata ook goed opslaan en kunnen inzien / plotten (dag/week curve(s) per paneel enzo). Daar moet ik nog ff op puzzelen. Maar dit is al erg nice!
Is het een idee om in de topicstart iets uitgebreider neer te zetten hoe je dit moet aanpakken? Het is vrij veel abracadabra voor veel mensen denk ik.
4x APsystems DS3; 4x495Wp OZO/WNW 10° ; 4x460Wp OZO/WNW 10°; Totaal 3820Wp
Ik heb wat problemen met het uitlezen van data uit mijn ECU-R (met sunspec logo) met een python script die data per paneel van de ECU-R webpagina scrapet, elke 5min gestart door de windows scheduler, op PVoutput zet en een regel aan een CSV toevoegt om per paneel data te verzamelen voor grafena.
Alleen heel regelmatig werkt het script niet. Best wel irritant. Het probleem lost zichzelf altijd wel weer op, maar de data is verloren gegaan. De data op de APS site is dan wel altijd aangevuld (die haalt het denk ik uit geheugen van de omvormers ofzo?). PVoutput verzint volgens mij maar wat voor de opbrengst in die lege punten (want de dagelijkse opbrengst is structureel hoger dan de APS site aangeeft)
Anyway, zijn er manieren om dit stabieler te krijgen? Die interne pagina is ook lang niet altijd goed bereikbaar. Ik poll hem elke 5min in elk geval. Per dag mis ik meestal ongeveer 2u van de 16u aan data, zoals hier een paar missers:
Dit is het script dat ik nu gebruikt (eerlijk gejat van HiBe zijn post en met mn eerste stapjes Python uitgebreid met CSV data storage, niet boos worden, eerste Python van mn leven na basic programmeren in de jaren 90
)
Alleen heel regelmatig werkt het script niet. Best wel irritant. Het probleem lost zichzelf altijd wel weer op, maar de data is verloren gegaan. De data op de APS site is dan wel altijd aangevuld (die haalt het denk ik uit geheugen van de omvormers ofzo?). PVoutput verzint volgens mij maar wat voor de opbrengst in die lege punten (want de dagelijkse opbrengst is structureel hoger dan de APS site aangeeft)
Anyway, zijn er manieren om dit stabieler te krijgen? Die interne pagina is ook lang niet altijd goed bereikbaar. Ik poll hem elke 5min in elk geval. Per dag mis ik meestal ongeveer 2u van de 16u aan data, zoals hier een paar missers:
Dit is het script dat ik nu gebruikt (eerlijk gejat van HiBe zijn post en met mn eerste stapjes Python uitgebreid met CSV data storage, niet boos worden, eerste Python van mn leven na basic programmeren in de jaren 90

code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 #!/usr/bin/python3 #Load required modules from bs4 import BeautifulSoup import requests import urllib.request from lxml.html import fromstring import re import csv import pandas as pd from datetime import datetime from statistics import mean #ONLY CHANGE THESE VALUES url = "http://192.168.2.4/index.php/realtimedata" APIID = "GEHEIM" SYSTEMID = "89927" #PVOUTPUT API URL = "https://pvoutput.org/service/r1/addstatus.jsp" #Basic Vars page = requests.get(url) soup = BeautifulSoup(page.text,features="lxml") table = soup.find_all('table')[0] tmp = table.find_all('tr') # fix_rowspan first = tmp[0] allRows = tmp[1:len(tmp)] headers = [header.get_text() for header in first.find_all('th')] results = [[data.get_text() for data in row.find_all('td')] for row in allRows] rowspan = [] for no, tr in enumerate(allRows): tmp = [] for td_no, data in enumerate(tr.find_all('td')): if data.has_attr("rowspan"): rowspan.append((no, td_no, int(data["rowspan"]), data.get_text())) if rowspan: for i in rowspan: # tr value of rowspan in present in 1th place in results for j in range(1, i[2]): #- Add value in next tr. results[i[0]+j].insert(i[1], i[3]) #Looping through the table res0 = [] res1 = [] res2 = [] res3 = [] res4 = [] res5 = [] for result in results: print("Inverter ID: {}".format(result[0].replace(" ",""))) res0.append(result[0]) for i in result[1].split(): if i.isdigit(): res1.append(int(i)) print("(Filtered) Current Power: {}".format(i)) for DCvoltage in result[2].split(): if DCvoltage.isdigit(): res2.append(int(DCvoltage)) print("DC Voltage: {}".format(DCvoltage)) for voltage in result[4].split(): if voltage.isdigit(): res3.append(int(voltage)) print("(Filtered) Voltage: {}".format(voltage)) for temp in result[5].split(): if temp.isdigit(): res4.append(int(temp)) print("(Filtered) Temp: {}".format(temp)) datum = format(result[6]).strip().replace("\n","") date_time_obj = datetime.strptime(datum, '%Y-%m-%d %H:%M:%S') date = date_time_obj.strftime("%Y%m%d") time = date_time_obj.strftime("%H:%M") print("Date: {}".format(date)) print("Time: {}".format(time)) print("\n") #Combine results avgtemp = mean(res4) avgvoltage = mean(res3) totalpower = format(sum(res1)) avaragetemp = round(avgtemp) avaragevoltage = round(avgvoltage) #Print it! print("Summary:") print("Date:",date) print("Time:",time) print("Total power:",totalpower) print("Avarage inverter temp:",avaragetemp) print("Average inverter voltage:",avaragevoltage) ## Writing data in CSV file #combining all data in sinle list for CSV datetime = [date, time] res_list = [y for x in [datetime, res1, res2] for y in x] res_list.append(avaragevoltage) res_list.append(avaragetemp) # Printing concatenated list print ("Concatenated list using list comprehension: " + str(res_list)) data = [res_list] # opening the csv file in 'a+' mode file = open('Maple_OW_data.csv', 'a+', newline ='') # writing the data into the file with file: write = csv.writer(file) write.writerows(data) ##Pushing to PVOUTPUT gegevens = {'sid':SYSTEMID,'key':APIID,'d':date,'t':time,'v2':totalpower,'v5':avgtemp,'v6':avaragevoltage} r = requests.get(URL,params=gegevens) #DEBUG #print(r.content)
4x APsystems DS3; 4x495Wp OZO/WNW 10° ; 4x460Wp OZO/WNW 10°; Totaal 3820Wp
Ik ben bezig met Zigbee direct in HA middels een ESP32 en een CC2531. Dan heb ik de data direct beschikbaar en hoe ik de ECU-R en portal ook niet meer te gebruiken. Eerste info heb ik al binnen. Zijn er nog meer mensen hiermee bezig?
Ja, hier na de nodige pogingen inmiddels ook gelukt. ESP8266 icm CC2531avanthof schreef op donderdag 25 augustus 2022 @ 12:04:
Ik ben bezig met Zigbee direct in HA middels een ESP32 en een CC2531. Dan heb ik de data direct beschikbaar en hoe ik de ECU-R en portal ook niet meer te gebruiken. Eerste info heb ik al binnen. Zijn er nog meer mensen hiermee bezig?
Draait inmiddels al weer een tijdje stabiel. Alleen bij uitbreiding weet ik niet of ik APS met 10 jaar garantie kan krijgen zonder een ECU-R. Volgens mij wordt tegenwoordig vaak de ECU als voorwaarde gesteld om >2 jaar garantie te krijgen.
https://github.com/patience4711/read-APSystems-YC600-QS1-DS3
Hangt de APS unit met wifi aan internet of via kabel? ik vond wifi in de meterkast ook niet ideaal en heb hem bekabeld en nooit connectie issues.JvS schreef op maandag 22 augustus 2022 @ 17:24:
Ik heb wat problemen met het uitlezen van data uit mijn ECU-R (met sunspec logo) met een python script die data per paneel van de ECU-R webpagina scrapet, elke 5min gestart door de windows scheduler, op PVoutput zet en een regel aan een CSV toevoegt om per paneel data te verzamelen voor grafena.
Alleen heel regelmatig werkt het script niet. Best wel irritant. Het probleem lost zichzelf altijd wel weer op, maar de data is verloren gegaan. De data op de APS site is dan wel altijd aangevuld (die haalt het denk ik uit geheugen van de omvormers ofzo?). PVoutput verzint volgens mij maar wat voor de opbrengst in die lege punten (want de dagelijkse opbrengst is structureel hoger dan de APS site aangeeft)
Anyway, zijn er manieren om dit stabieler te krijgen? Die interne pagina is ook lang niet altijd goed bereikbaar. Ik poll hem elke 5min in elk geval. Per dag mis ik meestal ongeveer 2u van de 16u aan data, zoals hier een paar missers:
[Afbeelding]
Dit is het script dat ik nu gebruikt (eerlijk gejat van HiBe zijn post en met mn eerste stapjes Python uitgebreid met CSV data storage, niet boos worden, eerste Python van mn leven na basic programmeren in de jaren 90)
[...]
De ECU doet in de nacht een onderhoudsslag, er wordt gekeken of de data in de ECU synchroon loopt met de EMA data, zo niet wordt deze bijgewerkt vanuit de ECU cache. Er wordt ook gekeken naar eventuele firmware updates. PVoutput vind ik persoonlijk maar een wazig platform, geen idee wie hier achter zit en wat ze met jouw data doen.JvS schreef op maandag 22 augustus 2022 @ 17:24:
De data op de APS site is dan wel altijd aangevuld (die haalt het denk ik uit geheugen van de omvormers ofzo?). PVoutput verzint volgens mij maar wat voor de opbrengst in die lege punten (want de dagelijkse opbrengst is structureel hoger dan de APS site aangeeft)
[...]
[Voor 76% gewijzigd door Nibblebit op 28-08-2022 08:05]
Voor de ECU-C heeft Christiaan een commando ontdekt om de ECU-C te resetten als deze is vastgelopen met de HA integratie. Werkt dit commando ook voor de ECU-R (UID 2162xxxxxx/SunSpec)?
https://github.com/ksheum...-apsystems_ecur/issues/96
https://github.com/ksheum...-apsystems_ecur/issues/96
Waarom heb je dit voor 20 jaar afgekocht?avanthof schreef op vrijdag 26 augustus 2022 @ 19:09:
Ik APS 20jaar afgekocht en ECU-R heb ik achter de hand ;-).
Was een lucratief aanbod van APS installateur en heb dan 20 jaar productgrarantie, gelijk aan de fabriek garantie van de panelen (lever- op/wekgarantie en ook tegen stormschade voor m'n panelen. Vervanging bij elke vorm van uitval.) Enige onzekerheid, is dat bedrijf moet blijven bestaan, maar met EU steun, productie toename in EU en energie transitie zie ik dat positief in.
Heb de ontwikkeling gevolgd en per cm2 is de opbrengst de laatste tien jaar niet echt verbeterd. De opbrengst wordt hoger maar de panelen groter.

Als ik kijk naar de trend van afgelopen 20 jaar kijk weegt dat niet op tegen nieuwe investering.
Dus vandaar ;-)
Hulp gezocht voor eigenaren van een APSystems ECU-R waar het UID begint met 2162xxxxxxx (ECU-R-Pro firmware). Werkt dit commando ook om de ECU-R te soft-resetten?
Het cURL commando kun je gewoon vanuit de HA terminal sturen (vergeet niet je IP-adres van de ECU in de URL te zetten). Ik hoor graag of het werkt om een vastgelopen ECU-R weer tot leven te wekken. Op de ECU-C schijnt het te werken.
Reden voor de vraag is om te kijken of dit valt in te bakken met de HA integratie van Kyle (https://github.com/ksheumaker/homeassistant-apsystems_ecur). De integratie is prima maar de nieuwere ECU-R en ECU-C kunnen niet geheel overweg met de continue uitvraag en lopen vast. Met de soft-reset van de ECU's kan de integratie gewoon door blijven werken en is een hoge mate van continuiteit bereikt.
code:
1
| curl "http:// < IP > /index.php/management/set_wlan_ap" -H "X-Requested-With: XMLHttpRequest" --data-raw "SSID=ECU-WIFI_local&channel=0&method=0&psk_wep=&psk_wpa=" |
Het cURL commando kun je gewoon vanuit de HA terminal sturen (vergeet niet je IP-adres van de ECU in de URL te zetten). Ik hoor graag of het werkt om een vastgelopen ECU-R weer tot leven te wekken. Op de ECU-C schijnt het te werken.
Reden voor de vraag is om te kijken of dit valt in te bakken met de HA integratie van Kyle (https://github.com/ksheumaker/homeassistant-apsystems_ecur). De integratie is prima maar de nieuwere ECU-R en ECU-C kunnen niet geheel overweg met de continue uitvraag en lopen vast. Met de soft-reset van de ECU's kan de integratie gewoon door blijven werken en is een hoge mate van continuiteit bereikt.
[Voor 25% gewijzigd door Nibblebit op 06-09-2022 15:23]
Ik quote mijn eigen even. Is er niemand die de ECU-C uitleest via de RS485? Kan er niets over vinden op GitHub. En ben zelf niet zo'n goede programmeur om dit vanaf scratch helemaal zelf te schrijven voor een ESP32.Gratje schreef op maandag 27 juni 2022 @ 22:04:
Is er iemand al zo ver gekomen om via een Esp32 de modbus van de ECU-C uit te lezen?
Wil het graag stabiel hebben in Home assistant. Maar de sunspec modbus integratie werkt niet goed.
En de andere integraties lopen na een paar dagen vast of geven niet alles weer.
Deze intergratie werkt voor mij op het moment het beste maar de omvormers zelf geven nagenoeg nooit data door.
https://github.com/tv3/homeassistant-apsystems_ecur
Dus ik wil hem op de modbus uitlezen. Maar er staan nergens voorbeelden van iemand die het al gemaakt heeft.
Dus ik dacht ik vraag het hier gewoon
Is dit misschien iets? Moet wel worden gemapped voor de APSystems ECU-C. Gewoon op Github gezocht naar RS485. https://github.com/StealthChesnut/HA-FoxESS-ModbusIs er niemand die de ECU-C uitleest via de RS485? Kan er niets over vinden op GitHub.
[Voor 10% gewijzigd door Nibblebit op 18-09-2022 14:48]