MQTT ich verzweifle langsam

Fragen zur Nutzung, Features, usw..
ch.eick
Beiträge: 82
Registriert: Mo Mär 15, 2021 1:21 pm
Has thanked: 1 time

MQTT ich verzweifle langsam

Beitrag von ch.eick »

Hallo zusammen,
ich habe nun schon viel gelesen und versucht umzusetzen. Das Monitoren klappt jetzt, jedoch fehlen mir einfach die richtigen Topics für das Steuern.

openWB serie 2 mit 2 Ladepunkten (einer ist custom) beide Version: 2.1.6 2024-11-25 14:05:51 +0100 [9b5fded6e]

Es gibt readings mit set, get, oder auch zweimal set im Namen, was ich nicht verstehen kann und somit hier schonmal um hilfe bitte.
Der Knaller sind die mit set und get im Namen :-)
Beispiele

Code: Alles auswählen

$DEVICETOPIC/internal_chargepoint/0/get/power
$DEVICETOPIC/set/internal_chargepoint/0/get/power
$DEVICETOPIC/set/counter/set/home_consumption
Weiterhin werden sinnlos viele Nachkommastellen geliefert, was openWB intern vieleicht Sinn macht, aber der Betreiber braucht nach meiner Meinung nur W oder kWh, die er sich dann zum Ende auf kW oder kWh umrechnet bzw rundet. Strom und Spannung wäre ähnlich.

Ich hoffe, dass ich das Prinzip mit Fahrzeugen, Ladepunkten, Profilen und so weiter einigermaßen verstanden habe. Was mir dabei nun noch fehlt sind die Topics, die ich senden muss, um z.B. beim Fahrzeug 1 das Ladeprofil zu zuordnen.
Ich habe alle Fahrzeuge, Fahrzeug_Profile und Lade-Profile definiert und kann diese auch per MQTT als JSON mit allen Einzeldefinitionen auslesen.

Die Frage ist nun,welches json muss ich auf welches Topic senden?
Beispiel
Fahrzeug, Fahrzeug_Profil, Lade-Profil

Code: Alles auswählen

Fahrzeug_0 eNiro eNiro_Sofortladen
Fahrzeug_0 eNiro eNiro_NurPV
Fahrzeug_0 eNiro eNiro_MinPV
Es wäre kein Problem, die von der openWB gelesenen JSON zu analysieren und entsprechend wieder zur openWB zu senden, damit meine default Einstellungen erhalten bleiben oder wiederhergestellt werden, wenn jemand manuell am Display mal etwas überschrieben hat, was momentan ja dann in das aktuell verwendete Profil zurück geschrieben würde.

Hintergrund ist, dass ich an der zweiten openWP einen öffentlichen Ladepunkt betreibe und dort zum Teil etwas komplexere Umschaltvarianten berücksichtigen möchte. Mit der Version 1.9 hat das bereits sehr gut funktioniert.

Soweit erstmal
Christian
Kostal Plenticore 10 und 7 17 kWp, KSEM, BYD HV 8.95 , LWP, KWL, Pool 1m³, FHEM, openWB series2 standard+ 11kW, openWB series2 Custom 11kW (LP2)
Gero
Beiträge: 3890
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 19 times
Been thanked: 129 times

Re: MQTT ich verzweifle langsam

Beitrag von Gero »

Das mit den set-Topics kommt daher, dass nur der openWB/set-Zweig von draussen schreibbar ist. Es haben sich zu viele versehentlich die Konfiguration kaputt gemacht. Set/…./get klingt komisch ist aber genau dieser Tatsache geschuldet. Welche Topics die openWB selber beschreibt, bekommst du über die Entwickler-Konsole des Browsers raus, habe ich mal gelesen. Ansonsten habe ich hier mal einen Flow gescheieben, der die Lademodi setzt:

viewtopic.php?t=9171
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
Benutzeravatar
mrinas
Beiträge: 2420
Registriert: Mi Jan 29, 2020 10:12 pm
Has thanked: 69 times
Been thanked: 78 times

Re: MQTT ich verzweifle langsam

Beitrag von mrinas »

das mit set und get ist im Grunde folgendes:

