Solax PV: MQTT Adapter lässt sich nicht hinzufügen

Solax PV: MQTT Adapter lässt sich nicht hinzufügen

1
0

Moin,

ich bin weiterhin Laie und versuche seit acht Stunden mithilfe des Forums und ChatGPT meine Daten der Solax PV aus ioBroker/Mosquitto in die cfos zu prügeln, um irgendwie Überschussladen für den Skoda Enyaq zu erreichen.

Meine Solax Daten werden über MQTT publiziert, das Format zur Ausgabe im gewünschten cfos json-Format habe ich mehrfach umgebaut. Aber ich kriege es nicht hin einen passenden Zähler anzulegen bzw. weiß nicht, wo ich ihn zur Auswahl finde.

Ich trete auf der Stelle und weiß einfach nicht, wie ich den hochgeladenen benutzerdefinierten Zähler auswählen kann.

Im Anhang meine gesamte Konfiguration der Powerbrain, der solax-Zähler sowie das javascript aus ioBroker zur Formatierung solax-Werte für powerbrain via MQTT.

Hab’s erst mit der stable 2.4.0 und nun mit der 2.4.13 probiert.

Gelöst
markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Gefragt am 28. Februar 2025 23:37
141 views

Antworten (18)

0
Private answer

Danke.

Ja, bin auf v2.3.14.

Bis Donnerstag späten Abend auf Dienstreise, melde mich Freitag bzw am Wochenende. Habe auf der Fahrt (Beifahrer) nochmal etwas recherchiert und eine andere Idee zur Umgestaltung der Laderegel.

markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 11. März 2025 6:48
0
Private answer

Da ist jetzt nichts besonderes dran. Hänge ich dir aber gerne an.

Vielleicht lädt du mal deine Konfig hoch. Dann schaue ich da mal rein.

Welche Firmware benutzt du? 2.4.13? Falls nicht, mach ein update.

Anhänge:
markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1350)
Beantwortet am 10. März 2025 19:22
0
Private answer

Könntest du mir deine config der Laderegel mal zeigen bzw. was kann ich deiner Meinung nach prüfen?

Jetzt gerade Auto angesteckt und es lädt sofort los, Speicher ist bei 71%, also unter der Schwelle meiner Laderegel. Auch sehe ich nicht, dass der Überschuss in irgendeiner Form berücksichtigt wird. Er lädt einfach munter mit ca. 5kw, egal wie die Sonne steht oder der Speicher gefüllt ist.

markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 10. März 2025 11:55
0
Private answer

Komisch, bei mir funktioniert es.

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1350)
Beantwortet am 9. März 2025 17:31
0
Private answer

Ja, bezogen auf den Screenshot hast du recht. Ich habs aber gestern schon hochgesetzt. Er ignoriert es aber einfach.

Im Anhang ein aktueller Screenshot der Laderegel vom Handy.

Anhänge:
markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 9. März 2025 14:16
0
Private answer

In der Laderegel hast du aber 60% SOC geschrieben. Sonst sieht es richtig aus!

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1350)
Beantwortet am 9. März 2025 13:58
0
Private answer

Irgendetwas mache ich noch falsch, aber langsam sehe ich den Wald vor lauter Bäumen nicht mehr.
Meinetwegen darf das Auto gern auch den Speicher einbeziehen, um daraus zu laden. Allerdings möchte ich dies nur bis zu 85% SoC zulassen, siehe Laderegel im Post davor.

Aktuell lädt er aber munter weiter und ignoriert den SoC des Speichers.
Vielleicht stimmt irgendwas in meiner Zuordnung der Zähler nicht oder in der Berechnung der Daten. Der Hausverbrauch beinhaltet ja auch das Auto mit dem aktuell laufenden Ladevorgang. Muss ich vielleicht eine Formel reinschreiben, dass er den Gesamtverbrauch - Ladevorgang für den Überschuss berechnet oder so?

Ich steige nicht mehr ganz durch und benötige nochmal Unterstützung.

Anhänge:
markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 9. März 2025 13:49
0
Private answer

Hab mich jetzt an deiner Antwort aus dem Thread https://www.cfos-emobility.de/network/antworten/pv-ueberschuss-mit-bedingung-soc-batteriespeicher/ bedient und die Laderegel so mit leichten Anpassungen übernommen. Mal gucken, ob es funktioniert.

Anhänge:
markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 8. März 2025 1:16
0
Private answer

Glaub ich habs jetzt hinbekommen und alle Daten beisammen, aufgeteilt auf die einzelnen Zähler, falls es jemanden interessiert. Werde mich also nun an der Laderegel für Überschuss versuchen.

