NEWS
Test Adapter apsystems-ecu v0.2.x GitHub
-
@peter_n
Die neue Version wurde erfolgreich installiert.Edit_20.02.22
Die Werte sehen sehen über den Tag gut aus. Die issues #4 und #5 sind aus meiner Sicht gefixt.Für den Zeitbereich zwischen Sonnenuntergang und Sonnenaufgang sind folgende Dinge aufgefallen:
_Der Wert current_day_energy geht nicht um Mitternacht sondern erst mit Sonnenaufgang (Beginn Datenerfassung) auf 0 (gilt bekanntlich auch für last_system_power).
_Die Werte über die Nacht, speziell für die Inverter, aber auch für "ECU.inverters_online" sind genau genommen, veraltete Werte. Die ECU-R liefert, sowie die Inverter "online" sind, auch aktuelle Leistungswerte der Solarmodule. Auch Werte wie ECU.inverters_online werden permanent aktualisiert.
Wie schon früher erwähnt, gehen die Inverter deutlich vor Sonnenaufgang online, liefern Daten und produzieren auch etwas Energie.Vielleicht sollte man die Unterbrechung der Datenerfassung optional abschaltbar gestalten und damit auch Life-Werte für diesen Intervall zur Verfügung stellen.
-
@bu-na
_Der Wert current_day_energy geht nicht um Mitternacht sondern erst mit Sonnenaufgang (Beginn Datenerfassung) auf 0Das ist richtig. current_day_energy und andere kommt von der ECU. Ich möchte ECU-Werte eigentlich nicht manipulieren. Wenn man das Polling nach Sonnenuntergang wieder startet (ecu.cmd_start_stop = true) setzt bei mir die ECU um 2:00 den Wert zurück. Keine Ahnung, warum um 2:00 Uhr.
@bu-na
_Wie schon früher erwähnt, gehen die Inverter deutlich vor Sonnenaufgang online, liefern Daten und produzieren auch etwas Energie.
Vielleicht sollte man die Unterbrechung der Datenerfassung optional abschaltbar gestalten und damit auch Life-Werte für diesen Intervall zur Verfügung stellen.Kann das gelegentlich konfigurierbar machen ...
-
Habe die Adapterconfig erweitert:
poll_always@bu-na
_Wie schon früher erwähnt, gehen die Inverter deutlich vor Sonnenaufgang online, liefern Daten und produzieren auch etwas Energie.
Vielleicht sollte man die Unterbrechung der Datenerfassung optional abschaltbar gestalten und damit auch Life-Werte für diesen Intervall zur Verfügung stellen. -
Habe die Adapterkonfig um den Parameter poll_always erweitert und V0.2.4 bereitgestellt.
Bitte testen!
-
Hallo,
ich habe den Adapter installiert und eingerichtet (V0.2.4). Ich verwende eine ECU R und 3 DS3 mit je zwei Modulen.Es werden aber nur einmal die Werte aktualisiert. Danach nicht mehr. Erst wenn ich den Adapter manuell neu starte wird einmal aktualisiert. Hat hier einer ne Idee woran das liegt?
Die einzelnen Inverter werden als Objekte angelegt und die Daten sind passend für den Moment der Abfrage.Anbei ein Auszug aus dem log:
Grüße
Christian
-
@cwoltz
... das wundert mich nicht. Der neue DS3 wird bisher noch nicht unterstützt -wie in der Doku erwähntKann's mir gelegentlich mal ansehen. Benötige ein Log mit dem Ersten Start als *.txt. Welche Objekte und States werden angelegt? Am Besten alle Objekte löschen und neu starten. Neuinstallation ist zunächst nicht nötig.
Lege auf github einen Issue mit der Bitte um DS3-Unterstützung an. Bitte die Daten auch dort mit ablegen, damit alles zusammen ist. -
@peter_n
Ok mache ich morgen.
Ich bekomme noch weitere ds3. Falls Du interesse hast sende ich einen leihweise zu.
Aber ich helfe auch gern mit!!! -
@cwoltz
Ein Test mit deinem ds3 ist mir zu aufwendig.
Denke, dass die Auswertung des Logfiles zunächst weiterhilft. -
@peter_n
verständlich -
Erkenntnisse:
-
Die DS3 werden mit InverterType YC600 in der GetRealTimeData-Response kodiert. Deshalb wurden auch drei YC600 Inverter angelegt (hat mich sehr gewundert). Die angezeigten Inverterdaten sind auch halbwegs plausibel. Auffällig sind "ac voltage module 1/2" mit ~240V. Gehe davon aus, dass das nicht passt.
Könnte sein, dass man zukünftig die ersten beiden Stellen der Inverter-ID (70) zur Unterscheidung benutzen könnte. Das müsste allerdings von weiteren DS3 Besitzern bestätigt werden -
Das eigentliche Problem ist die z.T. fehlende Response der ECU mit nachfolgendem Schliessen der TCP-Verbindung durch die ECU. Ob das sporatisch oder im Zusammenhang mit bestimmten Services passiert ist noch unklar. Könnte sein, dass die ECU die Anzahl Services/Zeiteinheit begrenzt. Habe etwas ähnliches bei der Adapterentwicklung bemerkt.
-
Die ECU-FW: ECU_R_PRO_2.0.... ist hoffentlich hinsichtlich der Services kompatible zur ECU_R_1.2....
Nächste Schritte:
-
Frage: Du hast doch DS3 und keine YC600 (sorry )
-
Test: Stelle in der Konfig den Parameter "ECU interval [sec] for polling (10..900)" mal von 10 auf 120. 10 mach eh nicht viel Sinn, da die ECU-Inverterkommunikation (wahrscheinlich auch bei ECU-FW ECU_R_PRO_2.0.... ) mit einem 300sec Zyklus läuft.
-
Werde gelegentlich ein Testversion zum Eingrenzen des Problems bereitstellen. Wird aber ein paar Tage dauern.
-
-
Hallo zusammen,
nochmal an dieser Stelle vielen Dank für den tollen Adapter Peter!
@cwoltz said in Test Adapter apsystems-ecu v0.2.x GitHub:
Hallo,
ich habe den Adapter installiert und eingerichtet (V0.2.4). Ich verwende eine ECU R und 3 DS3 mit je zwei Modulen.Es werden aber nur einmal die Werte aktualisiert. Danach nicht mehr. Erst wenn ich den Adapter manuell neu starte wird einmal aktualisiert. Hat hier einer ne Idee woran das liegt?
Die einzelnen Inverter werden als Objekte angelegt und die Daten sind passend für den Moment der Abfrage.Ich habe ein ähnliches Verhalten.
Ein System mit einem QS1 an einem ECU-B funktioniert einwandfrei.
Ein zweites System mit einem ECU-R (2x DS3-S & 4x QS1) macht wie bei @cwoltz Probleme.Der Adapter wechselt nach einigen Sekunden bei "Verbindung" auf rot. Er wird automatisiert alle 5min neu gestartet.
Die WR werden gefunden und aufgelistet, die Daten werden aber nicht aktualisiert. Nur die Daten der ECU-R werden an ioBroker übertragen (zB "last_system_power").Ich habe ein Issue erstellt.
Da andere diesen Adapter mit einem ECU-R erfolgreich betreiben, könnte ich mir vorstellen, dass es an den DS3-S liegt.
Habe mir probeweise mal HomeAssistant installiert. Dort gibt es einen ebenfalls einen APSystem "Adapter". Der funktioniert mit der ECU-R problemlos. Allerdings würde ich gern auf HomeAssistant verzichten, bin mit ioBroker extrem zufrieden.
Güße,
Sebastian -
@peter_n
Die V0.2.4 funktioniert in meiner Konfiguration (ECU-R + 4xYC600) einschließlich poll_always wie gewünscht. -
@stundenblume
Ich vermute, dass das Problem in der ECU liegt, und bevorzugt bei umfangreicheren Systemen auftritt.
Der DS3 schein aus Protokollsicht zum YC600 kompatible zu sein. Wird deshalb auch z.Z. als YC600xxxx erstellt.Bitte mal das Polling auf 120sec setzen und einen Log über ca. 3*120 sec erstellen.
Wenn das ganze bei HomeAssistant funktioniert wird es auch bei iobroker möglich sein. Bin dran!
Die gute Nachricht ist, dass der DS3 wohl funktioniert und auch eine ECU-B prinzipiel unterstützt wird.
-
Sorry bekomme keine Benachrichtigung wenn hier geantwortet wird. Hoffe der Log macht auch etwas Sinn wenn die WR nicht an sind.
Bisher lief der Adapter auf 300Sekunden, aber gleichzeitig mit einem geplanten Neustart.
Folgend der Log ohne aktive WR.apsystems-ecu.0 2022-03-24 20:16:13.967 debug Ecu.trNextCycle() 120sec delay apsystems-ecu.0 2022-03-24 20:16:13.967 debug Ecu.ecuStateMachine(evDisconnected) stWaitForDisconnected -> stWaitForNextCycle apsystems-ecu.0 2022-03-24 20:16:13.966 debug Ecu.trDisconnect() - done apsystems-ecu.0 2022-03-24 20:16:13.966 error Ecu.ecuStateMachine() +++ socket error apsystems-ecu.0 2022-03-24 20:16:13.966 debug Ecu.ecuStateMachine(evSocketError) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:16:13.966 debug Ecu.reqService(ENERGY_OF_WMY req:APS1100390004216000xxxxxxEND00END) apsystems-ecu.0 2022-03-24 20:16:13.965 debug Ecu.trServiceSM(evRepeatService) stEnergyOfWeek->stEnergyOfWeek apsystems-ecu.0 2022-03-24 20:16:13.965 warn Ecu.ecuStateMachine() - no response from Ecu, repeat service ... apsystems-ecu.0 2022-03-24 20:16:13.965 debug Ecu.ecuStateMachine(evResponseTimeout) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:16:13.965 warn rspWatchDog +++ timeout apsystems-ecu.0 2022-03-24 20:16:10.969 info state apsystems-ecu.0.ecu.power_of_day_date changed: 2022-03-24 (ack = true) apsystems-ecu.0 2022-03-24 20:16:10.969 info state apsystems-ecu.0.ecu.cmd_power_of_day changed: false (ack = true) apsystems-ecu.0 2022-03-24 20:16:10.965 debug Ecu.trServiceSM(evNextService) stPowerOfDay->stEnergyOfWeek apsystems-ecu.0 2022-03-24 20:16:10.965 debug Ecu.reqService(ENERGY_OF_WMY req:APS1100390004216000xxxxxxEND00END) apsystems-ecu.0 2022-03-24 20:16:10.965 debug Ecu.ecuStateMachine(evResponseOk) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:16:10.965 debug Ecu.decodeAndProcessPowerOfDay() - status=00 - done apsystems-ecu.0 2022-03-24 20:16:10.964 debug Ecu.decodeRsp() 344ms - 41,50,53,31,31,30,36,31,38,30,30,30,33,30,30,6,10,0,0,30,30,30,30,30,30,0,0,6,25,0,0,6,30,0,0,6,35,0,0,6,40,0,0,6,45,0,0,6,50,0,9,6,55,0,13,7,0,0,17,7,5,0,1b,7,10,0,20,7,15,0,28,7,20,0,41,7,25,0,4b,7,30,0,55,7,35,0,61,7,40,0,6a,7,45,0,75,7,50,0,84,7,55,0,9c,8,0,0,da,8,5,1,0,8,10,1,4e,8,15,1,8a,8,20,1,b5,8,25,1,f2,8,30,2,17,8,35,2,34,8,40,2,5e,8,45,2,c6,8,50,3,11,8,55,3,41,9,0,3,7b,9,20,3,68,9,25,4,4a,9,30,4,c8,9,35,5,4,9,40,5,29,9,45,5,4d,9,50,5,81,9,55,5,ab,10,0,5,ce,10,5,5,f3,10,10,3,3d,10,15,6,3c,10,20,6,58,10,25,6,6a,10,30,6,7f,10,35,6,90,10,40,6,a1,10,45,6,ad,10,50,6,b7,10,55,6,c7,11,0,6,de,11,5,6,ea,11,10,5,61,11,15,7,7,11,20,7,10,11,25,7,e,11,30,7,12,11,35,7,15,11,40,7,1e,11,45,7,22,11,50,7,32,11,55,7,34,12,0,7,24,12,5,7,36,12,10,7,29,12,15,6,eb,12,20,6,2b,12,25,5,c8,12,30,5,bc,12,35,5,b0,12,40,5,a8,12,45,5,aa,12,50,5,a1,12,55,5,90,13,0,5,84,13,5,5,81,13,10,5,79,13,15,3,78,13,20,4,17,13,25,4,5,13,30,3,f6,13,35,3,ec,13,40,3,e4,13,45,3,d3,13,50,3,c2,13,55,3,a7,14,0,3,2b,14,5,2,7d,14,10,2,22,14,15,2,5d,14,20,2,4a,14,25,1,f9,14,30,2,2d,14,35,2,23,14,40,2,17,14,45,2,2,14,50,2,5,14,55,1,a1,15,0,1,9a,15,5,1,67,15,10,0,f5,15,15,1,16,15,20,0,8f,15,25,0,e5,15,30,1,13,15,35,1,e,15,40,0,a7,15,45,0,ee,15,50,0,c1,15,55,0,7a,16,0,0,f5,16,5,1,1a,16,10,0,f3,16,15,1,0,16,20,0,c7,16,25,0,88,16,30,0,5f,16,35,0,38,16,40,0,54,16,45,0,62,16,50,0,70,16,55,0,52,17,0,0,36,17,5,0,36,17,10,0,37,17,15,0,33,17,20,0,33,17,25,0,35,17,30,0,30,17,35,0,2a,17,40,0,24,17,45,0,1f,17,50,0,1c,17,55,0,18,18,0,0,15,18,5,0,13,18,10,0,11,18,15,0,f,18,20,0,a,18,25,0,2,18,30,0,0,18,35,0,0,18,40,0,0,18,45,0,0,18,50,0,0,45,4e,44 apsystems-ecu.0 2022-03-24 20:16:10.619 debug Ecu.reqService(POWER_OF_DAY req:APS1100390003216000xxxxxxEND20220324END) apsystems-ecu.0 2022-03-24 20:16:10.619 debug Ecu.trServiceSM(evRepeatService) stPowerOfDay->stPowerOfDay apsystems-ecu.0 2022-03-24 20:16:10.619 debug Ecu.ecuStateMachine(evConnected) stWaitForConnect -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:16:10.423 debug Ecu.trConnect() hide=true, ip=192.168.xxx.xxx port=8899 apsystems-ecu.0 2022-03-24 20:16:10.422 debug Ecu.ecuStateMachine(evCycleTimer) stWaitForNextCycle -> stWaitForConnect apsystems-ecu.0 2022-03-24 20:14:10.422 debug Ecu.trNextCycle() 120sec delay apsystems-ecu.0 2022-03-24 20:14:10.422 debug Ecu.ecuStateMachine(evDisconnected) stWaitForDisconnected -> stWaitForNextCycle apsystems-ecu.0 2022-03-24 20:14:10.422 debug Ecu.trDisconnect() - done apsystems-ecu.0 2022-03-24 20:14:10.421 error Ecu.ecuStateMachine() +++ socket error apsystems-ecu.0 2022-03-24 20:14:10.421 debug Ecu.ecuStateMachine(evSocketError) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:14:10.421 debug Ecu.reqService(POWER_OF_DAY req:APS1100390003216000xxxxxxEND20220324END) apsystems-ecu.0 2022-03-24 20:14:10.421 debug Ecu.trServiceSM(evRepeatService) stPowerOfDay->stPowerOfDay apsystems-ecu.0 2022-03-24 20:14:10.421 warn Ecu.ecuStateMachine() - no response from Ecu, repeat service ... apsystems-ecu.0 2022-03-24 20:14:10.420 debug Ecu.ecuStateMachine(evResponseTimeout) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:14:10.420 warn rspWatchDog +++ timeout apsystems-ecu.0 2022-03-24 20:14:07.419 debug Ecu.trServiceSM(evNextService) stInverterSignalLevel->stPowerOfDay apsystems-ecu.0 2022-03-24 20:14:07.419 debug Ecu.reqService(POWER_OF_DAY req:APS1100390003216000xxxxxxEND20220324END) apsystems-ecu.0 2022-03-24 20:14:07.419 debug Ecu.ecuStateMachine(evResponseOk) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:14:07.419 debug Ecu.decodeAndProcessInverterSignalLevel() - status=00 - done apsystems-ecu.0 2022-03-24 20:14:07.418 debug prefix=undefined i=5 isl.inverterId[i]=806000056773 apsystems-ecu.0 2022-03-24 20:14:07.418 debug prefix=undefined i=4 isl.inverterId[i]=806000055796 apsystems-ecu.0 2022-03-24 20:14:07.418 debug prefix=undefined i=3 isl.inverterId[i]=806000055586 apsystems-ecu.0 2022-03-24 20:14:07.418 debug prefix=qs1_806000058312 i=2 isl.inverterId[i]=806000058312 apsystems-ecu.0 2022-03-24 20:14:07.418 debug prefix=yc600_703000014489 i=1 isl.inverterId[i]=703000014489 apsystems-ecu.0 2022-03-24 20:14:07.418 debug prefix=yc600_703000015029 i=0 isl.inverterId[i]=703000015029 apsystems-ecu.0 2022-03-24 20:14:07.417 debug Ecu.decodeRsp() 929ms - 41,50,53,31,31,30,30,36,30,30,30,33,30,30,30,70,30,0,1,30,30,30,30,30,30,1,44,89,0,80,60,0,5,83,12,0,80,60,0,5,55,86,0,80,60,0,5,57,96,0,80,60,0,5,67,73,0,45,4e,44 apsystems-ecu.0 2022-03-24 20:14:06.488 debug Ecu.reqService(INVERTER_SIGNAL_LEVEL req:APS1100280030216000xxxxxxEND) apsystems-ecu.0 2022-03-24 20:14:06.488 debug Ecu.trServiceSM(evRepeatService) stInverterSignalLevel->stInverterSignalLevel apsystems-ecu.0 2022-03-24 20:14:06.488 debug Ecu.ecuStateMachine(evConnected) stWaitForConnect -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:14:06.189 debug Ecu.trConnect() hide=true, ip=192.168.xxx.xxx port=8899 apsystems-ecu.0 2022-03-24 20:14:06.189 debug Ecu.ecuStateMachine(evCycleTimer) stWaitForNextCycle -> stWaitForConnect apsystems-ecu.0 2022-03-24 20:12:06.188 debug Ecu.trNextCycle() 120sec delay apsystems-ecu.0 2022-03-24 20:12:06.188 debug Ecu.ecuStateMachine(evDisconnected) stWaitForDisconnected -> stWaitForNextCycle apsystems-ecu.0 2022-03-24 20:12:06.188 debug Ecu.trDisconnect() - done apsystems-ecu.0 2022-03-24 20:12:06.187 error Ecu.ecuStateMachine() +++ socket error apsystems-ecu.0 2022-03-24 20:12:06.187 debug Ecu.ecuStateMachine(evSocketError) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:12:06.187 debug Ecu.reqService(INVERTER_SIGNAL_LEVEL req:APS1100280030216000xxxxxxEND) apsystems-ecu.0 2022-03-24 20:12:06.187 debug Ecu.trServiceSM(evRepeatService) stInverterSignalLevel->stInverterSignalLevel apsystems-ecu.0 2022-03-24 20:12:06.187 warn Ecu.ecuStateMachine() - no response from Ecu, repeat service ... apsystems-ecu.0 2022-03-24 20:12:06.186 debug Ecu.ecuStateMachine(evResponseTimeout) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:12:06.186 warn rspWatchDog +++ timeout apsystems-ecu.0 2022-03-24 20:12:03.255 debug ecu.createAndSetInverterObjects(qs1,806000058312) - done apsystems-ecu.0 2022-03-24 20:12:03.210 debug ecu.createAndSetInverterObjects(yc600,703000014489) - done apsystems-ecu.0 2022-03-24 20:12:03.203 warn State "apsystems-ecu.0.yc600_703000014489.ac_voltage2" has no existing object, this might lead to an error in future versions apsystems-ecu.0 2022-03-24 20:12:03.203 warn State "apsystems-ecu.0.yc600_703000014489.ac_voltage1" has no existing object, this might lead to an error in future versions apsystems-ecu.0 2022-03-24 20:12:03.202 debug ecu.createAndSetInverterObjects(yc600,703000015029) - done apsystems-ecu.0 2022-03-24 20:12:03.202 warn State "apsystems-ecu.0.yc600_703000015029.ac_voltage2" has no existing object, this might lead to an error in future versions apsystems-ecu.0 2022-03-24 20:12:03.202 warn State "apsystems-ecu.0.yc600_703000015029.ac_voltage1" has no existing object, this might lead to an error in future versions apsystems-ecu.0 2022-03-24 20:12:03.186 debug Ecu.reqService(INVERTER_SIGNAL_LEVEL req:APS1100280030216000xxxxxxEND) apsystems-ecu.0 2022-03-24 20:12:03.186 debug Ecu.trServiceSM(evNextService) stRealTimeData->stInverterSignalLevel apsystems-ecu.0 2022-03-24 20:12:03.185 debug Ecu.ecuStateMachine(evResponseOk) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:12:03.185 error Ecu.decodeAndProcessRealTimeData() - +++ invalid inverter type:00 apsystems-ecu.0 2022-03-24 20:12:03.184 debug Ecu.decodeRsp() 119ms - 41,50,53,31,31,30,31,33,35,30,30,30,32,30,30,30,31,0,6,30,30,30,30,30,30,46,70,30,0,1,50,29,0,30,31,0,0,0,0,0,0,0,0,0,0,0,0,70,30,0,1,44,89,0,30,31,0,0,0,0,0,0,0,0,0,0,0,0,80,60,0,5,83,12,0,30,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,60,0,5,55,86,0,30,30,80,60,0,5,57,96,0,30,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,60,0,5,67,73,0,30,30,45,4e,44 apsystems-ecu.0 2022-03-24 20:12:03.064 debug Ecu.reqService(REAL_TIME_DATA req:APS1100280002216000xxxxxxEND) apsystems-ecu.0 2022-03-24 20:12:03.064 debug Ecu.trServiceSM(evRepeatService) stRealTimeData->stRealTimeData apsystems-ecu.0 2022-03-24 20:12:03.064 debug Ecu.ecuStateMachine(evConnected) stWaitForConnect -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:12:03.024 debug Ecu.trConnect() hide=true, ip=192.168.xxx.xxx port=8899 apsystems-ecu.0 2022-03-24 20:12:03.023 debug Ecu.ecuStateMachine(evCycleTimer) stWaitForNextCycle -> stWaitForConnect apsystems-ecu.0 2022-03-24 20:10:03.023 debug Ecu.trNextCycle() 120sec delay apsystems-ecu.0 2022-03-24 20:10:03.023 debug Ecu.ecuStateMachine(evDisconnected) stWaitForDisconnected -> stWaitForNextCycle apsystems-ecu.0 2022-03-24 20:10:03.023 debug Ecu.trDisconnect() - done apsystems-ecu.0 2022-03-24 20:10:03.020 error Ecu.ecuStateMachine() +++ socket error apsystems-ecu.0 2022-03-24 20:10:03.020 debug Ecu.ecuStateMachine(evSocketError) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:10:03.005 debug Ecu.reqService(REAL_TIME_DATA req:APS1100280002216000xxxxxxEND) apsystems-ecu.0 2022-03-24 20:10:03.004 debug Ecu.trServiceSM(evNextService) stSystemInfo->stRealTimeData apsystems-ecu.0 2022-03-24 20:10:03.004 debug Ecu.ecuStateMachine(evResponseOk) stWaitForResponse -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:10:03.004 debug Ecu.decodeAndProcessSystemInfo() - done apsystems-ecu.0 2022-03-24 20:10:03.003 debug Ecu.decodeRsp() 293ms - 41,50,53,31,32,30,31,31,32,30,30,30,31,32,31,36,32,30,30,30,31,33,37,35,33,30,31,0,0,5,fa,0,0,0,0,0,0,3,58,20,22,3,24,19,31,37,0,6,0,0,31,30,30,31,35,45,43,55,5f,52,5f,50,52,4f,5f,32,2e,30,2e,36,30,31,32,45,75,72,6f,70,65,2f,50,61,72,69,73,80,97,1b,2,d0,35,60,c5,a8,7a,22,d5,30,30,0,0,0,0,0,0,0,0,0,0,45,4e,44 apsystems-ecu.0 2022-03-24 20:10:02.709 debug Ecu.reqService(SYSTEMINFO req:APS1100160001END) apsystems-ecu.0 2022-03-24 20:10:02.709 debug Ecu.trServiceSM(evRepeatService/null) stSystemInfo->stSystemInfo apsystems-ecu.0 2022-03-24 20:10:02.708 debug Ecu.ecuStateMachine(evConnected) stWaitForConnect -> stWaitForResponse apsystems-ecu.0 2022-03-24 20:10:02.487 info state apsystems-ecu.0.ecu.cmd_start_stop changed: true (ack = true) apsystems-ecu.0 2022-03-24 20:10:02.484 info state apsystems-ecu.0.ecu.cmd_start_stop changed: true (ack = false) apsystems-ecu.0 2022-03-24 20:10:02.482 info state apsystems-ecu.0.ecu.power_of_day_date changed: 2022-03-24 (ack = true) apsystems-ecu.0 2022-03-24 20:10:02.481 debug Ecu.trConnect() hide=true, ip=192.168.xxx.xxx port=8899 apsystems-ecu.0 2022-03-24 20:10:02.480 debug Ecu.ecuStateMachine(evInit) stWaitForInit -> stWaitForConnect apsystems-ecu.0 2022-03-24 20:10:02.480 debug Ecu.init() - done apsystems-ecu.0 2022-03-24 20:10:02.479 info state apsystems-ecu.0.ecu.cmd_power_of_day changed: true (ack = false) apsystems-ecu.0 2022-03-24 20:10:02.476 info state apsystems-ecu.0.ecu.cmd_energy_of_year changed: true (ack = false) apsystems-ecu.0 2022-03-24 20:10:02.475 info state apsystems-ecu.0.ecu.cmd_energy_of_month changed: true (ack = false) apsystems-ecu.0 2022-03-24 20:10:02.474 info state apsystems-ecu.0.ecu.cmd_energy_of_week changed: true (ack = false) apsystems-ecu.0 2022-03-24 20:10:02.466 debug new scheduleSunSetSunrise() at Thu Mar 24 2022 20:10:02 GMT+0100 (Mitteleuropäische Normalzeit) apsystems-ecu.0 2022-03-24 20:10:02.461 debug sunset at {"hour":18,"minute":47} apsystems-ecu.0 2022-03-24 20:10:02.458 debug sunrise at {"hour":6,"minute":21} apsystems-ecu.0 2022-03-24 20:10:02.455 debug Ecu.createStaticObjects() - done apsystems-ecu.0 2022-03-24 20:10:02.405 debug Schedule restart: */10 4-22 * * * apsystems-ecu.0 2022-03-24 20:10:02.383 info starting. Version 0.2.3 in /opt/iobroker/node_modules/iobroker.apsystems-ecu, node: v14.18.3, js-controller: 3.3.22 apsystems-ecu.0 2022-03-24 20:10:00.038 info Terminated (START_IMMEDIATELY_AFTER_STOP): Without reason apsystems-ecu.0 2022-03-24 20:10:00.037 info terminating apsystems-ecu.0 2022-03-24 20:10:00.030 debug Ecu.unload() - done apsystems-ecu.0 2022-03-24 20:10:00.030 debug Ecu.trDisconnect() - done apsystems-ecu.0 2022-03-24 20:10:00.030 debug Ecu.ecuStateMachine(evUnload) stWaitForNextCycle -> stUnload apsystems-ecu.0 2022-03-24 20:10:00.029 info Scheduled restart.
-
@stundenblume said in Test Adapter apsystems-ecu v0.2.x GitHub:
psystems-ecu.0
-
Log ohne aktive WR ist OK! (das Log nächstes mal als File anhängen)
-
Bitte noch eine Screenschoot der angelegten Datenpunkte von ./ecu, ./info ./WR (da reicht einer) schicken
-
-
Hier nochmal drei Zyklen mit einem QS1 an einem Netzteil.
Aktuell sind nur die beiden DS3-S und ein QS1 dauernd im Einsatz. Die anderen sind an der ECU angemeldet, liegen aber noch im Karton. Reiche gleich nochmal die Seriennummern(?) nach.
-
Das sind die drei aktiv genutzten:
apsystems-ecu.0.qs1_806000058312
apsystems-ecu.0.yc600_703000014489 (DS3-S)
apsystems-ecu.0.yc600_703000015029 (DS3-S)Der den ich für den letzten Log an das Netzteil angeschlossen habe ist ein QS1, für den wurden aber keine Objekte angelegt, obwohl der schonmal für ein paar Stunden draußen war und Strom produziert hat.
-
In einer RealTimeData- Response werden 6 Inverter gelistet:
- 703000015029 - YC600/DS3
- 703000014489 - YC600/DS3
- 806000058312 - QS1
- 806000055586 - QS1 - ohne Daten
- 806000055796 - QS1
- 806000056773 - QS1 - ohne Daten
Denke, das passt zu Deinen Angaben.
Aktuell sehe ich drei Punkte:
1 - Instabilität der ECU Verbindung
2 - DS3 werden als InverterType 01 (YC600) gemeldet (ID beginnt mit 70)
3 - Angemeldete Inverter werden im RealTimeProtokoll in einem eigenem Format aufgeführt.OK! Für diese Punkte habe ich vorab genug Infos.
-
Ich habe Testversion V0.2.5 bereitgestellt.
Bearbeitet wurden die Punkte:
1 - Instabilität der ECU Verbindung
2 - DS3 werden als InverterType 01 (YC600) gemeldet (ID beginnt mit 70)
3 - Angemeldete Inverter werden im RealTimeProtokoll in einem eigenem Format aufgeführt.Details siehe Changelog.
Zum (schnelleren) Testen kann man die ECU Pollzeit auf 10sec setzen. Später sollten ca. 60sec ausreichend sein.
- Die ECU-Verbindung ist jetzt hoffentlich stabiler.
- Die DS3 sollten jetzt auch als DS3 in der Datenbank auftauchen.
- An der ECU-angemeldete, aber nicht vorhandene Inverter werden ignoriert bis die ECU auch RealTimeDaten liefert
Die V0.2.5 läuft auf meinem Minisystem (1 QS1) ohne Probleme
Tiefergehende tests konnte ich natürlich nicht durchführen.Bei Problemen wie immer ein Logfile posten!
-
habe die 0.2.5 problemlos installieren können.
Der Adapter bleibt grün.Der Log ist angenehm unaufregend.
apsystems-ecu.0 2022-03-25 19:25:10.946 warn rspWatchDog +++ timeout apsystems-ecu.0 2022-03-25 19:24:07.805 warn rspWatchDog +++ timeout apsystems-ecu.0 2022-03-25 19:21:03.673 error Ecu.decodeAndProcessRealTimeData() - +++ invalid inverter type:64
Werde gleich mal den Test QS1 ans Netzteil hängen.
Vielen Dank schonmal bis hierher!