Erstmal kannst Du alle Werte lesen, das sind die get-Topics. Einige davon kann man auch schreiben, hierzu wird der gesamte Topic-Pfad um ein /set/ nach openWB ergänzt. Diese Werte werden dann von der openWB genommen, validiert und sofern es sich um einen schreibbares Topic handelt übernommen.
15,2kWp SMA (SB4000TL-21, SB3.0, STP6.0-SE + BYD HVS, EnergyMeter), openWB Standard+, openWB Pro, Smart #1 (ersetzt den e2008), Tesla Model Y LR.
ch.eick
Beiträge: 82
Registriert: Mo Mär 15, 2021 1:21 pm
Has thanked: 1 time

Re: MQTT ich verzweifle langsam

Beitrag von ch.eick »

Okay, zunächst einmal danke.

Ich habe nun folgende Info

openWB/chargepoint/6/get/connected_vehicle
info {
"id": 5,
"name": "Fahrzeug_0" <<< diesem Fahrzeug ist momentan
}
config {
"average_consumption": 14200,
"charge_template": 3, <<< Template 3 ist bei mir pv_charging
"chargemode": "pv_charging", <<< dieser chargemode zugeordnet
"current_plan": null,
"ev_template": 1,
"priority": false,
"time_charging_in_use": false
}

Um nun per MQTT umzuschalten müsste ich dem Fahrzeug_0 mit id 5 ein anderes charge_template zuordnen.

openWB/vehicle/5
"chargemode": "pv_charging"
"name": "Fahrzeug_0"

Das Problem ist nun, dass ich im MQTT Explorer dafür keinen set finden kann.
Wenn ich zu dem Node-Red Flow gehe und es mir dort anschaue, dann wird dort jedoch ein charge_template immer wieder geändert.
Sollte nun jemand am Display dem Fahrzeug ein anderes charge_template zuordnen, dann läuft das doch ins leere, wenn man extern immer ein Template überschreibt.

Richtiger wäre doch immer nur das charge_template was man haben möchte ins Fahrzeug zu schreiben.

Leider kann man anscheinend bei MQTT Explorer nicht alle Möglichkeiten des set Pfades sehen, bei mir flackern da immer nur kurz die auf, die durch openWB selber verwendet worden sind.

Kann da nochmals jemand helfen?

VG Christian
Kostal Plenticore 10 und 7 17 kWp, KSEM, BYD HV 8.95 , LWP, KWL, Pool 1m³, FHEM, openWB series2 standard+ 11kW, openWB series2 Custom 11kW (LP2)
Benutzeravatar
mrinas
Beiträge: 2420
Registriert: Mi Jan 29, 2020 10:12 pm
Has thanked: 69 times
Been thanked: 78 times

Re: MQTT ich verzweifle langsam

Beitrag von mrinas »

ch.eick hat geschrieben: Di Jan 14, 2025 2:11 pm Das Problem ist nun, dass ich im MQTT Explorer dafür keinen set finden kann.
Das man den Pfad nicht sieht macht nichts, das ist eine Eigenheit von MQTT. Du kannst dort dennoch drauf schreiben, sobald die Werte abgeholt wurden (und das Topic geleert wurde) verschwindet der Pfad wieder.

Also das topic welches Du schreiben möchtest kopieren, das /set direkt hinter openWB einfügen und abschicken.

Wie man die konkrete Umschaltung durchführt kann ich ad hoc nicht beantworten. Das kannst Du ggf. im MQTT log oder den Brower-Devtools (f12) nachverfolgen wenn Du die Änderung in de Weboberfläche durchführst.
15,2kWp SMA (SB4000TL-21, SB3.0, STP6.0-SE + BYD HVS, EnergyMeter), openWB Standard+, openWB Pro, Smart #1 (ersetzt den e2008), Tesla Model Y LR.
Gero
Beiträge: 3890
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 19 times
Been thanked: 129 times

Re: MQTT ich verzweifle langsam

Beitrag von Gero »

ch.eick hat geschrieben: Di Jan 14, 2025 2:11 pm Sollte nun jemand am Display dem Fahrzeug ein anderes charge_template zuordnen, dann läuft das doch ins leere, wenn man extern immer ein Template überschreibt.
Am Display ordnet man dem Ladepunkt ein Fahrzeug zu. Dem Fahrzeug ist in der Konfiguration ein Ladeprofil und ein Fahrzeugprofil zugeordnet worden. Wenn man den Ladepunkt aufklappt und da an den Ladeeinstellungen herumstellt, wird das aktuell ins Ladeprofil des Fahrzeugs geschrieben. Das ist erkanntermaßen doof und soll mal so geändert werden, dass die Einstellungen am Ladepunkt nur temporär bis zum Abstecken des Fahrzeugs gelten. Wird das Fahrzeug neu angesteckt, so werden dann wieder die Einstellungen aus dem Ladeprofil übernommen.