Hier mein iobroker-Solax Script zum Export/Import der Daten:
const interval = 10000; // Intervall in Millisekunden (10 Sekunden)

// Funktion zum Senden der Werte an die jeweiligen Zähler
function sendDataToCFos() {
// Werte aus ioBroker abrufen
const feedinPower = getState("solax.0.data.feedinpower").val; // Einspeisung / Netzbezug
const housePower = getState("solax.0.data.acpower").val; // Hausverbrauch
const pvPower = getState("solax.0.data.powerdc1").val + getState("solax.0.data.powerdc2").val; // PV-Leistung auf dem Dach
const storageLevel = getState("solax.0.data.soc").val; // Speicherfüllstand in %
const storagePower = getState("solax.0.data.batPower").val; // Batteriespeicher-Leistung (negativ = Entladen, positiv = Laden)

const consumeEnergyWh = getState("solax.0.data.consumeenergy").val * 1000; // Netzbezug in Wh
const feedinEnergyWh = getState("solax.0.data.feedinenergy").val * 1000; // Einspeisung in Wh

// **Korrektur der Werte gemäß Messkonzept 1**
// cFos erwartet positive Werte für PV-Überschuss -> Vorzeichen umdrehen
const correctedFeedin = feedinPower > 0 ? feedinPower : 0;
const correctedGridImport = feedinPower < 0 ? Math.abs(feedinPower) : 0;

// Werte für den Hausverbrauch & PV-Erzeugung direkt übernehmen
const correctedHouse = housePower;
const correctedPV = pvPower;

// Speicherfüllstand bleibt als Prozentwert erhalten
const correctedStorage = storageLevel;

// **MQTT-Befehle für die jeweiligen cFos-Zähler senden**
exec(`mosquitto_pub -h localhost -t "cfos_mqtt/set/M4" -m '{"power_w": ${correctedFeedin}}'`); // Einspeisung ins Netz
exec(`mosquitto_pub -h localhost -t "cfos_mqtt/set/M5" -m '{"power_w": ${correctedHouse}}'`); // Hausverbrauch
exec(`mosquitto_pub -h localhost -t "cfos_mqtt/set/M6" -m '{"power_w": ${correctedGridImport}, "import_wh": ${consumeEnergyWh}, "export_wh": ${feedinEnergyWh}}'`); // Netzbezug
exec(`mosquitto_pub -h localhost -t "cfos_mqtt/set/M7" -m '{"power_w": ${storagePower}, "soc": ${correctedStorage}}'`); // Speicher

// **Loggen der gesendeten Werte**
log(`Gesendet an cFos:
Einspeisung=${correctedFeedin}W,
Haus=${correctedHouse}W,
Netzbezug=${correctedGridImport}W,
PV=${correctedPV}W,
Speicher=${storagePower}W,
Speicherfüllstand=${correctedStorage}%`);
}

// Zeitplan für die Ausführung alle 10 Sekunden
schedule("*/10 * * * * *", sendDataToCFos);

// Erste Ausführung direkt nach dem Start
sendDataToCFos();

Anhänge:
markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 7. März 2025 21:40
0
Private answer

Ich habe jetzt separate Schalter für alle möglichen Informationen angelegt, s. Screenshot.

Mir ist aber in der Vielzahl von Dokumentationen bei cfos nicht wirklich ins Auge gesprungen, wie die Felder heißen, auf die ich die ganzen Daten mappen soll. Für den Netzbezug habe ich power_w verwendet. Kannst du mir die Definitionen der Felder linken? Ich habs einfach stumpf immer mit power_w und lediglich soc für die Batterie probiert.

Anhänge:
markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 7. März 2025 20:46
0
Private answer

Hey,

erneut danke für deine Unterstützung.

  • Ich habe nun also deine letzten Anmerkungen gesichtet und es so umgebaut, dass der verbundene Zähler zur Wallbox nun wieder der interne MIT-Zähler M3 ist.
  • In meinem separaten M4 (MQTT) habe ich den Bereich des Batteriespeichers erstmal deaktiviert und somit die dortige Laderegel mit PV rausgeworfen.
  • In der Wallbox selbst habe ich die "PV Surplus" Laderegel aktiviert und 6.000mA per Phase eingestellt.

Hast du die PowerBrain-Solar-Variante?

Nein, die normale Powerbrain 11kw. Die PV-Anlage ist erst danach und relativ spontan dazugekommen. Ich hatte bereits vorher eine auf dem Dach vom Vorbesitzer mit 100% Einspeisung zu 41ct/kw bis 2029 übernommen. Die neue PV-Anlage kam erst vor ein paar Monaten hinzu, nach Anschaffung der Wallbox.

