NEWS
Übergabe von Werten von Smartmeter an cFos Wallbox
-
@euro
Ich habe auch eine cfos-Wallbox (und eine go-e) und lese den Strom mit dem Hichi über Tasmota aus (alle 10s). cfos habe ich per Modbus Adapter im Iobroker.Ich habe 3 Ladeprofile:
a) Volle 16A
b) min+PV (6A + ggf. PV-Überschuss, wenn mehr da ist)
c) NurPVDa ich mit der PV-Übeschussladung im Powerbrain nicht klargekommen bin habe ich mir in Iobroker ein Skript gebastelt.
- Alle 10s ermittle ich den derzeitigen PV-Überschuss:
Wert vom Hichi bereinigt um Ladeleistung der Wallbox - Division des PV-Überschuss / 230.
Dadurch habe den PV-Überschuss in Ampere (gerundet). - Schreibe ich diesen Wert in das passende Register (alle 10s)
- Skript schickt je nach Ladeprofil den passenden Wert (in A) ans cfos.
- Damit es an der Schwelle zu 6A nicht permanent ein- und wieder ausschaltet
habe ich eine Trägheit für den Wert < 6A verwendet (gleitender Durchschnitt des PV-Überschusses der letzten 8 Werte). Erst wenn dieser unter 5A geht, sende ich das Stop-Signal.
Habe dies so seit einigen Monaten so am laufen.
rot: cfos
blau: go-e
gelb: PV-ÜberschussHier ein Tag:
Hier ein Teil des selben Tages:
Dies war der heutige Tag: (war jedoch go-e)
Das Gleiche in größerer Auflösung:
Man kann erkennen, dass um 17:15 Uhr nicht mehr genügend Überschuss vorhanden war. Daher wurde die Ladung unterbrochen.
Hinweis:
Ich lade nur 1-Phasig, da meine PV nur bei optimalen Bedingung 4700W
schafft. Da hätte ich ein ständiges Umschalten von 1 auf 3 Phasen.
Ausserdem können beide Fahrzeuge nur 1-Phasig laden.Gruß Claus
- Alle 10s ermittle ich den derzeitigen PV-Überschuss:
-
Hallo Claus,
was war denn das Problem bei der cfos Laderegel?
oder lag das mehr in der Anbindung des go-e ?ich habe zwar knapp 10kWp, davon allerdings 7 auf Nord
weshalb auch selten mal 7 runterkommen. Wenn dann Verbraucher dazukommen, stoppt der 3-phasige Ladevorgang recht schnell, bin daher auch fast nur 1-phasig am laden.
Das klappt aber seit der Umsetzung super, konnten eigentlich bei dem tollen Sommer rein mit solar den Akku füllenwerde die Lösung nun nochmal bei einem Vater nachbauen, da hab ich grad 8kWp gebaut.
ioBroker mit hichi und ne cfos ist dort ebenfalls vorhandenmfg
STefan -
Ich hatte die Steuerung für Go-e sowieso. Daher wollte ich es gleich haben.
Mein ursprüngliches Problem war die Einbindung des Hauszählers mit dem Hitchi+Tasmota. -
@euro said in Übergabe von Werten von Smartmeter an cFos Wallbox:
und noch ein Hinweis
ich konnte zwar die Leistung an den HTTP Input Zähler übergeben
aber das Solarladen funktionierte noch nicht, Ladevorgang startete nicht bzw wenn dann nur mit der voreingestellten Leistung, nicht dynamisch
Die cfos benötigt zusätzlich den Strom (A) um den Ladestrom abhängig vom Solarstrom zu regeln (zw 6 und 16A halt)
(Einen Dank an den schnellen cfos Support und einem Nutzer aus dem goingelectric Forum)
dazu hab ich die Variable wie in der cfos Doku noch übergeben
"current": [c1, c2, c3],Skript ergänzt um folgende Zeile (Strom=Leistung x 1000 / 3 x 230)
Strom = Leistung / 0.690
var data =
{ "import_vah": ${Arbeit}, "power_va": ${Leistung}, "current": [${Strom}, ${Strom}, ${Strom}] }
;
xhr.send(data);was ich jetzt noch suche, ist wie ich die Daten der Ladekurve ebenfalls in IoB bekomme, um Sie in Grafana auszuwerten
Falls mir da jemand auf die Sprünge helfen magaktuell bekommt die eKiste also wenn möglich nur noch grünen Strom
Die Zählerdaten in ioBroker kommen über einen Tasmota ESP rein, der mit einem "Hichi" Infrarot Lesekopf ausgestattet ist und per MQTT mit ioB kommuniziert
mfg STefan
Hallo zusammen,
hätte jemand der Vollständigkeit halber eventuell nochmal das komplette funktionierende Script, inklusive der Anpassung von @euro - und kurzer Erläuterung, welche Variable was ist? Ist "Arbeit" der aufsummierte Import? Wozu braucht man den? Ich wäre jetzt davon ausgegangen, dass man nur die aktuelle Leistung am Hausanschluss übergeben muss (inkl. errechneter Stromstärken anscheinend)? Kann das kurz jemand klarstellen? Danke!
Gruß
Hendrik -
Hallo Hendrik,
nutzt du einen Lesekopf mit tasmorta am eHz?
ich hab es letzte Woche umgestellt und den "Umweg" über ioBroker entfernt.
die Cfos kann dies mittlerweile selbst, siehe
https://www.cfos-emobility.de/de/cfos-charging-manager/documentation/optical-reader-sml.htm
die Zählervorlage muss man noch auf die eigene Umgebung etwas anpassenfalls uninteressant, kann ich dir gerne mein Skript nochmal zusenden
mit dem letzten Firmwarestand geht Solarladen wieder mit VA und W Lieferung
Bei Fragen dazu .. melden -
Danke für die schnelle Antwort! Die Werte an sich liegen mir alle vor (Smartmeter und Sungrow Wechselrichter, wird alles per ioBroker eingesammelt - also kein Lesekopf). Ich hatte schon überlegt, ob ich die Werte direkt per Modbus von der cFos auslesen lasse, aber Modbus am Wechselrichter scheint etwas Probleme damit zu haben, wenn mehrere Clients Werte abfragen. Deshalb wollte ich es erstmal mit ioBroker versuchen, da dort eh schon alles vorliegt.
Welche Werte genau muss ich denn an die cFos liefern? Reicht im Endeffekt also die tatsächliche Leistung, die Stromstärken brauche ich nicht (mehr)? Mich irritiert etwas, dass durch das Script zwei Werte an den virtuellen Zähler der cFos geliefert werden sollen - "Arbeit" und "Leistung". Ich hatte gedacht, dass nur "Leistung" (in meinem Fall vorliegend in Watt) reicht, und ich das als "power_w" übergeben kann. Muss ich zwingend "import_vah" und "export_wh" auch übergeben? Falls ja, was müssen da für Werte rein? Im Beispiel in der cFos Doku scheinen da Fantasiewerte drin zu stehen. Wofür genau werden die genutzt? In der cFos Doku habe ich leider nichts gefunden, wo dokumentiert ist, welcher Wert was genau ist...
Und ja, das Script wäre super, am besten mit kurzer Anmerkung welche Variable im HTTP request was macht und ob sie überhaupt fürs Überschussladen nötig ist.
Danke Dir!
Gruß
Hendrik -
@berlinerbolle
das war Stand Januar"wir haben in der Version 1.16 geändert, dass der Charging Manager den Wert für "power_w" unbedingt braucht. Der HTTP Input Zähler bekommt über den HTTP request aber nur power_va.
Ich habe jetzt eingebaut, dass er power_w, falls fehlend, auf power_va setzt.
Können Sie bis zur nächsten Version in dem HTTP request kurzerhand power_w setzen"nach Update auf version 1.16.6 gehen nun beide Varianten wieder
Skript liefere ich dir per PNmfg
STefan -
Hello @euro
Kannst du mir nochmal Hilfestellung geben? Ich hab einen Hichi IR Lesekopf der auch soweit funktioniert, ich bekomme aktuelle Last bzw. sehe was aktuell Eingespeist wird und versuche den nun als HTTP Input Zähler hinzuzufügen.
Ich kann aber nirgendes eine IP Adresse eintragen - ist das normal? Bin auf Version 1.18Zwar hab ich auch IOBROKER im Einsatz, würde aber gerne den direkten Weg gehen.
-
@march
Hi und Sorry, hatte die Frage übersehendu musst dir hier bei cfos die Vorlagendatei für den Tasmota
https://www.cfos-emobility.de/files/meter-definitions/tasmota_smartmeter.jsonherunterladen und an deine Umgebung anpassen, bei mir musste ich den Namen anpassen
im ersten cfos Link ist die Beschreibung, musste auch jeden Satz 2 mal lesen um zu verstehen was alles zu tun ist
http://ip_lesekopf/cm?cmnd=status%2010
hiermit bekommst du den Output deines Zählers, mit dem Output passt du dann die Vorlagendatei angehst unter Konfiuration und lädst dort deine angepasste Vorlagendatei als Zählerdefinition hoch
anschliessend in Screenshot von dir dann den neuen Zähler (statt HTTP Input) auswählen, dann kannst du dort die IP hinterlegen, sieht bei mir so aus (Zählername kannst du in der Vorlage anapassen)wenn es nicht klappt, am besten mal den output deines Zählers hier posten
http://ip_lesekopf/cm?cmnd=status%2010mfg
STefan -
@euro sagte in Übergabe von Werten von Smartmeter an cFos Wallbox:
os Link ist die Beschreibung, musste auch jeden Satz 2 mal lesen um zu verstehen was alles zu tun ist
http://ip_lesekopf/cm?cmnd=status%2010
hiermit bekommst du den Output deines Zählers, mit dem Output passt du dann die Vorlagendatei an
gehst unter Konfiuration und lädst dort deine angepaDu scheinst dich ja gut auszukennen mit der Cfos. Ich habe meine heute bestellt, scheint ja die beste zu sein, die es auf dem Markt gibt. Meine Mennekes ist zum Glück verkauft.
So, nun muss ich aber der Cfos einige Daten übergeben. Ich habe eine 40,5 kwp PV Anlange von Huawei. Die habe ich per Modbus TCP am iobroker und hole mir alle Daten soweit rein. Nun will ich ja PV Überschuss laden und muss dafür der Cfos einige Daten bereitstellen. Huawei kann aber nur 1 Verbindung, also dachte ich, vielliecht sollte ich die Cfos per MQTT anbinden und die Daten so austauschen zwischen iobroker und Cfos.
Oder hat vielleicht einer eine bessere Idee?Tibber wäre auch noch vorhanden.
Gruß und Danke für die Unterstützung.
-
Falls du Erfolg per MQTT hast, schreib mal bitte hier was genau du dafür getan hast. Ich bekomme aktuell keine Daten per MQTT zum in der cFos dafür eingerichteten HTTP Input Zähler.
Ich hatte bisher nur Erfolg per HTTP (funktioniert ja auch), aber MQTT wäre mir deutlich lieber.
-
@berlinerbolle
Mqtt wäre meine erste Wahl. EVCC kann bereits meinen Überschuss lesen, mal schauen ob ich es auch bei der cFos hinbekomme.
Melde mich dann. Mal schauen wie weit ich komme. -
Hi,
@ple : kenn dein ioBroker den aktuellen Hausbezug?
Dann käme das Script hier aus dem initialen Topic in Frage, damit bin ich jetzt ein Jahr sehr gut und zuverlässig mit gefahren
wenn nicht, shop einen Lesekopf für den Hauptzähler und lass die cfos dessen Infos zukommen lassen, wie paar Posts zuvor beschriebenden Huawei würde ich nicht direkt mit der cfos koppeln (wenn es überhaupt geht), wenn der nur mit einem Partner kommunzieren kann.
Dann zum ioBroker und der verteilt/dokumentiert/regelt -
@euro
Zumindest kann huawei nur einen Master bedienen via modbus tcp. Musste auch Umwege über node red machen, der modbusadapter geht leider nicht, warum auch immer.Mein iobroker kennt aber alles von huawei. Wenn ich das richtig verstanden habe müsste ich einen virtuellen Zähler anlegen.
Ich teste zunächst, ob es per mqtt geht, da evcc das topic schon abonniert hat und es soweit geht.
Falls mqtt scheitert, dann gib ich es per http rüber wie im Script, hab sowas zwar noch nie gemacht, aber sollte wohl klappen.Die Wallbox scheint echt gut zu sein für den Preis, wundert mich das die so unbekannt ist.
-
Hallo zusammen,
vorab Danke für die tolle vorarbeit.
Nichtsdestotrotz habe ich ein problem
Ich verstehe nicht was hier für ein Passwort eingetragen werden soll.
Das Admin Passwort funktioniert nicht. Auch die anpassung Admin:Passwort funktioniert nicht.xhr.setRequestHeader("Authorization", "Basic ***password***");
Es kommt immer folgender Fehler.
16:53:13.203 info javascript.0 (1210) script.js.Wallbox.Wallbox_pv_Daten: 401 16:53:13.203 info javascript.0 (1210) script.js.Wallbox.Wallbox_pv_Daten: Unauthorized
Wenn ich die Werte per HTTP GET händisch schicke kommen sie auch an.
Was mache ich falsch ?
Beste Grüße
Tim -
Da muss Nutzername und Passwort in der "üblichen" Kombination name:passwort rein - allerdings Base64 encoded. Wenn Du das von Hand in deinem Browser aufrufst funktioniert es nur deshalb, weil du in dem Browser schon authentifiziert bist (dadurch dass du dich vermutlich im gleichen Browser schon an der Oberfläche der cFos angemeldet hattest).
Du kannst dir das online codieren lassen falls Du kein Tool zur Hand hast, zum Beispiel hier: https://www.base64encode.org/
Aus "meinnutzername:meinpasswort" wird dann "bWVpbm51dHplcm5hbWU6bWVpbnBhc3N3b3J0" - und das muss dann hinter "Basic" im Script rein:
xhr.setRequestHeader("Authorization", "Basic bWVpbm51dHplcm5hbWU6bWVpbnBhc3N3b3J0");
Ich hab da auch kurz gestrauchelt, obwohl ich eigentlich vom Fach bin - mache genau sowas aber nicht aller Tage.
Gruß
-
@berlinerbolle
Das war die Lösung.
Danke dir ! Da hätte ich mir noch die Zähne ausgebissen -
@euro sagte in Übergabe von Werten von Smartmeter an cFos Wallbox:
Hi,
@ple : kenn dein ioBroker den aktuellen Hausbezug?
Dann käme das Script hier aus dem initialen Topic in Frage, damit bin ich jetzt ein Jahr sehr gut und zuverlässig mit gefahren
wenn nicht, shop einen Lesekopf für den Hauptzähler und lass die cfos dessen Infos zukommen lassen, wie paar Posts zuvor beschriebenden Huawei würde ich nicht direkt mit der cfos koppeln (wenn es überhaupt geht), wenn der nur mit einem Partner kommunzieren kann.
Dann zum ioBroker und der verteilt/dokumentiert/regeltSorry, ich muss noch mal kurz nachfragen. Ich hab die Box nun an der Wand und beschäftige mich mit den Zählern. Welche Zähler soll ich denn nun alle anlegen? Ist es richtig, das netzbezug mein Export oder Import ist? Positiv wäre bei mir einspeisen und negativ Bezug.
Hätte aber auch noch mehr Werte die ich übermitteln könnte wie die Last vom gesamten Haus.
Also kurz gesagt, welche Zähler alle mit welchen Werten?
Gruß und Danke -
Hallo zusammen,
ich wollte noch mal kurz Rückmeldung geben, vielleicht kann es noch einer gebrauchen.
ich habe das Script ein wenig umgeschrieben, was ich so als Laie konnte.
Genutzt wird nun "Request", somit ist entfällt das zusätzliche Modul.
Ebenso übergebe ich jetzt auch Voltage und Current und lasse mir im Cfos die Leistung als "W" anzeigen.
Ip, User und Passwort können als Klartext angegeben werden. Zählernummer muss jeweils in der Funktion geändert werden.
Die Ströme und Spannungen vom Wechselrichter fehlen mir noch.
Da ich einen Huawei Wechselrichter habe und einen Powersensor, der über Modbus RTU am Wechselrichter angeschlossen ist, wäre es interessant ob ich den direkt per 2 Draht angeschlossen bekomme. Mal schauen wann ich dazu Lust und Zeit habe.vielleicht kann es ja einer gebrauchen.
-
Hallo zusammen,
danke für eure hilfreichen Scripte. Ich kann mit dem ioBroker Werte an meine cFos übertragen.
Da ich einen E320 Stromzähler habe und nicht an die Ströme komme, errechne ich mir die selber aus der Leistung die der Stromzähler ins Netz leitet.Ich habe im cFos einen HTTP-Zähler angelegt und der hat die Rolle "Netzbezug".
Die wichtigsten Zeilen aus dem Skript:var Leistung = getState("sonoff.0.DVES.E320_Power_in").val; var Bezug = getState("sonoff.0.DVES.E320_Total_in").val*1000; var Strom = Leistung / (3 * 230)*1000; //muss in mA angegeben werden ... var data = `{ "power_va": ${Leistung}, "import_vah": ${Bezug}, "current": [${Strom}, ${Strom}, ${Strom}], "is_va": false }`;
Für was wird der Bezug benötigt (import_vah)?
Ist es ok, dass Import und Export immer 0 sind?Nun zu meinem Problem. Das Überschussladen funktioniert nicht.
Bedeutet er zeigt eine Leistung an, die er scheinbar dem Fahrzeug geben könnte, es wird aber nichts geladen.
Er zeigt mir auch 3 Phasen an, obwohl ich eigentlich nur mit einer Phase laden möchte (keine Ahnung, ob ich das falsch interpretiere). Ich habe die Wallbox mit dem extra Schütz, zur Wahl zwischen 1 und 3 Phasen.Hier ist übrigens der User, der zum Laden verwendet wird:
Der wird beim Laden auch angezeigt.Ich habe einen weiteren Benutzer, der sich per RFID anmelden kann und dort soll einfach mit voller Leistung geladen werden (egal, wie viel Überschuss es gibt). Das funktioniert problemlos.
Habt ihr mir einen Tipp?
Ich wäre euch sehr dankbar.
Gruß Manuel