Jump to content

rtrbt

Administrators
  • Gesamte Inhalte

    1.401
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    127

Posts erstellt von rtrbt

  1. 10 hours ago, ChristianRiedl said:

    Dann habe ich die Security (WPA + WPA 2) wieder aktiviert, und der ESP32-Brick kann sich seither auch mit WPA/WPA 2 verbinden.

    So sollte es natürlich nicht sein. Aber zumindest habe ich den ESP32-Brick jetzt im Netzwerk.

    Stimmt, das sollte so nicht sein, ist auch nicht der Normalzustand: Bei der 7590 die wir hier im Netz haben funktioniert die Verbindung problemlos. Eventuell hat das Umkonfigurieren bei deiner Fritzbox den WLAN-Stack neugestartet und das hat was auch immer schiefgelaufen ist repariert.

  2. 15 hours ago, Bruno said:

    Auch nach dem Rücksetzen wird weiterhin Konfigurationsversion 2.0.0 angezeigt. Ist das so gewollt?

    Das ist Absicht, ja. Die Konfigurationsversion ist immer die letzte Version in der es Änderungen im Konfigurationsformat gab. Das bedeutet z.B. dass Downgrades bis auf die 2.0.0 möglich sind, ohne dass Einstellungen verloren gehen sollten.

    15 hours ago, Bruno said:

    Ich kann bei beiden Boxen im Log nicht erkennen, dass die versuchen die Zeit zu synchronisieren. Es taucht weder Erfolgs- noch Fehlermeldung dazu auf.

    Der entsprechende Code kommt direkt aus lwIP, also dem Netzwerkstack den wir einsetzen und ist leider sehr schweigsam. Synchronisierungsversuche sollten aber wie gesagt alle 150 Sekunden oder schneller durchgeführt werden.

    15 hours ago, Bruno said:

    Auf der gleichen Seite verwirrt, dass das Ladeverlaufs-Diagramm in der Beschriftung die aktuelle Uhrzeit anzeigt. Kommt die Beschriftung von der Box oder vom Browser? 

    Die Beschriftung kommt vom Browser. Prinzipiell alles an Zeiten, was nicht direkt die Startzeitpunkte der aufgezeichneten Ladevorgänge sind, wird auf der Wallbox nur relativ zum Zeitpunkt an dem die Wallbox gebootet ist (der Uptime), betrachtet. Der Browser bekommt die aktuelle Uptime regelmäßig übertragen und kann dann z.B. die absoluten Zeiten für die Diagrammbeschriftungen über die aktuelle Systemzeit deines Browsers berechnen.

    15 hours ago, Bruno said:

    Ich habe sonst nirgends die von der Box erkannte Zeit gesehen, wird die nach Synchronisierung an einer festen Stelle angezeigt? 

    Ja. Das funktioniert wie die Anzeige der IP-Adresse bei der LAN/WLAN-Verbindung. Sobald die Synchronisierung klappt, wird die Systemzeit der Wallbox angezeigt:

    image.png

     

    Damit wir rausfinden warum die Synchronisierung nicht klappt: Häng hier mal einen Debug-Report an (Kannst du unter System->Ereignis-Log runterladen), eventuell finden wir darüber das Problem.

  3. Moin,

    Sorry dein Thread ist irgendwie untergegangen. Wenn du nach WLANs scannst, taucht dein Netz dann auf? Hast du eventuell Repeater mit dem selben Netzwerknamen und der Brick versucht sich aus irgendwelchen Gründen zu dem Repeater zu verbinden? (Das kontrolliert das BSSID-Lock) Du kannst dir die Liste der gefundenen WLANs unter http://10.0.0.1/wifi/scan_results runterladen.

  4. Moin,

    On 6/4/2022 at 11:30 AM, Bruno said:

    es wäre schön, wenn im WebUI die von der WB (WARP 2) erkannte Zeit angezeigt würde.

    Gute Idee! Ist in der frisch veröffentlichten Firmware 2.0.6.

    On 6/4/2022 at 11:30 AM, Bruno said:

    Den aktuellen Sync-Zustand kann ich bisher nicht erkennen, da im Systemlog nicht regelmäßig Einträge nach Aufbau der WLAN-Connection dazukommen, die dann einen Zeitstempel hätten

    Wenn die Synchronisierung klappt bekommst du einen separaten Eintrag dafür (und alle danach haben dann richtige Zeitstempel). Falls du etwas Ausgabe erzeugen willst kannst du z.B. einen WLAN-Netzwerkscan starten.

    On 6/4/2022 at 11:30 AM, Bruno said:

    Wie oft/in welchen Intervallen wird ein NTP-Sync durchgeführt? Nur einmal nach System-Start / WLAN-Client Connect?

    Wenn die Synchronisierung klappt wiederholt die Wallbox sie nach 6 Stunden. Wenn eine Synchronisierung nicht klappt, hat der entsprechende Code einen Timeout von 15 Sekunden, der bei jedem Fehlschlag verdoppelt wird, bis maximal 150 Sekunden, also 15s, 30s, 60s, 120s, 150s, 150s, ...

    Das du Tagelang keine Synchronisierung bekommst würde ich also tendenziell eher auf die WLAN-Probleme schieben.

  5. Firmware: WARP 2.0.6 und WARP2 2.0.6

    • WLAN-Scan-Timeout für Access-Point-Kanalsuche erhöht
    • Aussehen der Form-Validierung repariert
    • Netzwerk-Zeitsynchronisierungszustand und aktuelle Uhrzeit auf Statusseite hinzugefügt
    • (WARP1) Work-Around für SDM72DM-Bug beim Zurücksetzen des Zählers hinzugefügt
    • (WARP1) Sichergestellt, dass Ladevorgang nie gestartet werden kann, wenn Schlüsselschalter auf "aus" steht (durch Update auf Ladecontroller-Firmware 2.1.3)
    • (WARP1) Längere Wartezeit für ID.3-Zustandswechsel hinzugefügt (durch Update auf Ladecontroller-Firmware 2.1.3)
    • (WARP1) Sichergestellt, dass LED bei jedem Zustandswechsel bis zum Stand-By reagiert (durch Update auf Ladecontroller-Firmware 2.1.3)
    • (WARP2) Sichergestellt, dass Ladevorgang nie gestartet werden kann, während Taster gedrückt ist (durch Update auf Ladecontroller-Firmware 2.1.5)
    • (WARP2) Kompatibilität mit einigen Versionen des SDM630 erhöht (durch Update auf Ladecontroller-Firmware 2.1.5)

    Download: WARP 2.0.6 bzw. WARP2 2.0.6

  6. Ich bin dem mal nachgegangen: Anscheinend hat der Stromzähler einen Bug in der Modbus-Kommunikation.

    Was beim Reset intern passiert ist, dass ich einen Schreibbefehl auf ein spezielles Register schicke, worauf hin der Zähler den Wert zurücksetzen und mir darauf antworten sollte, dass er das getan hat. In Modbus funktioniert das so, dass die Slaves (also der Zähler in dem Fall) IDs haben, damit wenn mehrere an einem Bus angeschlossen sind, der Master spezifisch mit einem Slave reden kann. Damit die Antworten unterschieden werden können, müssen die Slaves ihre eigene ID in die Antwort schreiben.

    Wenn ich z.B. einen Zählerwert lese sieht das mit dem Logic Analyzer so aus:

    Request an DeviceID 1 (den Zähler):

    read_input_regs_request.png

    Response von DeviceID 1:

    read_input_regs_response.png

    Der Zähler schickt jetzt aber, wenn ich den Reset auslöse eine Antwort nicht mit seiner ID (der 1) sondern aus irgendeinem Grund mit einer 0. Die 0 ist reserviert für Broadcasts, die darf von Slaves überhaupt nicht verwendet werden.

    Request an DeviceID 1:

    write_multiple_regs_request.png

    Response vom Zähler mit falscher DeviceID:

    write_multple_regs_response.png

    Das Problem tritt aber nur bei dem Reset auf, beim Lesen der Zählerwerte, selbst beim Schreiben anderer Konfigurationswerte (mit der selben Funktions-ID) ist die Antwort korrekt.

    Das RS485-Bricklet (mit dem wir mit dem Zähler kommunizieren) sieht beim Reset dann die kaputte Antwort, wirft sie weg und betrachtet das als einen Timeout.

    Die Lösung des Problems wird sein, dass wir in der Wallbox-Firmware, falls beim Reset auslösen ein Timeout auftritt diesen ignorieren. In der Praxis habe ich es bisher nicht beobachten können, dass der Reset nicht funktioniert. Das sollten wir aber trotzdem prüfen, z.B. indem die Firmware dann den Wert, der zurückgesetzt wird, nochmal ausliest und prüft, dass er erwartet klein ist (also z.B. maximal x ms * 32 A * 230 V * 3 Phasen groß, wobei x die Zeit vom Auslösen des Resets bis zum Empfang des neuen Werts ist). Falls der Wert dann zu groß ist, lösen wir den Reset nochmal aus, mit maximal z.B. 3 Versuchen. Das zu implementieren ist etwas Aufwand, deshalb habe ich erstmal ein Issue dafür angelegt: https://github.com/Tinkerforge/esp32-firmware/issues/147

    Als schnelle Lösung für die nächste Firmware nehme ich erstmal raus, den Fehlerzähler bei Reset-Timeouts hochzuzählen. Das fühlt sich immer etwas falsch an zu sagen "nein nein hier zählt der Fehler nicht weil..." aber ich glaube in dem Fall ist es berechtigt: https://github.com/Tinkerforge/esp32-firmware/commit/7ec89afcbad67460b14527bbf318f7d266800392

  7. Das sind durchschnittlich 21,5 Minuten zwischen den Fehlern, ~ 0,012% Fehlerrate, aber trotzdem mehr als ich erwarten würde. Exception Code -1 heißt, dass das RS485-Bricklet (das kommuniziert per Modbus mit Zähler) eine Antwort des Zählers nicht innerhalb des Timeouts (eine Sekunde) bekommen hat.

    Was mir jetzt beim Schreiben auffällt: Es werden keine Request-IDs mit ausgegeben. Bist du auf der aktuellen Firmware? Falls ja, dann sind das alles Fehler, die beim Zurücksetzen der Zählerwerte aufgetreten sind. Eventuell ist der Timeout da einfach zu kurz gewählt.

  8. On 5/23/2022 at 9:36 AM, wuesten_fuchs said:

    Und anfangs, als ich die NFC-Freigabe nicht aktiv hatte, war Ladeende wirklich Ladeende (so wie ich es definieren würde).

    Wenn du das Auto angeschlossen lässt, es aber voll ist, dann läuft die Ladezeit weiter. Egal ob NFC aktiv ist oder nicht.

    On 5/23/2022 at 9:36 AM, wuesten_fuchs said:

    Aber: siehe das Eventlog. Da sieht man doch klar und deutlich, wann Ladeende war (state 3 -> 2) [..] Aber der "charger state", e.g. wo man die Statusänderungen wie 3 -> 2 und 2 -> 0 sieht, ist doch auch unabhängig vom Zähler, oder?

    Prinzipiell ja, das hat aber folgende Probleme:

    • Das Auto kann jederzeit wieder von 2 (das ist btw. IEC-State B) auf 3 (C) gehen, wenn es wieder Strom anfordert (das passiert z.B. wenn du im Winter die Standheizung anschaltest, wenn das Auto sich nach mehreren Stunden/Tagen wieder etwas leergestanden hat, oder gerüchteweise wenn der Akku zu warm wird)
    • Solche Ladepausen kann das Auto übrigens auch einlegen ohne dass es von 3 auf 2 wechselt.
    • Wenn z.B. das Lastmanagement der Wallbox kurzzeitig den Strom entzieht kannst du von 3 auf 1 (das ist auch IEC-State B) wechseln und z.B. eine halbe Stunde später (wenn wieder Strom verfügbar ist) wieder auf 3 gehen. Ist das dann ein Ladevorgang oder zwei? Ist die halbe Stunde die das Laden blockiert war Ladezeit oder nicht?
    • Was ist, wenn du bis nach Zustand 3 kommst, das Auto aber z.B. einen Ladeplan hat der sagt dass es erst in einer Stunde anfängt Strom zu ziehen? Fairerweise: Das ist esoterisch, gibt es aber.

    Schlussendlich kann man dann auch grundlegend in Frage stellen, ob die Ladezeit (im Gegensatz zur Standzeit) überhaut eine hilfreiche Information ist. Wenn man keinen Zähler hat kann man daran sowieso nicht ablesen, wie viel geladen wurde (das Auto muss ja keinen Strom ziehen). Wenn ein Zähler vorhanden ist, dann ist z.B. "Das Auto war 8 Stunden angeschlossen und hat währenddessen 30 kWh gezogen" doch trotzdem interessanter als "Das Auto hat in zwei Stunden 30 kWh gezogen, aber danach noch unbekannt lang die Wallbox blockiert".

    Ich spiele derzeit mit dem Gedanken, zwei Zähler mitzuführen. Einen der die Zeit vom Anstecken bis zum Abziehen des Autos trackt (und dann auch nicht erst anfängt wenn man ein NFC-Tag an die Box hält) und einen, der die Zeit die wirklich in State 3 bzw. C verbraucht wurde, misst. Das hat aber noch ein paar Probleme in der Umsetzung, deshalb will ich das an der Stelle nicht versprechen ;)

  9. Hm das deckt sich mit meinen Tests. Scheint in der Tat vom NFC-Chip im Handy abzuhängen, siehe auch hier: https://stackoverflow.com/a/27998215

    Ich bekomme aber mit meinem Handy auch mit dem NFC/RFID-Bricklet (das den NFC-Chip verbaut hat, den du auch benutzt) nur 01:02:03:04... als ID. Interessanterweise aber als NFC-Typ 1 und beim neueren NFC-Bricklet als Typ 4.

    Fazit: um mit Handys die Wallbox freizugeben müssen wir irgendetwas höheres über NFC sprechen. Gibt schon ein Issue dafür: https://github.com/Tinkerforge/esp32-firmware/issues/90

  10. Moin,

    Aktualisiere mal auf Firmware 2.0.5 (findest du hier: https://www.warp-charger.com/#firmware) Nicht dass wir alte Bugs jagen.

    Im Ereignis-Log sind einige interessante Fehler am 18.05. ab 00:15. Hattest du den e-up da gerade angeschlossen?

    Laut Ladelog fängt sich die Wallbox nach ein paar Stunden. Hat das Laden dann wirklich funktioniert oder sind die Aufzeichnungen falsch? Z.b. hier vom 12.05.:

    "12.05.2022 20:29","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "12.05.2022 21:06","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "12.05.2022 21:07","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "12.05.2022 21:09","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "12.05.2022 21:10","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "12.05.2022 21:11","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "12.05.2022 21:12","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "12.05.2022 21:14","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "12.05.2022 21:15","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    [60 Einträge gekürzt]
    "13.05.2022 00:10","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "13.05.2022 00:11","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "13.05.2022 00:12","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "13.05.2022 00:14","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "13.05.2022 00:15","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "13.05.2022 00:16","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "13.05.2022 00:17","Unbekannter Benutzer","NaN","0","","N/A","N/A","Unbekannter Benutzer"
    "13.05.2022 00:18","Unbekannter Benutzer","NaN","22850","","N/A","N/A","Unbekannter Benutzer"

    Wenn das Log stimmt lief dann am Ende 6 Stunden lang ein Ladevorgang.

    Hörst du, wenn das passiert alle ~ 20 Sekunden ein Klicken aus der Wallbox?

  11. Das Verhalten sollte sich eigentlich nicht geändert haben. Die Ladedauer musst du aber eher als Standzeit betrachten. Ladestart und Ende haben wir so definiert:

    • Wenn die NFC-Freigabe aktiv ist:
      • Start, wenn per Tag der Ladevorgang freigegeben wird
      • Stop, wenn per Tag der Ladevorgang gestoppt wird, oder wenn das Auto abgezogen wird
    • Wenn die NFC-Freigabe nicht aktiv ist:
      • Start, wenn das Auto angesteckt wird
      • Stop, wenn das Auto abgezogen wrid

    Die Zeit zwischen Start und Stop ist die Ladedauer.

    Stattdessen die wirkliche Ladedauer zu bestimmen ist aus diversen Gründen kompliziert. Vorallem weil die Logik auch ohne Zähler funktionieren muss.

  12. Kommunikationsfehler mit dem Stromzähler treten in der Tat manchmal auf, sind aber nicht kritisch.

    Um ein Gefühl für die Frequenz zu bekommen kannst du einen Blick ins Ereignis-Log werfen. Wenn du Glück hast, dann sind die Nachrichten vom Start noch erhalten, dann interessant ist eine Nachricht der Form

    2022-05-13 15:24:42,264  NTP synchronized at 16,571!

    Diese sagt z.B. dass die Wallbox am 13.05. um 15:24:26 gestartet ist (die Zeit hinten ist die Zeit seit dem die Box läuft in Sekunden).

    Falls die Boot-Nachrichten schon aus dem Event-Log geschoben wurden, kannst du dir einen Debug-Report ziehen. In Zeile 4 siehst du die Uptime. (Achtung: 32-Bit Zähler in Sekunden, der kann überlaufen)

    Damit du das in ein Verhältnis setzen kannst: WARP1 liest alle 500ms drei Werte vom Zähler aus. Da die Modbus-Register nicht direkt hintereinander liegen sind das 6 Modbus-Lese-Anfragen pro Sekunde.

  13. 31 minutes ago, wuesten_fuchs said:

    Also Excel macht da kein "Problem", sondern das Format ist schlicht falsch

    https://datatracker.ietf.org/doc/html/rfc4180 (das nächst-beste zu einem Standard über CSV) erwähnt explizit, dass Excel schwierig ist, weil es die Anführungszeichen ignoriert.

    32 minutes ago, wuesten_fuchs said:

    Wenn die Dateien gleich mit ; geschrieben würden, wäre es halt ganz einfach ...

    Für Excel sicherlich, wir müssen aber auch sicherstellen, dass andere Software die Datei noch versteht.

    Es gibt noch ein paar Tricks von denen wir jetzt die richtige Kombination finden müssen. Wir arbeiten dran ;)

  14. Für EVCC ist nur relevant, dass du auf irgendeine Weise den PV-Überschuss messen kannst. Wenn deine Solaranlage den direkt ausgibt (muss sie ja, wenn sie die Heizung kontrollieren kann), dann sollte das eigentlich reichen. Falls du dich da einlesen willst: https://docs.evcc.io/docs/Home

    EVCC würde in dem Setup dann die Solaranlage per Modbus TCP auslesen und dem WARP Charger per MQTT steuern. Das aufzusetzen involviert aber etwas Handarbeit.

  15. 31 minutes ago, fj2020 said:

    -how do I find the bricklet UID? 

    The bricklet returns its UID in the enumerate response. For the enumerate request you don't have to set a UID, but use 0 (or "1" if base58-encoded)

    31 minutes ago, fj2020 said:

    -where do I find information about CoMCU-enumerate?

    This is basically the "normal" enumerate: https://www.tinkerforge.com/de/doc/Low_Level_Protocols/TCPIP.html#broadcast-functions but with another function ID (252).

×
×
  • Neu erstellen...