Warum schickst du nicht einfach die Werte vom Netzbezugszähler? Dann setzt du die Rolle deines "Solax MQTT"-Zählers auf Netzbezug und schon sollte es laufen.

Die Netzeinspeisung schicke ich ja von iobroker an die cfos. Vielleicht schmeiße ich nicht nur den einen Parameter rüber, sondern einfach alles, was ich an Infos in iobroker habe? Also auch Dachleistung, Füllgrad Speicher, Hausbedarf? Das kann ich nochmal entsprechend versuchen zu erweitern.

Vielleicht trete ich auf der Stelle, sorry. Aber mir ist noch nicht klar, wie die Laderegel der WB nun den Wert aus dem M4 MQTT-Zähler nutzt und verarbeitet. Passiert das aufgrund der allgemeinen Powerbrain Konfiguration, in der ich den MQTT Server hinterlegt habe? Bisher dachte ich, dass ich dazu eben nicht den internen M3 Zähler, sondern den neuen M4 Zähler an die Wallbox hefte.

Mehrphasig geladen wird prüft/entscheidet der ChargingManager beim starten der Ladung.

Mein gewählter Modus ist aktuell weiterhin "Beobachtung". Im Dashboard unter "Lastmanagement Setup" kann ich den Button "Lastmanagement" nicht aktivieren und speichern, er bleibt einfach aus.

    Um das Ganze zu vereinfachen und beschleunigen, würde ich mir sonst auch Hilfe bei der Konfiguration von CFOS selbst holen, damit sich jemand draufschaltet und mir das einmal vernünftig anhand meiner Überlegungen einstellt, falls sowas als Dienstleistung gegen Bezahlung zur Verfügung stünde...

markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 7. März 2025 15:28
0
Private answer

Moin,

Ist also die gewählte Laderegel "PV surplus" die richtige? und wenn ich mind. 6.000mA für den Typ2-Stecker benötige, stelle ich dann PV-Surplus per phase auf 2.000mA?

Nein, du stellst auf 6000mA ein. Ob Ein- oder Mehrphasig geladen wird prüft/entscheidet der ChargingManager beim starten der Ladung. Hast du die PowerBrain-Solar-Variante?

 

Also in der Wallbox-Konfiguration habe ich den Bereich Lastmanagement, Screenshot dazu "WB_Lastmanagement". Dort ist der von dir angesprochene Mindestwert auf 6.000mA gesetzt.

Ein tieferer Wert geht dort auch nicht. Mir fällt an deinem Screenshot auf, dass du den "angehängten Zähler" geändert hast. Das funktioniert nicht. Hier muss der Zähler angegeben werden, der den Verbrauch der Wallbox misst. In der Regel den M3

 

Die Einstellung der Laderegel hängt aber bei mir zwingend an dem verknüpften Zähler (Solax MQTT). Auch hierzu mal ein Screenshot anbei "M4_Laderegel".

Das ist die Batteriespeicher-Steuerung! Damit kann meinen seinen (Haus)-Akku steuern. Das hat aber nichts mit den Laderegeln für Auto zu tun! Diese werden in der Wallboxkachel angelegt.

 

Wahrscheinlich habe ich auch noch einen Denkfehler in der Übermittlung der Daten an cfos. Aktuell sende ich nur den reinen Wert zum PV-Überschuss an cfos. Wenn die WB anspringt, geht der Wert ja zwingend auf 0. Woher weiß also die WB, wann sie ggf. auch den Ladevorgang stoppen muss.

Hmm, schwierig! Warum schickst du nicht einfach die Werte vom Netzbezugszähler? Dann setzt du die Rolle deines "Solax MQTT"-Zählers auf Netzbezug und schon sollte es laufen.

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1350)
Beantwortet am 3. März 2025 11:10
0
Private answer

Ok, danke dir für die Antwort. Habe ich soweit verstanden.

Testweise würde ich es gern hinbekommen, dass wirklich nur geladen wird, wenn die Mindestmenge, die benötigt wird, vom PV-Überschuss kommt. Also weder aus dem Speicher noch durch Netzbezug (zumindest nicht in nennenswerter Größe).

Ist also die gewählte Laderegel "PV surplus" die richtige? und wenn ich mind. 6.000mA für den Typ2-Stecker benötige, stelle ich dann PV-Surplus per phase auf 2.000mA?

Also in der Wallbox-Konfiguration habe ich den Bereich Lastmanagement, Screenshot dazu "WB_Lastmanagement". Dort ist der von dir angesprochene Mindestwert auf 6.000mA gesetzt.

