Jump to content

rtrbt

Administrators
  • Gesamte Inhalte

    1.400
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    127

Alle erstellten Inhalte von rtrbt

  1. Nein, das müssen wir in der Firmware fixen. Das Logging war einfach bisher nicht darauf ausgelegt, dass man es länger als ein paar Minuten laufen lässt. Genau.
  2. Die Zählerwerte sind gefühlt das komplizierteste an OCPP. Grundlegend läuft das so, dass der Server der Wallbox vorgeben kann, welche Zählerwerte periodisch (clock-aligned, also z.b. "immer zur vollen Stunde") und in einem Intervall während Transaktionen ("sampled", also z.B. "nach Transaktionsbeginn minütlich bis Transaktionsende") übertragen werden sollen. Außerdem konfiguriert der Server die Periode bzw. Intervalllänge. Je nach der Konfiguration muss die Wallbox dann von sich aus MeterValues-Nachrichten schicken, die diese Werte beinhalten. D.h. das ist der Teil, den entweder eCarUp nicht konfiguriert (wüsste spontan auch nicht, wo im eCarUp-Webinterface die Werte angezeigt werden sollten), oder der bei uns kaputt ist. Zusätzlich dazu kann eine StopTransaction-Nachricht auch Zählerwerte enthalten (wieder jeweils verschiedene für clock-aligned und sampled!), die dann über die gesamte Transaktion gesammelt werden müssen. Den Teil unterstützen wir im Moment nicht, weil dann je nach Server-Konfiguration der RAM einfach zu klein ist (z.b. wenn man sekündlich alle Werte aufzeichen soll und eine Transaktion ja beliebig lange dauern kann). Glücklicherweise gibt es Konfigurationswerte mit denen ich dem Server mitteilen kann, wie viele Messwerte maximal in einer StopTransaction-Nachricht enthalten sein können. Das habe ich einfach auf 0 gesetzt. Außerdem gibt es noch die direkten Energiewerte in Start- und StopTransaction. Die müssen immer enthalten sein und sind einfach der Zählerstand beim Start bzw. Ende der Transaktion.
  3. Nein ich habe nur Freitag Nachmittag Dinge programmiert und nicht richtig getestet. ocpp/txn_msg ist ein Ordner und die remove_directory-Funktion löscht nicht rekursiv Unterordner. Habe das gerade gefixt:https://github.com/Tinkerforge/esp32-firmware/commit/8d50f811239842b5a9df0dac577efca8a7027177
  4. Hm im Debug log fehlen leider die interessanten Einträge. Da ist das Webinterface vermutlich in eine String-Längenbeschränkung gelaufen, weil die Aufzeichnung so lange lief. Das müssen irgendwie besser implementieren. Habe dazu mal ein Issue aufgemacht:https://github.com/Tinkerforge/esp32-firmware/issues/171 Ich dachte erst, dass du eventuell einen Bug in Kombination mit EVCC hast, aber die 45-Sekunden-Ladevorgänge treten auch auf, wenn gerade keine MQTT-Verbindung besteht. Ich habe mir das Charge Log nochmal angesehen. Auffällig ist, dass die 45-Sekunden-Ladevorgänge immer nach einem "normalen" lang laufenden Ladevorgang passieren. Vielleicht tritt das Problem nur auf, wenn das Auto voll ist. Kannst du testweise mal das Auto an die Wallbox hängen wenn es noch zu ~ 95% voll ist, es voll laden und dann nachsehen ob die kurzen Ladevorgänge wieder passieren? Das sollte auch auffallen wenn du an der Wallbox vorbeigehst. Ich würde erwarten, dass das Schütz dann alle 45 Sekunden schaltet.
  5. Nein, das Ladeprotokoll solltest du max. ein paar Minuten laufen lassen. Du musst eher, wenn das Problem auftritt, das Protokoll starten, ~ 30 Sekunden laufen lassen und das dann runterladen. Das hat natürlich das Problem, dass du das mitbekommen musst, während es passiert.
  6. Habe ich gepusht. Der große rote Knopf tritt einmal den kompletten OCPP-Zustand weg. Danach sollte es wieder funktionieren. Mich wundert es trotzdem, dass die Wallbox und der eCarUp server sich aus dem Zustand nicht befreien können: Nach dem Neustart wird der StopTransaction.req ja neu geschickt, danach müsste laut Spec der Server mit einer StopTransaction.conf antworten: (D.h. selbst wenn der Server damit nichts anfangen kann soll er das tun, damit eben nicht die Wallbox hängen bleibt) Die Situation kann auch auftreten, wenn die Wallbox ewig lang offline war und währenddessen mehrere komplette Transaktionen durchgeführt hat (was erlaubt ist, man kann z.B. einen Auth. Cache für die Tags haben). Das das RemoteStopTransaction rejected wird, ergibt Sinn, nur die Fehlermeldung ist falsch, da passte nicht die Connector-ID nicht, sondern die Transaktions-ID. Der Server sagt der Wallbox im Endeffekt "stoppe bitte Transaktion ABC123" und wenn es die nicht gibt muss die Wallbox mit rejected antworten. Lange Rede kurzer Sinn: gib Bescheid, falls du das nochmal auslösen kannst. Ich habe das Problem hier spontan nicht erzeugen können. Gibt es rein technisch gesehen schon, habe aber noch nicht rausgefunden wie eCarUp das konfigurieren will.
  7. Sorry für die späte Antwort, wir mussten erstmal ein iPad besorgen zum reproduzieren des Problems. Hier klappt es aber problemlos (mit iPad OS 16.1). Machst du, damit die Fehlermeldung kommt irgendetwas anderes als das Webinterface zu laden, auf System->Benutzerverwaltung zu gehen, den Namen zu ändern und das zu speichern? Zieh am besten mal einen Debug-Report und häng ihn hier an, eventuell ist das ein Problem mit deiner spezifischen Konfiguration.
  8. Haben wir vor, bisher hatte nur keiner Zeit das zu implementieren:https://github.com/Tinkerforge/esp32-firmware/issues/53 (Die Dokumentation wird von einem Python-Script erstellt, das dann auch Beispiel-Befehle erzeugen können sollte) Tippfehler in MQTT-Topic-Namen sind tatsächlich ein Problem. Ich habe mal ein paar Issues dafür (und für Key-Namen in JSON-Objekten) aufgemacht, damit die Wallbox da mehr Fehlermeldungen ausspuckt, wenn man was falsch macht: https://github.com/Tinkerforge/esp32-firmware/issues/167 https://github.com/Tinkerforge/esp32-firmware/issues/168 https://github.com/Tinkerforge/esp32-firmware/issues/169
  9. Der Teil ist interessant: 2022-10-27 18:53:02,947 Received RemoteStopTransaction.req 2022-10-27 18:53:02,957 TRANSACTION -> FINISHING_UNLOCKED 2022-10-27 18:53:02,958 Attempting to send stop transaction but next stop reason is none! 2022-10-27 18:53:03,020 Unexpected EVSEState 4 while Connector is in state 10 2022-10-27 18:53:03,021 Sending StatusNotification.req: Status Finishing for connector 1 2022-10-27 18:53:03,045 Sending StopTransaction.req at connector 1 for tag at 724.372 kWh. StopReason 11 2022-10-27 18:53:03,046 Sending RemoteStopTransaction.conf Accepted 2022-10-27 18:53:03,173 Received message [3, "107", {}] (len 14) 2022-10-27 18:53:03,174 Received StatusNotification.conf for connector 1 Es sieht so aus als ob der Server das StopTransaction nicht akzeptiert. Deshalb wird die Nachricht nach Neustarts der Wallbox auch immer wieder geschickt. StopTransaction ist eine "transaction-related message" laut Spezifikation und solche Nachrichten 1. muss ich immer wieder schicken, bis der Server sie akzeptiert und 2. müssen die in der korrekten Reihenfolge übertragen werden, d.h. ich kann erst wieder ein StartTransaction schicken, wenn das Stop durchgegangen ist. Es gibt da eine Chance wieder in den "normalen" Zustand zu kommen, und zwar wenn der Server mehrfach meldet, dass er die Nachricht nicht parsen konnte. Dann darf ich sie nach X Versuchen wegwerfen. Ich muss das hier mal reproduzieren, in der Hoffnung, dass ich sehe warum der Server das StopTransaction ablehnt. Damit sollten wir rausbekommen was das Problem ist. Abgesehen davon baue ich mal einen Button ins Webinterface, damit du die persistierten Nachrichten löschen kannst.
  10. Kommt in den nächsten Tagen. Dann hoffentlich gleich mit einem Prototypen des Smart-Charging-Profils. Damit kannst du dann per Home Assistant auch den Ladestrom setzen.
  11. @poohnet Nach einem kurzen Kampf mit Build-Systemen sollte es jetzt klappen und bei dir auch gleich die aktuelle arduino-esp32- und tfocpp-Version runterladen. Geh mal auf Commit 54236351.
  12. wss sollte eigentlich gehen, probiere ich gleich nochmal aus. Ich gehe davon aus, dass die Ladeprobleme von den kaputten Zeiten kommen. Das ist ein Problem mit dem iso8601-Zeitstempel-Parser, das ich eigentlich behoben hatte, aber scheinbar habe ich den Fix beim Einbinden von TFOCPP als Abhängigkeit wieder verloren. Das muss ich nochmal kurz nachvollziehen. Das muss so sein: OCPP ist darauf ausgelegt, dass du pro Charge Point mehrere Connectoren haben kannst (wie bei so einer großen DC-Ladesäule an der Autobahn z.B.). Connector 0 addressiert den ganzen Charge Point und die eigentliche Verbindung zum Auto geht dann bei uns immer über Connector 1.
  13. Und ich dachte beim Einfügen der Funktionen noch "Das brauchen wir erstmal nur im EVSE_V2" :D Zieh mal bis 887f0e95 nach, dann sollte es gehen.
  14. Das OCPP-Modul ist jetzt im esp32-firmware-Git. (Sorry hatte es heute erst geschafft. Da hing mehr dran als ich in Erinnerung hatte.) Edit: Bau am besten gegen den Stand von 8aef2cd4, das sollte funktionieren.
  15. Prinzipiell ist es keine gute Idee, wenn du in einer Schleife ohne irgend eine Art von Limitierung die GUI zu verändern. Außerdem solltest du mal testen, ob die Schleife überhaupt beendet wird. Ersetze den Code-Schnipsel mal durch z.B. Do Until volt > 2 txt_Motor_Lift_Pos.Text = "volt " & volt Thread.Sleep(100) Loop Dann solltest du sehen können, was die Schleife tut.
  16. Okay ich habe raus, was da schief gelaufen ist. Die Firmware hält sich an einer Stelle nicht an die Spezifikation (Nachrichten mit einer Liste von Stromzählerwerten müssen mindestens einen Wert enthalten), das versucht die OCPP-Integration von Home Assistant als Fehler zu melden, hält sich aber dabei selbst nicht an die Spezifikation und das wiederum versteht die Firmware dann nicht. Daraus entsteht dann die deserialize-Katastrophe. Ich habe das Problem in der OCPP-Integration bzw. in der Bibliothek die diese verwendet, mal gemeldet: https://github.com/mobilityhouse/ocpp/issues/381 Den Rest fixe ich gerade auf unserer Seite.
  17. Das sieht interessant aus, danke! Gerade die JSON-Fehler muss ich mir mal genauer ansehen. Ich verwende da einen sehr minimalistischen Serializer, den ich eventuell an einer Stelle falsch benutze.
  18. Das lag soweit ich das sehe an den Umbauten in der Config, die ich gemacht habe. Mit https://github.com/Tinkerforge/esp32-firmware/commit/102d7967be99aba3ba4c197675cd8553cbd23de4 sollte es wieder funktionieren. Sorry dafür.
  19. Moin, Kannst du das Problem mit der Firmware im Anhang immer noch erzeugen? (Nicht von der Versionsnummer verwirren lassen: Das ist ein Abkömmling der OCPP-Beta-Firmware, aber ohne dass OCPP reinkompiliert ist) warp2_firmware_2_0_90_63453d05_merged.bin
  20. Sorry, hatte überlesen, dass du von Warp1 redest. Prinzipiell ist es so, dass es die OCPP-Beta erstmal nur für Warp 2 gibt. Wenn das ganze "Feature-Complete" ist, werden wir uns nochmal in Ruhe ansehen, ob wir OCPP auf Warp 1 zum Laufen bekommen. Nein, OCPP geht auch mit dem alten Ladecontroller. Das ist im Moment ein reines RAM-Verbrauchsproblem vs. die Priorisierung die wir natürlich vornehmen müssen um überhaut mal was fertig zu bekommen ;)
  21. Not Authorized als Fehler ist interessant. Hast du bei deinem MQTT-Broker Benutzername und Passwort konfiguriert? Dann musst du das in der EVCC-Konfiguration eintragen. Frag ansonsten am besten auch mal im EVCC-Forum: https://github.com/evcc-io/evcc/discussions
  22. Das sollte problemlos funktionieren. Callbacks bekommen immer alle verbundenen Clients, egal von welchem Host. Der Client muss aber auf das Callback registriert sein.
  23. For that you can use the IP connection's enumerate callback. See here for an example: https://www.tinkerforge.com/en/doc/Software/IPConnection_C.html#enumerate This will report all connected Bricks and Bricklets with their UID and more.
×
×
  • Neu erstellen...