Du kannst meinen Flow ganz einfach so ändern, dass du beim Anstecken die Werte des Ladeprofils in eigene neue Variable backupst, aus der Du die Werte im Ladeprofil beim Abstecken wiederherstellst. Dsmit würdest du die Entwicklung vorweggreifen. Zumindest ist das mein Verständnis von dem, was da kommen werden soll. (Diskussion dazu ist im Thread „Use-Case der Ladeprofile“.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
Gero
Beiträge: 3890
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 19 times
Been thanked: 129 times

Re: MQTT ich verzweifle langsam

Beitrag von Gero »

ch.eick hat geschrieben: So Jan 12, 2025 12:33 pm Hintergrund ist, dass ich an der zweiten openWP einen öffentlichen Ladepunkt betreibe und dort zum Teil etwas komplexere Umschaltvarianten berücksichtigen möchte. Mit der Version 1.9 hat das bereits sehr gut funktioniert.
Schreib' doch mal was dazu - die 2er-Software ist halt fahrzeugbasiert und eigentlich genau dafür vorgesehen. Die Auswahl des angesteckten Fahrzeugs geht per RFID oder bei der pro über die automatische Fahrzeugerkennung. Und im Ladeprotokoll landet auch immer das Fahrzeug.
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
ch.eick
Beiträge: 82
Registriert: Mo Mär 15, 2021 1:21 pm
Has thanked: 1 time

Re: MQTT ich verzweifle langsam

Beitrag von ch.eick »

So, vielen Dank für die Antworten.

Das mit dem Schreiben in die Profile klappt nun und ich kann das gewünschte Ladeprofil somit wechseln.
Für eventuelles Überschreiben vom Display werde ich noch die Standardeinstellungen im Smarthome vorhalten und diese dann zum Ladeende wieder zurücksetzen, das sollte kein Problem sein.

Eine neue Eigenart, die ich gerade entdeckt habe ist, dass ich nun ein min + PV Profil habe und dort auch einen Zeitplan vorgebe. Leider scheint der Zeitplan den min Ladestrom fix zu setzen und es wird kein PV-Überschuss dazu gerechnet. Ohne den Zeitplan klappt das perfekt. Am Display kann man dann auch nicht den min Strom erhöhen, sondern der im Zeitplan eingestellte Min Strom ist immer der Master Wert.

Mit den RFID Chips habe ich auch so meine Schwierigkeiten:
- ich möchte nicht jedem, der bei mir lädt gleich mehrere RFID Chips geben
- gerne würde ich die RFID in einem separaten MQTT Topic haben wollen, die RFID wird jedoch im state str übermittelt und der ändert sich dann auch noch laufend, da ja immer neue Informationen kommen.
- Auch wenn man das nicht macht, würde ich gerne eine RFID zum betätigen des Garagentorantriebes verwenden. Somit müsste die RFID auch nur bei der Betätigung übertragen werden und nicht alle paar Sekunden, auch wenn sie sich nicht geändert hat. Das würde jedesmal einen Event erzeugen. Wenn ich den jedoch unterdrücke, bekomme ich das Lesen der selben RFID leider auch nicht mehr mit.
Mein Garagentorantrieb ist halt schon älter und eine neue FB zu teuer. Zusätzlich finde ich es auch gut, wenn man nicht soviele unterschiedliche FBs/RFIDs mit sich rum schleppen muss. So hätte jeder einen RFID Chip und der Rest geht automatisch, oder wird im Zweifelsfall am Display temporär geändert.

Bei der alten 1.9er Version hatte das in einem Vortest bereits funktioniert, jedoch bin ich dann auf die neue V 2 gewechselt :-)

Es bleibt also spannend.
Kostal Plenticore 10 und 7 17 kWp, KSEM, BYD HV 8.95 , LWP, KWL, Pool 1m³, FHEM, openWB series2 standard+ 11kW, openWB series2 Custom 11kW (LP2)
Gero
Beiträge: 3890
Registriert: Sa Feb 20, 2021 9:55 am
Has thanked: 19 times
Been thanked: 129 times

