Smoki Geschrieben March 25, 2024 at 11:24 Geschrieben March 25, 2024 at 11:24 (bearbeitet) Hallo zusammen, da mein Wechselrichter anscheinend mit SunSpec ein wenig Probleme hat und ich die Abhängigkeit zu einem weiteren Tool (evcc) vermeiden will habe ich die PV Ladung selbst programmiert. Soweit klappt alles. Ich kann die Wallbox Manuell starten und ihm den Ladestrom mitgeben. Auch eine Min+PV (wie bei evcc) und eine reine PV Ladung mit diversen Parametern funktioniert super. Jetzt will ich zusätzlich die Leistung anzeigen was im aktuellen Ladevorgang bereits ins Auto geladen wurde. Dazu hab ich folgede benötigte API Aufrufe identifiziert: charge_tracker/current_charge[meter_start] => Zählerstand zu Beginn des Ladevorgangs meters/0/values[209] => Zählerstand (kein Reset möglich) meters/0/values[210] => Zählerstand seit Reset Da ich nie einen Reset durchgeführt habe kann ich leider nicht feststellen welchen Zählerstand charge_tracker/current_charge[meter_start] zurück gibt. Vielen Dank bearbeitet March 25, 2024 at 12:01 von Smoki Zitieren
rtrbt Geschrieben March 25, 2024 at 12:40 Geschrieben March 25, 2024 at 12:40 Der Charge Tracker benutzt die nicht zurücksetzbaren Werte. D.h. du brauchst die 209 wenn du seit Firmware 2.2.0 mindestens einmal die aufgezeichneten Ladevorgänge gelöscht hast. Falls du noch ältere Ladevorgänge hast, benutzt der Charge Tracker den Wert 213 Energy Active LSum ImExSum statt ... Import, also die Summe aus Import und Export. Das hatten wir in 2.2.0 geändert, aber damit in den Ladelogdateien kein Sprung entsteht, passiert der Wechsel erst wenn die Ladevorgänge einmal geleert werden. Siehe hier: https://www.tinkerforge.com/de/blog/new-features-in-warp2-221-and-wem-202/ (ganz unten) Wichtig, weil du das so geschrieben hast: 209 usw. sind nicht direkt Indices in meters/0/values, sondern am Index an dem in meters/0/value_ids die 209 steht, steht in /values der entsprechende Wert. Zitieren
Smoki Geschrieben March 25, 2024 at 13:41 Autor Geschrieben March 25, 2024 at 13:41 ja, das mit dem Index ist mir bewusst. Nur so kann man schneller nachschauen ob die Werte die ich nehme auch die richtigen sind :-) Ladevorgänge habe ich bereits zurück gesetzt. Danke Zitieren
Smoki Geschrieben March 25, 2024 at 13:52 Autor Geschrieben March 25, 2024 at 13:52 Ach ja, was ich noch fragen wollte: Wie warscheinlich ist es, dass ihr die Indices ändert? Ich lese nicht jedes Mal die meters/X/value_ids aus sondern verwende nur direkt die Indices Zitieren
MatzeTF Geschrieben March 25, 2024 at 15:23 Geschrieben March 25, 2024 at 15:23 Schnell editieren, hatte deine Frage zuerst falsch verstanden… Die Indices sind nicht fix und können sich ändern, wenn wir z. B. irgendwas an der Zählerbehandlung ändern. Aktuell haben wir nicht geplant, etwas an den Indices der verbauten Zähler zu ändern, aber wir garantieren das nicht und die Indices könnten sich jederzeit ändern. Es ist beabsichtigt, dass du die passende ID raussuchst und dann deren Index verwendest. Zitieren
Eugenius Geschrieben November 21, 2024 at 10:27 Geschrieben November 21, 2024 at 10:27 @MatzeTF Am 25.3.2024 um 16:23 schrieb MatzeTF: Die Indices sind nicht fix und können sich ändern Das irritiert mich ein wenig... Ich möchte bei einem Ladevorgang zum Begin und zum Ende die Zählerstände von der Wallbox und von dem Netzzähler auslesen, also ID209, so kann ich PV Nutzung berechnen. D.h. ich kann es nicht in den Code eingießen, sondern muss es änderbar machen?! Zitieren
MatzeTF Geschrieben November 21, 2024 at 10:40 Geschrieben November 21, 2024 at 10:40 Prinzipiell ist es so gedacht, dass du dir aus den value_ids die Position von ID 209 raussuchst und dann von der selben Position aus values den entsprechenden Wert ausliest. Wenn du MQTT oder etwas ähnliches, Event-getriebenes verwendest, kannst du dich einfach auf Updates von value_ids hängen und die Position cachen, da sie sich zur Laufzeit der Wallbox nicht ändern wird. Wenn du dagegen ein Script hast, das pro Start nur einmal den Wert ausliest und sich dann beendet, solltest du immer erst value_ids und dann values lesen, da sich die Position zwischen zwei Starts geändert haben könnte. Es kann z.B. sein, dass ID 209 aktuell an Position 29 steht, nach dem nächsten Firmware-Update aber an Position 34. Du kannst natürlich der Einfachheit halber die Position 29 in den Code gießen. Aktuell wird das genauso gut funktionieren, aber du läufst dann Gefahr, dass das in Zukunft doch mal kaputt sein könnte und dein Code unsinnige Ergebnisse ausgibt. Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.