Jump to content

MatzeTF

Administrators
  • Gesamte Inhalte

    1.000
  • Benutzer seit

  • Letzter Besuch

  • Tagessiege

    103

Alle erstellten Inhalte von MatzeTF

  1. Eine sichere Phasenumschaltung, wie sie die WARP2 macht, kannst du mit jedem Fahrzeug machen. Aus Sicht des Fahrzeuges ist das nichts anderes als Stecker raus, Stecker rein. Falls du damit meinst, dass dein Fahrzeug nur einphasig laden kann: Dem Fahrzeug ist es egal, ob da noch zwei weitere Phasen sind, die es nicht nutzen möchte. Wenn man zu schnell hintereinander Phasenumschaltungen macht, kann es aber passieren, dass ein Fahrzeug nicht mehr laden will, weil es die Wallbox für defekt hält. In dem Fall hilft ausstecken und ein paar Minuten warten, bis man es wieder einsteckt. Ich empfehle mindestens 30 Sekunden Wartezeit zwischen zwei Phasenumschaltungen.
  2. In den Debug-Logs von Andy und dem Bauch steht, dass evcc keine Phasen beim Energy Manager angefordert hat. Dementsprechend wird auch kein Strom freigegeben. Wir haben das mit evcc jetzt bei uns nachgestellt und die Phasenumschaltung funktioniert. Es gibt aber weiterhin das Problem, dass evcc nur dann eine Phasenanforderung an den Energy Manager schickt, wenn eine Phasenumschaltung durchgeführt werden soll, was dazu führt, dass der Energy Manager nach einem Neustart auf eine Phasenumschaltung von evcc wartet, die möglicherweise nie kommt, weil evcc keine Phasenumschaltung durchführen möchte. Das dürfte insbesondere für Andy ein Problem sein, da er immer nur einphasig laden möchte und deswegen nie eine Phasenumschaltung durchgeführt wird. Kontrolliert bitte Folgendes: In eurer evcc.yaml muss beim Load Point "phases: 0" stehen. Wenn das fehlt oder da eine andere Zahl steht, wird nie eine Nachricht an den Energy Manager geschickt. Auf der Statusseite von evcc gibt es rechts neben dem „Schnell“-Button Wallboxeinstellungen. Dort muss „automatischer Wechsel“ verfügbar sein. Wenn das der Fall ist, klickt bei angeschlossenem Fahrzeug mal auf 3-phasig oder 1-phasig, bzw. schaltet mit etwas Wartezeit einmal das eine und dann das andere ein. Dann sollte der Energy Manager auf die entsprechende Anzahl Phasen umschalten und Strom freigeben. Wenn das funktioniert, dann funktioniert die Phasenumschaltung. Das Problem, in das ihr lauft, ist dann das schon seit Anfang an bestehende Problem, dass evcc nicht den Zustand vom Energy Manager abfragt und dessen Neustart nicht mitbekommt. Das dürfte dann auch der Grund sein, warum es bei Andy monatelang funktioniert hat und seit dem Firmware-Update nicht mehr: während der Einrichtung vor einiger Zeit hat evcc irgendwann mal eine Phasenanforderung gesendet, seitdem aber nicht mehr. Wegen dem Update musste neugestartet werden und der Energy Manager wartet jetzt auf eine Phasenanforderung, was evcc ignoriert.
  3. No. Any Config you create and store on the ESP’s flash is local to the ESP only. You can tie the Config to a URL on the ESP’s webserver, which makes it available via HTTP and MQTT, though.
  4. Bitte Lade Debug-Logs von WEM und WARP2 hoch, wenn sie gerade in dem festhängenden Zustand sind, damit ich überprüfen kann, ob die fehlende Phasenumschaltung tatsächlich das Problem ist.
  5. Hier erstmal die Antworten auf deine Fragen aus dem anderen Thread: Bei MQTT müssen Updates immer an _update gesendet werden, aber gelesen wird immer ohne _update. Vielleicht wird das deswegen ohne _update angezeigt, obwohl es intern verwendet wird. Schau mal in die API-Doku: external_control auf 0 beim state bedeutet, dass die Phasenumschaltung verfügbar ist und aktuell keine Anfrage bearbeitet wird und auch kein Fehler vorliegt. Als nächstes: Hast du schon versucht, eine Phasenumschaltung durch EVCC zu veranlassen? Nach einem Neustart des Energy Managers wartet der immer auf eine Anforderung von EVCC, aber EVCC schickt nur Nachrichten, wenn eine Phasenumschaltung durchgeführt werden soll. Lade mal Debug-Logs von WEM und WARP2 runter und häng sie hier an, wenn du gerade in dem festhängenden Zustand bist.
  6. Wäre nett, wenn du das weiter im Blick behalten könntest. Wenn ein Fahrzeug angeschlossen wurde, bekommt es erst mehr zugewiesen, aber wenn es ein paar Minuten nicht (mehr) laden wollte, sollte der zugewiesene Strom auf 6 A reduziert werden und der Rest an die andere Wallbox gehen, sofern dort auch ein Fahrzeug angeschlossen ist. Wenn das nicht passiert, ist das ein Bug.
  7. Dafür kann unser Config-System benutzt werden. Du kannst einfach eine Config mit deinem float oder uint32 drin anlegen und nach Änderungen im Flash des ESP32 ablegen lassen. Schau mal im Uptime Tracker Modul (uptime_tracke.cpp), wie die Variable "uptimes" benutzt wird.
  8. Eigentlich sollte es so sein, dass die Wallbox mit dem nicht ladenden Fahrzeug nur 4140 W bekommt, die andere 6900 W. 6 A ist das Minimum, was dreiphasig 4140 W ergibt. Passiert das oder bekommen beide Wallboxen immer genau die Hälfte zugeteilt? Weniger als 6 A kann man leider nicht zuteilen, da eine Wallbox nicht weiß, ob ein Fahrzeug laden möchte, wenn kein Strom freigegeben ist.
  9. Das Problem ist, dass du nur default_mode setzt und alles andere fehlt. Wenn du Einstellungen über die API änderst, müssen immer alle Einträge einer Config vorhanden sein. Wenn du dir die anderen Einträge nicht von Hand zusammenbauen willst, kannst du dir die aktuellen Einstellungen ansehen, wenn du einfach die URL, die du ändern willst, runterlädst oder im Browser ansiehst (gegebenenfalls auf Raw/Rohansicht umstellen). http://192.168.5.90/power_manager/config sieht z. B. so aus: {"phase_switching_mode":3,"excess_charging_enable":false,"default_mode":0,"meter_slot_grid_power":0,"target_power_from_grid":0,"guaranteed_power":1380,"cloud_filter_mode":1} Kopiere das einfach komplett und ändere die Werte, die du ändern möchtest. Alles andere lässt du unverändert. Wenn du Linux nutzt, kannst du übrigens auch einfache Anführungszeichen (') darum setzen, dann brauchst du nicht alle doppelten Anführungszeichen (") innen drin escapen. Unter Windows kannst du es in Notepad kopieren und alle " durch \" ersetzen lassen.
  10. MatzeTF

    MQTT mit TLS

    Aktuell wird das noch nicht unterstützt, steht aber auf unserer ToDo-Liste. Zugegebenermaßen allerdings nicht sehr weit oben.
  11. Die Umstellung von 100er auf 700er-Modelle wird dir aber auch nicht helfen, wenn sich die Leistungsangaben im Modell 701 weiterhin nur auf den Hybrid-WR beziehen und du den Netzbezug am Hausanschluss nicht aus dem Ding rausbekommst. Dazu bräuchtest du eine Erweiterung, die z.B. die Zählerwerte am Hausanschluss oder den Eigenverbrauch vom Haus entweder als weiteres Modell oder unter einer anderen Modbus-Adresse bereitstellt. Entweder Hausanschluss oder Eigenverbrauch muss dem WR bekannt sein, da er einen dieser Werte zum Regeln seiner Leistungsaufnahme oder -abgabe benötigt.
  12. Und dann? Hinter dem kaputten Modell kommt nichts sinnvolles mehr; du verpasst also nichts. Der einzige „Power“-Wert, den dein Wechselrichter über SunSpec liefert, ist leider nicht der Netzbezug, sondern die AC-Leistung deines Hybrid-WR.
  13. Das steht auf unserer ToDo-Liste, aber nicht weit oben weil es aufgrund der Komplexität der möglichen Einstellungen recht umfangreich ist und deswegen nichts für den Durchschnittsnutzer ist. Pro Wert hast du Registertyp, Registeradresse, Datentyp, Endianness, Skalierungsfaktor und Wert für „Wert nicht verfügbar“. Der Skalierungsfaktor kann dabei entweder fix sein oder in einem anderen Register stehen. In letzterem Fall hast du nochmal Registertyp, Registeradresse, Datentyp und Endianness. 🤢 Wer bereit ist, sich da durchzukämpfen, kann sich hoffentlich auch ein Konvertierungstool in Python oder so hacken, um die Werte damit auszulesen und unsere zu API füttern.
  14. Da spricht nichts gegen, das sollte funktionieren.
  15. Modbus darf nie ein Stern sein sondern nur ein Bus. Es heißt ja auch Modbus und nicht Modstern. 😜 Der Master muss aber nicht an einem Ende sitzen sondern darf auch in der Mitte sitzen. Beide Enden müssen Terminiert werden, aber nie in der Mitte. Die 32 Geräte kommen daher, dass jedes Gerät einen gewissen Unit Load verursacht. Schau dir mal dieses Dokument dazu an. Ein Driver muss 32 Unit Loads und 2x Terminierung unterstützen. Ein Receiver ist standardmäßig 1 Unit Load. Moderne RS485-Transceiver haben aber einen Unit Load von 0.5 oder 0.25, sodass du 64 oder sogar 128 Geräte an einen Bus hängen kannst. Wahrscheinlich ist der Unit Load aber nicht im Datasheet deiner Servos angegeben. Probier es einfach aus. In gewissem Rahmen ist die Anzahl der Slaves abhängig von Kabellänge oder Kabelqualität. Ist das Kabel zu lang oder der Querschnitt zu gering, ist der Widerstand zu hoch und es kommt am Ende kein ausreichend starkes Signal mehr an. Ich glaube, dazu gibt es auch Tabellen mit Richtwerten, aber dazu habe ich gerade nichts. Such mal nach RS485 statt Modbus, dann solltest du da mehr finden. CAT6 ist overkill. Für Modbus brauchst du keine Schirmung. Der Widerstand pro Meter ist da wahrscheinlich interessanter. CAT5 geschirmt oder ungeschirmt ist genauso gut. Ich würde das mit dem größeren Aderquerschnitt bzw. der kleineren AWG-Angabe nehmen.
  16. Wir haben zum Testen ein KOSTAL KSEM G2 benutzt. Das ist nicht gerade günstig und ob es besonders gut ist, weiß ich auch nicht, aber es funktioniert einfach.
  17. photron hat schon ausführlich geantwortet, aber da ich auch schon angefangen hatte, etwas zu schreiben, hier noch ein paar direkte Antworten auf deine Fragen. Ich glaube, das ist das Gleiche. Die englischen SunSpec-Dokumente nennen die Blöcke in den Modellen „Module“. Ich vermute, dass dein Wechselrichter zwei DC-Eingänge hat und deswegen zwei Module dafür vorgesehen sind. Die anderen vier sollten dann nicht da sein, sind es aber trotzdem. Nein, Model 122 ist nicht das Problem. Das wird korrekt erkannt, enthält aber keine Informationen, die wir aktuell auswerten. Deswegen wird das als nicht unterstützt angezeigt. Über 64000 liegen herstellerspezifische Modelle. 64870-64879 ist für SMA reserviert. Das ist okay und wird auch korrekt erkannt und übersprungen, weil wir nichts damit anfangen können.
  18. Leider gibt es noch keinen Termin. Mit zwei unabhängigen Wallboxen mit zwei Energy Managern könnte das für dich aber schwierig werden, da du für dynamisches Lastmanagement ein zentrales Managementgerät brauchst. Wenn du auf beiden Energy Managern unabhängig voneinander dynamisches Lastmanagement laufen lässt, werden sie gegeneinander arbeiten. Würde es bei deinem Anschluss ausreichen, eine Wallbox dynamisch zu managen, die dann ggf. die Ladung ganz unterbrechen würde?
  19. Aktuell lässt sich die SunSpec Block-Chain einfach nicht bis zum End Model parsen, da man vor erreichen des Endes einen „Illegal Address“ Fehler bekommt. Praktisch jeder SunSpec-Parser sollte darüber stolpern. Das ist ein so grundlegender Fehler, dass da bei den SMA-Entwicklern jemand gepennt haben muss. Wie man das am besten am First Level Support vorbei bekommt, kann ich dir leider nicht sagen. Ich hatte schon überlegt, ob du einfach darauf verweist, dass die Information aus der Entwicklungsabteilung deines Wallboxherstellers stammt und die Aussage ist, dass das nur von dem SMA-Entwicklern repariert werden kann. Es kann dann natürlich auch sein, dass sie dir nicht mehr helfen wollen, weil du eine Wallbox benutzt, die nicht von SMA ist. 😉
  20. Wir können nur das nutzen, was das SunSpec-Gerät anbietet. Aktuell bietet der Wechselrichter nur die 100er-Modelle und keine 700er-Modelle an. Dementsprechend haben wir da gar keine Wahl. Das Model 160 kann mehrere Module enthalten und enthält dafür auch eine Angabe, wie viele Module es enthält. Das Problem ist nun, dass die Angabe für die Module auf 2 steht, anschließend aber die Daten für 6 Module folgen. Die Blocklänge von 48 passt auch zu zwei Modulen. 8 für den Header plus 2 x 20 für die Module. Korrekt wäre jedoch eine Blocklänge von 128. Alternativ sollte halt nach den zwei Modulen Schluss sein und nicht noch Daten für vier weitere Module folgen. Das ist aktuell einfach kaputt.
  21. Da nur zwei Signal Kabel bei den Netzwerkkabel angeschlossen sind, gehe ich davon aus, dass der Servodrive über Half-Duplex kommuniziert? Korrekt. Der Parameter "Word Lenght" wird nicht spezifisch im Datenblatt des Servodrives erwähnt. Ist da "8" ein gängiger Wert oder wie findet man da raus was für ein Wert verwendet werden soll? 8 ist der Standardwert und is gibt kaum eine Anwendung, die etwas anderes verwendet. Falls doch, ist das eigentlich immer angegeben. In diesem Fall sollte "First Input Number" 302833 bzw. 302832 oder 302834 betragen? Wenn ich mir das Datasheet so ansehe, bezweifele ich eher, dass es sich tatsächlich um Input Register handelt. In der Doku ist bei 9.2.1 Code 0x06 angegeben, aber das ist ein Schreibzugriff, der korrekt bei 9.2.2 angegeben ist. Ich vermute daher, dass es Holding Register sind. Dementsprechend muss First Register Number 402833 bzw. 402832 oder 402834 sein. Wie find ich raus was für einen Wert bei "Number of Inputs" eingetragen werden soll? Register sind immer zwei Bytes groß. Bei Number of Inputs muss also eine 1 eingetragen werden. Leider ist das bei dem Gerät von Register zu Register unterschiedlich. P05-35 hat einen Wertebereich von 0~65535 und ist somit ein uint16, der in ein Register passt. P05-04 hat einen Wertebereich von 0~6553.5 und ist somit eine uint16 Festkommazahl, die in ein Register passt. P05-05 hat einen Wertebereich von -9999~9999 und ist wahrscheinlich ein int16, der in ein Register passt. P05-07 hat einen Wertebereich von 1~1073741824, was nicht in ein Register passt und wahrscheinlich ein uint32 ist, der zwei Register belegt, nämlich P05-07 und P05-08, was nicht in der Tabelle steht. Da musst du also 2 als Number of Inputs angeben. Muss ich mich um CRC check Werte kümmern? Oder ist das etwas was das Bricklet automatisch macht? Musst du nicht, das macht das Bricklet automatisch.
  22. Einige Wechselrichter, insbesondere die von SMA, machen das leider so, dass sie bei Dunkelheit im Standby keine Werte anzeigen. Anfangs hatten wir SunSpec so implementiert, dass nach vorhandenen Werten gesucht wurde. Wenn man den Scan dann nachts laufen lassen hat, wurde immer ein Wechselrichter ohne Werte gefunden, und man musste den Scan tagsüber laufen lassen. Das ist jetzt kein Problem mehr und verschwindende und wieder auftauchende Werte werten unterstützt. Bei manchen SMA-Wechselrichtern werden werden aufgrund falscher Daten nicht alle Werte erkannt, das stimmt. Ansonsten kennen wir als SMA-Quirk bisher nur, dass die Phasenströme von Wechselrichtern immer mit Vorzeichen angegeben werden, obwohl sie laut SunSpec-Standard vorzeichenlos sein sollten. Dafür haben wir aber einen Workaround implementiert.
  23. Leider liefert der Wechselrichter auch im Kompatibilitätsmodus die gleichen kaputten Daten. Er behauptet, Daten für zwei MPP-Tracker zu haben, liefert dann aber Daten für sechs. Ich vermute mal, dass du nur zwei Strings an deinem WR angeschlossen hast. Danke, du kannst die Portweiterleitung jetzt wieder deaktivieren.
  24. Zu deinem Wechselrichter: Die Geräteerkennung bricht ab, weil der Wechselrichter an einer Stelle falsche Daten liefert. SunSpec-Daten sind eine Kette von Blöcken und jeden Block gibt an, wie lang er ist. Bei einem Block wird nun eine zu kurze Länge gemeldet, sodass wir den Anfang des nächsten Blockes mitten in den Daten des vorigen Blockes suchen, was natürlich nicht funktioniert. Da es keine Möglichkeit gibt, die tatsächliche Länge des Blockes herauszufinden, ist das an der Stelle auch nicht zu retten. Für dich macht das allerdings keinen Unterschied, da ich händisch an den Mustern in den Daten erkennen kann, dass nach dem kaputten Block keine weiteren Blöcke mehr kommen. Das bedeutet allerdings auch, dass du den tatsächlichen Netzbezug nicht über SunSpec auslesen kannst. 😒 Gibt es im Webinterface deines Wechselrichters irgendwelche Einstellmöglichkeiten hinsichtlich SunSpec? Falls nicht, kannst du die Portweiterleitung wieder deaktivieren, da wir dann sowieso nichts anderes aus dem Gerät herausbekommen.
  25. Aktuell kann man mit dem zweiten Zähler noch nichts machen, außer die Werte ansehen, da PV-Überschussladen für die Wallboxen noch nicht fertig ist. Es motiviert aber Nutzer, es auszuprobieren, und wir bekommen Feedback zu SunSpec, was sich bei der vor einiger Zeit veröffentlichten SunSpec Beta Firmware doch sehr in Grenzen hielt. SunSpec ist eigentlich ein Standard, allerdings hält sich praktisch kein Hersteller komplett an den Standard, sodass wir auf Nutzerfeedback angewiesen sind, um herauszufinden, welcher Hersteller an welcher Stelle eine Extrawurst braucht.
×
×
  • Neu erstellen...