TeslaLogger
TeslaLogger copied to clipboard
Daten aus cFos Wallbox (cFos Charging Manager) auslesen und für Ladestatistik nutzen
Hi,
wäre es möglich die cFos Wallbox (den Charging Manager) "anzuzapfen" und die Daten z.b. kWh, davon PV, etc für die Laedehistiroe zu nutzen?
Gerade in verbindung mit PV-Überschussladen würde das eine schöne statistik bedeuten... Der weg über nen Shelly 3EM ist da sehr fehlerbehaftet...
Ich würde da auch in rahmen der möglichkeiten unterstützen...
Gibt es da eine Schnittstelle und eine Beschreibung dazu?
würde das schonmal was bringen?
https://www.cfos-emobility.de/de/cfos-charging-manager/documentation/mqtt.htm
habe ach mal beim hersteller angefragt
Ich schaue mir das nächste Woche mal an, aber dazu müsste ich mal auf das System drauf und brauche ein Mitschnitt ohne Ladung und mit Ladung. Ruf mich einfach nächste Woche mal an: https://www.impala64.de/blog/kontakt/
Gibt auch ein HTTP API: https://www.cfos-emobility.de/de/cfos-power-brain/http-api.htm
@Schimi1983 @ThmsD Hilft mir mal die Sache zu verstehen: cFos ist eine Wallbox oder ein Device zum Steuern einer Wallbox? wenn ich mir die HTTP API anschaue, muss man meter1 oder meter2 angeben. Das weiß dann der User was meter1 oder meter2 ist, richtig? Mobusregister die man mitangeben muss, sind klar.
so jetzt habe ich Zeit :-)
die cFos Wallbox ist eine Wallbox vergleichbar mit der OpenWB (https://shop.cfos-emobility.de/products/cfos-power-brain-wallbox-11kw)
es gibt auch noch den cFos charging Manager als windows version.... der ist im grunde auf allen wallboxen drauf und man kann den zum steuern anderer Wallboxen nutzen (ich vermute sowas wie evcc).... https://www.cfos-emobility.de/de/cfos-charging-manager/download.htm
evse ist die wallbox und meter1 müsste der integrierte Zähler sein... keter 3, 4 etc. kann man auch selbst integrieren oder weitere Modbus, etc. zähler einbinden (habe z.B. nen Shell3EM damit die wallbox selbst das PV-überschussladen steuert)
Ich habe die wallbox im iobroker über modbus eingebunden... und stuere Sie (wenn ich es mal brauche) über http befehle
Ich mach mal ne parr Screenshots, vielleicht helfen sie dir weiter:
evse über modbus (iobroker)
S0-Zähler über modbus (ionroker)
Screenshots der benutzeroberfläche:
leider habe ich letztens die ladevorgänge resettet... sonst wäre hier eine anzeige... wieviel geladen wurde, wielange, wieviel über PV und netzbezug
Ah, ok, also müsste man einen (nur Wallbox) oder 2 Meter (Wallbox+Netz= PV Anteil) auslesen. Klingt einfach, ich melde mich noch mal wenn ich mich eingelesen habe
würde es auch begrüßen, wenn man die Effizienz mit Hilfe der cfos in Teslalogger einbauen könnte.
Ich brauche antworten (JSON) von diesen Endpoints (bitte die IP anpassen): http://192.168.2.111//cnf?cmd=get_dev_info http://192.168.2.111/cnf?cmd=modbus&device=meter1&read=8058 http://192.168.2.111/cnf?cmd=modbus&device=evse&read=8004 http://192.168.2.111/cnf?cmd=modbus&device=evse&read=8092
http://192.168.20.148/cnf?cmd=modbus&device=evse&read=8058q
gibt die insgesamt geladen kwh der Wallbox aus.... wenn du meter1 nimmst dann die gesamt kwh des modbus zählers (bei mir wohl unterschiedlioch da ich die box mal auf werkseinstellung zurück gesetzt habe
edit Samstag könnte ich mal schauen wie es aussieht wenn das Auto dabei geladen wird...
ashso, mann kann sich die Ladevorgänge auch als Excel laden von der benutzeroberfläche... sieht dann so aus ta_log.csv
da habe ich am 25.02 angeblich 0,3kWh (gerundet) von den 5,42kWh aus PV bezogen
so, die md=get_dev_info gefällt mir am besten, da sind auch die "externen" Zähler dabei, auch wenn cFos sagt, dass die API sich ohne Vorwarnung verändern kann, gehen wir mal dahin. Jetzt muss du mir noch mal helfen: Device M3, "EM3 am Hausanschluss" was ist das? Netzzähler? er hat "import": 9766409, [Wh] => 9766, 409 kWh, Ist das richtig? Device E1, "cFos Power Brain 11kW", das ist die Wallbox selbst, richtig? "import": 628277, [Wh] => 628,277 kWh, Ist das richtig? Device E1 hat auch noch unter evse -> "charging": false, schaue ob es auf true steht wenn das Auto lädt (am besten noch eine json beim Laden erzeugen)
M1 und M2 sind für uns egal nehme ich mal an, richtig? Ich nehme auch an, dass E1 immer die Wallbox ist, man kann also hardcoden, oder? M3 oder M2/M1 muss aber schon vergeben. Oder auch E1 flexibel machen?
Und noch was, ist irgendwo im cFos angegeben, dass M3 Netzzähler ist? Ich meine, woher soll cFos wissen, dass Solar 0.3kWh waren? da weiß man ja nur, wenn man den Netzzähler mitbrachtet. Ist das ""role": 3,? EDIT: role" : 0, // 0 = display, 1 = consumption, 2 = production, 3 = grid demand, 4 = vehicle consumption, 5 = storage
ich fange dann schon mal an :)
Dann hole ich mal aus und hoffe alles beantworten zu können :-)
- Device M3 ist ein Shelly 3EM (mir ist gar nicht aufgefallen das ich da nen dreher seit über 2 Jahren drin habe) der am Netzübergabepunkt direkt hinter dem Stromzähler den verbrauch (und einspeisung) misst. Dadurch weiss die Box wieviel bezogen bzw. wieviel eingespeist wird( um PV-überschuss laden zu ermöglichen) Wenn ich z.B. mit 11kw lade und bezug ist nur 2kw weiss die Box das 9Kw aus Solar kommen und regelt es entsprechend runter das es nach möglichkeit nur 0 W bezug sind. Der import ist richtig..., das ist aber nicht der import der Wallbox sondern des gesamten hauses seit letztem reset (oder einbau)
get_dev_info.txt während das Auto geladen hat
-
Device M4 ist auch nen Shelly 3EM der direkt vor der Wallbox misst. Dadurch erkennt die Wallbox wieviele Phasen benutzt werden und passt die PV-Überschuss regelung entsprechend an). Müsste aber ein spezialfall (spieltrieb und ich schalte mal eine bzw. zwei Phasen aus um besser die PV- Anlage auszunutzen) bei mir sein und sonst unnötig...
-
Device E1, das ist die Wallbox... import hast du richtig erkannt
-
M1 und M2 sind die integrierten Zähler eingänge... an M1 ist bei mir der Modbus zähler (ich vermute die neuen Versionen haben den auch so angeschlossen). Bei mir ist aber M4 als Zähler für die evse angegeben da der Modbus Zähler nicht einzelne Phasen erkennen kann... die neueren können das angeblich.
-
M3 als Netzzähler, siehe weiter oben... sollte erklären woraus die Box das herleitet... ""role":2", ist "Netzbezug", also ja, der Netzzähler am Hausanschluss
-
zum Thema "Solar", die box bietet auch die möglichkeit Wechselrichter oder Zähler am Wechselrichter einzubinden um da auch eine PV-Überschuss ladung zu ermögichen... da führen am ende mehrere wege nach "Rom".... Die idee sich an get_dev_info zu orientieren ist wahrscheinlich am besten... die zähler kann jeder user selber definieren und teilweise auch mit formeln verändern. die Wallbox ist recht mächtig/flexiebel... macht dadurch aber auch wahrscheinlich probleme :-)
"phases": 7, nicht schlecht :D
Danke, damit kann ich arbeiten, ich melde mich wieder die Tage
Frag mich nicht wie der drauf kommt :-)
Es funzt alles wie es soll, aber ich bin mir sicher ich habe nur 3 Phasen :D
edit
könnte deswegen sein:
sind 7 verschiedene möglichkeiten und ich habe tatsächlich gerade alle 3 Phasen genutzt
Habe hier mal bei cfos die frage im Community bereich erstellt
https://www.cfos-emobility.de/network/antworten/ladevorgaenge-ueber-http-api-auslesen/#answer-1468
man kann auch die jungs direkt per mail (kontaktformular) anschrieben. Als ich nur aktiver war, haatte ich einiges mit denen zutun. waren sehr hilsbereit und haben sachen auch umgesetzt
@Schimi1983 wenn es released wird, bitte testen und Rückmeldung geben. ich habe zwar mit einem MockupServer entwickelt, aber reale Daten sind besser zum Testen ;)
wenn ich die Ip adresse eingebe, dann kommt nur das im Log?
12.03.2024 16:55:54 : System.NullReferenceException: Object reference not set to an instance of an object. at TeslaLogger.WebServer.Admin_Wallbox (System.Net.HttpListenerRequest request, System.Net.HttpListenerResponse response) [0x002c2] in <2539df6baea14424abe174fc5256b02b>:0 12.03.2024 16:56:23 : Wallbox 12.03.2024 16:56:23 : Wallbox 12.03.2024 16:56:23 : Test Wallbox 12.03.2024 16:56:23 : System.NullReferenceException: Object reference not set to an instance of an object. at TeslaLogger.WebServer.Admin_Wallbox (System.Net.HttpListenerRequest request, System.Net.HttpListenerResponse response) [0x002c2] in <2539df6baea14424abe174fc5256b02b>:0 12.03.2024 16:56:32 : Wallbox 12.03.2024 16:56:32 : Test Wallbox 12.03.2024 16:56:32 : System.NullReferenceException: Object reference not set to an instance of an object. at TeslaLogger.WebServer.Admin_Wallbox (System.Net.HttpListenerRequest request, System.Net.HttpListenerResponse response) [0x002c2] in <2539df6baea14424abe174fc5256b02b>:0 12.03.2024 16:56:43 : Wallbox 12.03.2024 16:56:43 : Test Wallbox 12.03.2024 16:56:43 : System.NullReferenceException: Object reference not set to an instance of an object. at TeslaLogger.WebServer.Admin_Wallbox (System.Net.HttpListenerRequest request, System.Net.HttpListenerResponse response) [0x002c2] in <2539df6baea14424abe174fc5256b02b>:0 12.03.2024 16:56:45 : Wallbox
muss man sich vielleicht einloggen?
es gibt noch kein Release auch wenn cFos schon auswählbar ist ;)
ok... dann hätte ich nicht sofort "aktualiesieren" müssen 🗡️ Ich warte und meld vollzug wenn es soweit ist :-)
So hat sich selber 2geupdated" :-)
beim auf "test" drücken, passiert nichts... nur im Log steht:
14.03.2024 21:20:13 : System.NullReferenceException: Object reference not set to an instance of an object. at TeslaLogger.WebServer.Admin_Wallbox (System.Net.HttpListenerRequest request, System.Net.HttpListenerResponse response) [0x002c2] in <2539df6baea14424abe174fc5256b02b>:0
Welche TL Version hast du nun? 1.57.9.0? Nur damit soll es gehen und die gibt es noch nicht. Oder selbst kompiliert? Was hast du in den Einstellungen eingetragen?
ah f***... hätte genauer gucken sollen
1.57.8.0
gerade war aber das changelog zu sehen und es stand die 9.0 drin... dehlab habe ich nicht auf die installierte geguckt....
Ich sollte beim nächsten mal erstmal gucken :D
Change log haben wir vorbereitet und dann einen Bug gefunden, dadurch kleine Verzögerung...
@Schimi1983 jetzt bis du dran ;)
Was muss man denn als Param eingeben? Ich möchte, dass die Werte des Ladevorgangs und die effizienz im TL angezeigt werde?
nichts, nur die IP der Wallbox bzw. des Controllers