Jump to content

rtrbt

Administrators
  • Gesamte Inhalte

    1.391
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    127

Alle erstellten Inhalte von rtrbt

  1. Wenn das so funktioniert, wie im Artikel beschrieben, dann musst du dafür die Honda-Wallbox benutzen: 1. brauchst du einen CCS-Anschluss, d.h. die Wallbox macht aus Wechselstrom Gleichstrom und andersrum beim Einspeisen. Das heißt auch, dass die Wallbox die Netzsynchronisierung übernimmt. 2. D.h. die Wallbox bzw. das Strommanagementsystem (ich gehe davon aus, dass das ein Extra-Rechner ist) muss diese Informationen verarbeiten. 3. Muss man dann so ein "virtuelles Kraftwerk" aufbauen, da bist du rein rechtlich vermutlich sofort ein Energieversorger. Die Bürokratie dafür dürfte anstrengend werden.
  2. Das müsste funktionieren. Ich weiß aber noch nicht, wie EVCC das dann genau umsetzen wird, also ob man pro Wallbox festlegen kann, ob und wenn ja von welchem WEM die Phasenumschaltung durchgeführt werden kann. (Wenn wir die API angepasst habe, werde ich das mal nachfragen) Wenn ich mich richtig erinnere brauchst du eine Genehmigung bei mehr als 11 kW (also 16 A dreiphasig). Trotzdem darfst du nur maximal 20 A Schieflast auf einer Phase erzeugen. Also rein theoretisch müsstest du dir eine 32 A-Wallbox die einphasig angeschlossen ist nicht genehmigen lassen, dich dann aber selbst darum kümmern, dass die nur 20 A Schieflast erzeugen kann. Da gehe ich von aus. Mit dem Setup kannst du dann aber nur bei beiden Wallboxen gleichzeitig die Phasen umschalten.
  3. Mit etwas Programmier-/Script-Arbeit kannst du dir das bauen: Du kannst den WARP Charger per HTTP- und MQTT-API steuern (die sind fast identisch). In beiden Fällen wäre das Vorgehen etwa wie folgt: Periodisch prüfen, ob ein Auto angeschlossen ist mit evse/state (darin der Wert "charger_state") (per http://warp2-abc/evse/state oder über MQTT auf warp2/abc/evse/state) Periodisch prüfen ob ein NFC-Tag gesehen wurde mit nfc/seen_tags (die API liefert dir die letzten 8 gesehenen Tags, typischerweise reicht es wenn man sich den ersten Eintrag davon ansieht) Wenn beides der Fall ist, den Ladevorgang mit einem HTTP PUT bzw. MQTT Publish vom gewünschten Ladestrom auf evse/external_current_update starten. Damit die externe Ladestromgrenze beachtet wird, musst du einmal im Webinterface unter Wallbox -> Ladeeinstellungen die externe Steuerung aktivieren. Wenn ein Auto abgezogen wird, den Ladestrom auf 0 setzen, damit der Ladevorgang blockiert ist. Damit du das nicht von Hand machen musst, kannst du mit evse/external_clear_on_disconnect festlegen, dass das automatisch passieren soll, wenn ein Auto abgezogen wird. Das kannst du dann mit evse/external_defaults persistent machen. Mit einer der nächsten Firmwares kannst du das ganze auch per Modbus TCP umsetzen, da fehlt im Moment noch die Ausgabe des/der gesehenen NFC-Tags: https://github.com/Tinkerforge/esp32-firmware/issues/227 Den SoC der Fahrzeuge rauszubekommen ist leider nicht ganz einfach. Eventuell hilft es, wenn du dir ansiehst, wie EVCC das macht. Als weniger flexible Alternative, bei der du aber nichts selbst programmieren musst, kannst du dir SteVe ansehen. Das ist ein OCPP-Server, der die Wallboxen steuern, NFC-Tags managen und Ladevorgänge aufzeichnen kann.
  4. Jein. Man kann theoretisch per nfc/inject_tag ein NFC-Tag vortäuschen und damit per API den Ladevorgang für einen bestimmten Benutzer starten. Im Moment muss, damit diese API funktioniert aber ein NFC-Bricklet vorhanden sein (Das zu fixen ist dieses Issue:https://github.com/Tinkerforge/esp32-firmware/issues/133). Perspektivisch wollen wir aber dahin kommen, dass man per API (und dann auch übers Webinterface) für spezifische Benutzer einen Ladevorgang starten kann: https://github.com/Tinkerforge/esp32-firmware/issues/161
  5. Was @poohnet sagt. WSS über TLS geht bereits, im Moment beinhaltet die Firmware den kompletten Satz Root-Zertifikate von Mozilla: https://docs.espressif.com/projects/esp-idf/en/release-v4.4/esp32/api-reference/protocols/esp_crt_bundle.html Die Möglichkeit ein eigenes Root-Zertifikat hochzuladen wird aber auf jeden Fall noch kommen. Damit der Gedanke nicht verloren geht habe ich ein Issue dafür angelegt: https://github.com/Tinkerforge/esp32-firmware/issues/233
  6. rtrbt

    eCarUp OCPP

    Oh sorry, das war bei mir untergegangen. Ich versuche nochmal das hier zu erzeugen. Eigentlich hatte ich mich mit den eCarUp-Leuten geeinigt, dass es so aussieht, als ob das Problem behoben war.
  7. Teste am besten gleich mit 2.1.2, eventuell war das ein Problem mit den neu eingebauten Ladezeit- und Energielimits.
  8. rtrbt

    Veröffentlichungen

    Firmware: WARP 2.1.2 und WARP2 2.1.2 UID der Wallbox zu Entitätsnamen der MQTT Auto Discovery hinzugefügt EVSE Coils für Modbus TCP hinzugefügt Füllung für Stromzählerplot hinzugefügt Konfiguration des Web-Interface-Ports hinzugefügt WLAN-Empfangsqualität durch Deaktivierung des HT40-Modus und 11b verbessert Robustheit der Stromzähler-Initialisierung verbessert Zugriff auf das Lastmanagement-Verteilungslog repariert Robustheit der statischen IP-Konfiguration der LAN-Schnittstelle verbessert Löschen kontrollierter Wallboxen auf der Lastmanagement-Konfigurationsseite repariert Übersetzungen verbessert Behoben, dass Zeit- und Energielimits weitere Ladevorgänge blockieren konnten Zeitzonen-Datenbank aktualisiert Ausgabe der Verbindungsdauer bei Verlust einer LAN-, WLAN-, MQTT- oder WireGuard-Verbindung hinzugefügt Behoben, dass OCPP nicht neu verbunden wurde, falls eine TLS-Verbindung direkt nach dem Verbindungsaufbau geschlossen wurde Behoben, dass Energie-Wert über Modbus-TCP mehr als einmal zurückgesetzt wurde Defekte Links auf der Status-Seite entfernt, falls Lastmanagement-Konfiguration geändert, aber nicht angewandt wurde PDF-Download-Timeout erhöht MQTT-Timeout erhöht Stoppen des Ladevorgangs im Webinterface, während ein anderer Ladestromslot blockiert, hinzugefügt Download: WARP 2.1.2 bzw. WARP2 2.1.2
  9. Gute Idee. Habe ich gerade eingebaut: https://github.com/Tinkerforge/esp32-firmware/commit/a52e735a8d79b00ee8efe567bea726e65dc93730 Kommt mit der nächsten Firmware.
  10. Dann warte ich einfach mal ab was kommen wird. Das ist übrigens dieses Problem: https://github.com/Tinkerforge/esp32-firmware/issues/173 tl;dr: Der Lastmanager sollte Wallboxen an denen ein voll geladenes Fahrzeug hängt komplett deaktivieren und nur, falls von den anderen Wallboxen noch Strom übrig ist, versuchen die mit dem Minimalstrom wieder aufzuwecken. Das ist im Moment leider nicht funktional. Das hier https://github.com/Tinkerforge/esp32-firmware/issues/225? Oder hast du noch einen anderen Bug gefunden? Kannst du hier posten.
  11. Oh sorry, ich hatte im Kopf, dass ich vor dem Urlaub was dazu geschrieben hatte. Der Briefkopf wird im Moment in der Tat nicht gespeichert. Das ist erstmal Absicht insoweit, dass wir noch ein paar Sachen anpassbar machen wollen, bevor man sich festlegt, wie genau er gespeichert werden soll.
  12. Du machst alles richtig, das war ein Bug auf unserer Seite, sorry. Habe ich gerade gefixt, nächste Firmware kommt diese Woche noch.
  13. Du kannst, damit der type_override wieder deaktiviert ist auch genau wie oben über die Recovery-Seite einen API-Call machen, nur diesmal mit {"method":"PUT", "url":"/meter/type_override_update", "payload":"255"} Dann versucht die Wallbox wieder zu detektieren, was für ein Zähler verbaut ist, statt dass immer ein SDM630 angenommen wird.
  14. Wenn du die Situation nochmal erzeugen kannst, zieh einen Debug-Report von der Wallbox und am besten auch ein EVCC-Log und poste beide hier. Da muss irgendwas mit der Ansteuerung schieflaufen.
  15. Außer der Verbindung zum MQTT-Broker musst du auf der Wallbox nur genau eine Sache einstellen: Unter Wallbox->Lade­ein­stellungen musst du die externe Steuerung aktivieren. Ansonsten werden die von EVCC geschickten Befehle ignoriert. Ich sehe gerade, dass das aus irgendeinem Grund nicht in unserer EVCC-Anleitung steht. Fixe ich gleich.
  16. Das bleibt leider seltsam: In deinem letzten Log kam die erste Anfrage an den Zähler durch (das war Request 2, für den es keine Fehlermeldung gibt). Du bekommst dann 1,966 Found unknown meter type 0x0. Assuming this is a SDM72DM. was vermutlich daran liegt, dass das ein älterer SDM630 ist. Es gibt vom SDM630 diese ältere Version, die als Meter Type nicht 0x0070 meldet, sondern 0x0000. Das haben wir bei den Zählern in der WARP2 häufig beobachten können. Leider wissen wir nicht, ob es vom SDM72DM (der serienmäßig in der WARP1 Pro verbaut wurde) eine Version gibt, die auch dieses Problem hat. Deshalb müssen wir an der Stelle annehmen, dass das ein SDM72DM ist. Das sollte prinzipiell aber erstmal egal sein, der SDM630 unterstützt alle Register, die wir bei einem SDM72DM auslesen würden. Um 100%ig auf Nummer sicher zu gehen, kannst du den Meter Type aber erzwingen. Geh dazu mal auf http://192.168.2.30/recovery und füge bei API ins obere Feld folgendes ein: {"method":"PUT", "url":"/meter/type_override_update", "payload":"2"} Wenn du dann auf Call API klickst sollte im unteren Feld eine 200 erscheinen. Dann einmal die Wallbox neustarten. Falls das auch nicht hilft vermute ich, dass der Zähler einen Defekt hat, weil er ja nur extrem sporadisch auf Anfragen antwortet. Edit: Wegen der Error-LED: Die geht an, wenn das RS485-Bricklet in Timeouts läuft. D.h. das ist ein Symptom, nicht die Ursache des Problems.
  17. rtrbt

    Warp Energy Manager

    Wir sind noch aktiv am hin-und-her-mailen ;)
  18. Kurzes Update: Auto Discovery ist in der gestern veröffentlichten Firmware 2.1.1 enthalten.
  19. rtrbt

    Veröffentlichungen

    Firmware: WARP 2.1.1 und WARP2 2.1.1 MQTT-Auto-Discovery für Home Assistant und kompatible System hinzugefügt Zeit- und Energielimits für Ladevorgänge hinzugefügt Core-Dump zu Debug-Report hinzugefügt Höhe des Stromzählergraphen auf mindestens 100 W limitiert Live-Graph in den ersten vier Minuten nach Neustart repariert Falsche Gesamtenergie-Berechnung in PDF-Ladelogs repariert Aufzeichnung von Ladevorgängen bei Stromversorgungsverlust repariert Fehlermeldungen von Texteingabefeldern repariert Platzhaltertext der Passphrase der WLAN-Verbindung repariert Löschen der WLAN-Verbindungs-Passphrase repariert Längenprüfung von Text- und Passworteingabefeldern repariert Robustheit des Bricklet-Flashens repariert Übersetzungen verbessert Klickbare Links für kontrollierte Wallboxen auf der Statusseite hinzugefügt Prüfung auf duplizierte Wallbox-Hostnamen bzw. IPs in der Lastmanagement-Konfiguration hinzugefügt Filter, der mDNS-Antworten, die nicht von WARP Chargern gesendet wurden, hinzugefügt Auflösung von .local-Hostnamen via mDNS-Scan hinzugefügt Veraltete WLAN-Empfangsqualitäts- und IP-Werte entfernt wenn WLAN-Verbindung verloren wird (nur WARP2) Stromlimits für konfigurierbaren Eingang hinzugefügt (durch Update auf Ladecontroller-Firmware 2.1.11) Abbruch des Ladeprotokolls nach 60 Sekunden behoben MQTT-Fehlermeldungen verbessert Download: WARP 2.1.1 bzw. WARP2 2.1.1
  20. Sehr cool! Das sehen wir uns in nächster Zeit mal an.
  21. Tut mir leid, deine Antwort ist irgendwie untergegangen. Damit wir das Problem beheben können, müssen wir erst die Ursache herausfinden. Da eventuell im Ereignis-Log etwas interessantes steht, dass aber von den MQTT-Meldungen zugemüllt wird: Benutzt du als MQTT-Broker ioBroker? Falls ja, deaktiviere bitte einmal die Einstellung "Publish own states on connect" (siehe hier: https://www.iobroker.net/#en/adapters/adapterref/iobroker.mqtt/README.md?iobrokerworkingasmqttbroker) Dann solltest du nicht mehr die ganzen Meldungen im Log bekommen, wenn du die Wallbox neustartest und dann noch einen Debug-Report herunterlädst.
  22. Da hast du recht. Hatte ich übersehen, sorry :D Habe das mal editiert, falls jemand den Thread findet und das raus kopiert.
  23. Dein Problem ist, dass wir alle Werte als uint32 oder float hinterlegen. Beides ist vier Bytes (also zwei Modbus-Register) lang. Mit Pymodbus kannst du 4 Byte lange Werte z.B. so schreiben und lesen: from pymodbus.client import ModbusTcpClient from pymodbus.payload import BinaryPayloadBuilder, BinaryPayloadDecoder from pymodbus.constants import Endian def uint32_to_regs(value): builder = BinaryPayloadBuilder(wordorder=Endian.Big, byteorder=Endian.Big) builder.add_32bit_uint(value) return builder.to_registers() def float_to_regs(value): builder = BinaryPayloadBuilder(wordorder=Endian.Big, byteorder=Endian.Big) builder.add_32bit_float(value) return builder.to_registers() def regs_to_uint32(response): decoder = BinaryPayloadDecoder.fromRegisters(response.registers, wordorder=Endian.Big, byteorder=Endian.Big) return decoder.decode_32bit_uint() def regs_to_float(response): decoder = BinaryPayloadDecoder.fromRegisters(response.registers, wordorder=Endian.Big, byteorder=Endian.Big) return decoder.decode_32bit_float() client = ModbusTcpClient('warp2-22oH') client.connect() # Setze 12,345 A als Modbus-Ladestrom client.write_registers(1002, uint32_to_regs(12345)) # Lies den Modbus-Ladestrom zurück print(regs_to_uint32(client.read_holding_registers(1002, 2))) # Lies den insgesamt erlaubten Ladestrom (allowed_charging_current) print(regs_to_uint32(client.read_input_registers(1010, 2))) EDIT: int -> uint
×
×
  • Neu erstellen...