Re: MQTT ich verzweifle langsam

Beitrag von Gero »

Das mit dem Zeitplan ist ja etwas, was den PV-Modus übersteuert. Ist quasi ein Sofortladen mit eigens einstellbaren Strom. Das ist keine Freigabe des Ladung von-bis. Das müsste man mit Ladepunkt sperren regeln.

Bei den RFIDs war es doch immer so, dass der gerade gescannte den zuletzt angestecken Ladepunkt freischaltet. Damit diese Logik funktioniert, muss das Tag wohl irgendwie konsumiert werden, damit das nicht auf das nächste Anstecken wartet. Aber wie und ob das geht…?
openWB-series2, openWB-Buchse, E3/DC S10pro+19.5kWh, 30kWp Ost-Süd, Model 3 und Ion
ch.eick
Beiträge: 82
Registriert: Mo Mär 15, 2021 1:21 pm
Has thanked: 1 time

Re: MQTT ich verzweifle langsam

Beitrag von ch.eick »

Hallo zusammen,
ich bin mit meinem rfid über mqtt auslesen bereits einige Schritte weiter, bräuchte jedoch nochmal Hilfe.

Installierte Version 2024-12-05 09:57:00 +0100 [d982f63c5]
2 Ladepunkte

mqtt gelesen

Code: Alles auswählen

cp_6_get_rfid_number 0005092424
cp_6_get_rfid_timestamp 1741094372.46

cp_6_get_state_str "Wenn nach dem Scannen nicht innerhalb von 5 Minuten ein Auto angesteckt wird, wird der ID-Tag verworfen. Keine Ladung, da kein Auto angesteckt ist."
Ich habe mir nun bereits ein Hilfskonstrukt erstellt, jedoch fehlt mir das Löschen der letzten rfid.
Wenn ich das selber mache, wird sie sofort wieder mit dem nächsten Token beschrieben.
Ich erstelle readings mit dem umgerechneten Zeitstempel und aus der rfid Nummer bekomme ich einen Namen.

Code: Alles auswählen

cp_6_get_rfid_date 2025-03-04
cp_6_get_rfid_name Garage_Christian
cp_6_get_rfid_number 0005092424
cp_6_get_rfid_time 14:15:07
Leider wird jedoch selbst nach 5 Minuten die rfid Nummer in dem Token nicht wieder mit NULL verworfen.
Der timestamp läuft munter im Sekundentakt weiter.

Durch die rfid wird auch das Fahrzeug Garagentor dem Ladepunkt 1 zugeordnet, warum aber gerade diesem, da dort das Fahrzeug0 ausgewählt gewesen ist und an keinem der Ladepunkte ein Fahrzeug angesteckt war.

Ich hätte nun erwartet,
- das ein angestecktes E-Auto das Fahrzeug mit der rfid bekommen hätte, wenn nicht geladen wurde.
- das ein angestecktes E-Auto, wenn geladen wird weiter lädt, ohne geändert zu werden.
- das nächste E-Auto innerhalb der 5 Minuten das Fahrzeug mit der rfid bekommt.

- Aber vor allen, dass die rfid zumindest nach 5 Minuten wieder zurück gesetzt wird und z.B. null im Token steht.
- Das auch das Token cp_6_get_state_str nach 5 Minuten nichts mehr beinhaltet.

EDIT: Zusätzlich habe ich gerade festgestellt, dass ich das Fahrzeug am LP1 momentan wohl nicht neu auswählen kann,
es wird sofort wieder mit dem rfid Fahrzeug belegt.
Screenshot 2025-03-04 145404.png
Screenshot 2025-03-04 145404.png (32.94 KiB) 579 mal betrachtet
Das abschalten von "Identifikation aktivieren" hat nun zumindest die Zuordnung des Fahrzeuges zum Ladepunkt aufgehoben.
Auch die rfid Token sind dadurch wieder auf null

Code: Alles auswählen

cp_6_get_rfid_number null
cp_6_get_rfid_timestamp null


Sollte es dazu bereits einen Post geben, so habe ich ihn noch nicht gefunden.

VG Christian
Kostal Plenticore 10 und 7 17 kWp, KSEM, BYD HV 8.95 , LWP, KWL, Pool 1m³, FHEM, openWB series2 standard+ 11kW, openWB series2 Custom 11kW (LP2)
Antworten