Die Einstellung der Laderegel hängt aber bei mir zwingend an dem verknüpften Zähler (Solax MQTT). Auch hierzu mal ein Screenshot anbei "M4_Laderegel". Hier habe ich erstmal nichts verändert.

Kannst du mir einen Tipp geben, wie die zusammenpassen bzw. was ich evtl. falsch mache?

Wahrscheinlich habe ich auch noch einen Denkfehler in der Übermittlung der Daten an cfos. Aktuell sende ich nur den reinen Wert zum PV-Überschuss an cfos. Wenn die WB anspringt, geht der Wert ja zwingend auf 0. Woher weiß also die WB, wann sie ggf. auch den Ladevorgang stoppen muss.

Anhänge:
markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 3. März 2025 9:43
0
Private answer

Moin,

6000mA ist der kleinste Strom den der Typ2-Standard zulässt. Da drunter wird nicht geladen. Stellt man in der PV-surplus-Regel Werte unter 6000 ein, kommen die fehlenden 3000mA aus dem Netz. Wenn jetzt ein Speicher vorhanden ist, versucht dieser den Netzbezug zu übernehmen.

Du schreibst du hast die Laderegeln in der Zählerkachel angelegt. Fürs Auto müssen die in der Wallboxkachel angelegt werden.

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1350)
Beantwortet am 2. März 2025 22:26
0
Private answer

Moin,

also ich habe es jetzt geschafft die Einspeisung meiner Solax-PV in cfos zu integrieren. Daten werden von iobroker über ein javascript an mosquitto geschickt, das ebenfalls auf dem Raspberry läuft und von dort weiter an die CFOS.

Nun bin ich dabei das Überschussladen einzustellen und benötige hierbei nochmal etwas Unterstützung, falls möglich...

  1. Wallbox ist mit dem M4-Zähler (Solax MQTT) verbunden.
  2. Ich habe im Zähler die vordefinierte Laderegel "PV surplus" hinterelegt und den Parameter "PV-Surplus per phase" testweise auf 3000 (mutmaßlich mA?!) eingestellt.
  3. im Einstellungsbereich Lastmanagement der Powerbrain muss ich einen min. Ladestrom von 6.000mA einstellen, Werte darunter werden nicht zugelassen.

Bei aktuell sonnigem Wetter ist mein PV-Speicher zu 100% geladen, das Auto (Skoda Enyaq 85) hängt an der Ladesäule und bekommt aktuell laut Skoda App 4kW. Die "feedinpower" also Netzeinspeisung geht auf 0 runter.

Ich beziehe nun aber auch Strom aus dem Speicher, was ja eigentlich nicht sein sollte. Die PV-Anlage produziert aktuell 5,33kW (12kW Peak Anlage).

Fragen:

  • Kann ich es so einstellen, dass wirklich nur der Überschuss geladen wird und er nicht an meinem Speicher saugt?
  • Kann er auch bei geringer Menge nur 1-phasig laden? Der Schwellwert von 4-5kW Überschuss wird evtl. nicht dauerhaft gegebensein
  • Sind meine Einstellungen überhaupt richtig?

Ich hoffe ihr könnt mir einigermaßen folgen. Ich habe im Anhang nochmals ein paar Informationen beigefügt.

Danke vorab!

//Edit: Vielleicht passt es doch und der Verbrauch des Speichers geht ins Haus? Ich weiß es nicht genau.

Mein Wunsch wäre eben, dass priorisiert das Haus mit PV versorgt wird und das Auto einfach den Rest abgrast, der sonst ans Netz ginge. Also idealerweise hätte ich zur jetzigen Tageszeit einen Speicher mit 100% Speicher und keinen Netzbezug.

Da cfos ja nur die Einspeisung als Wert bekommt, müsste der Hausverbrauch ja auch eh priorisiert werden mit der aktiven Laderegel?!

Anhänge:
markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 2. März 2025 13:42
-1
Private answer

Und, schon Erfolg gehabt?

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1350)
Beantwortet am 2. März 2025 10:33
0
Private answer

Danke. Werde ich testen.

markiert als Spam
Geschrieben von (Fragen: 5, Antworten: 28)
Beantwortet am 1. März 2025 14:02
1
Private answer

Hi, benutzt einfach den HTTP-Input-Zähler. Dafür brauchst du keine eigene Definition.

https://www.cfos-emobility.de/de/cfos-charging-manager/documentation/mqtt.htm

markiert als Spam
Geschrieben von Top Networker (Fragen: 0, Antworten: 1350)
Beantwortet am 1. März 2025 0:11