Variable nach Ladevorgang neu belegen

  • Fragen
  • [Gelöst] Variable nach Ladevorgang neu belegen

Variable nach Ladevorgang neu belegen

0
0

Hallo zusammen,

meine cfos Power Brain hat eine Regel aktiv, die dafür sorgt, dass standardmäßig mit PV-Überschuss geladen wird, außer die Variable var_Ladesteuerung hat den Wert ‚2‘; dann wird nämlich mit voller Leistung (Expressladen) geladen.
Das funktioniert bestens und bietet mir im Gegensatz zur temporären Deaktivierung der Laderegeln den Vorteil, dass ich diesen Wert via MQTT-Broker schon bevor das Fahrzeug angeschlossen ist, setzen kann.

Mein Ziel ist es nun, dass die Variable auf ‚0‘ gesetzt wird, wenn der Ladevorgang beendet ist. Das kann ich zwar problemlos per MQTT überwachen und dann setzen, dennoch würde ich aus Stabilitätsgründen gerne soweit wie möglich vom MQTT-Broker unabhängig sein.

Daher die Frage: Gibt es eine Möglichkeit auch direkt auf der cFos Power Brain Variablen bei Ereignissen zu setzen? – Ist es ggf. über Formeln möglich bei Beendigung des Ladevorgangs die Variable neu zu belegen?

Schon mal Danke für jeden Tipp.

Gelöst
markiert als Spam
Geschrieben von (Fragen: 4, Antworten: 5)
Gefragt am 7. April 2024 19:05
47 views

Antworten (4)

1
Private answer

@trebtrab

Genial - Danke, das hilft enorm!
Schon der Hinweis, dass durch die Regel auch Variablen beeinflusst werden können, öffnet mir an einigen Stellen die Augen und bietet neue Möglichkeiten. Ggf. bekomme ich es sogar so hin, dass die Variable zurückgesetzt wird, wenn das Auto trotz freigegebener Ladung nicht lädt. - Hmm.

Ich spiele da mal in den nächsten Tagen damit.

Vielen Dank für deine Mühe

markiert als Spam
Geschrieben von (Fragen: 4, Antworten: 5)
Beantwortet am 8. April 2024 21:52
0
Private answer

Ich gebe dir mal eine Kurzanleitung, dass du nicht wie ich erstmal "tagelang rumprobieren" musst:
also um unter Verwendung der Benutzerverwaltung "das gleiche" zu erreichen, wie wenn die Laderegeln direkt an der Wallbox sind muss man einen Benutzer anlegen, bei der Wallbox-zuordnung deine wallbox auswählen und dort drin deine Laderegeln (Benutzerregeln) anlegen. Dazu eine RFID anlegen, haken bei "Laden autorisieren" rein, alle anderen, also "laden (de)aktivieren", "benutzerladeregeln (de)aktivieren", "laderegeln überschreiben" draußen lassen. (alternativ letzteren rein machen und die regeln bei der rfid anlegen, im grunde egal an der stelle, das hat verscheidene vor-und nachteile im detail).
Dann wieder in der Wallboxkachel bei "Feste RFID" die ID angeben (damit es von selbst einfach loslegt und man nicht erst autorisieren muss). Dann ist erstmal alles so wie wenn die regeln direkt an der wallbox hängen, und ja die regeln werden beim anstecken des autos aktiviert, und auch die Charging manager Variable, die man bei "weitere RFID-Funktionen" setzen kann wird in diesem moment einmalig gesetzt.

Nja ich erkläre das mal in meinem Fall:
Ich habe 2 variablen "WTladeanforderung" und "Nladeanforderung", wenn einer der beiden 1 ist lädt das auto mit voller leistung (die bedingungen die diese auf 1 setzen sind komplex, für mein beispiel jetzt aber nicht relevant). nun möchte ich  aber sicherstellen, dass beide variablen erstmal 0 sind (das heist andere regeln greifen), aber man kann ja nur eine CM variable setzen bei den RFID funtkionen. also setze ich da die variable RESETladeanforderung und habe dann ingesammt 3 regeln dafür:
#
Bedingung: Formel: CM.RESETladeanforderung == 1
Aktion: Variable setzen: CM.WTladeanforderung = 0
#
Bedingung: Formel: CM.RESETladeanforderung == 1
Aktion: Variable setzen: CM.Nladeanforderung = 0
#
Bedingung: IMMER
Aktion: Variable setzen: CM.RESETladeanforderung = 0
damit wird immer beim anstecken einmalig die beiden variablen zurückgestzt.
in deinem fall würde das nur was bringen, wenn deine variable eben am ende eines ladevorgangs (zum beispiel durch SOCauto==SOCziel einen anderen wert bekommt, der das laden dann stoppt oder so, und dann kannst du, nur wenn die variable grade auf diesem stop wert steht die zurücksetzen und sonst einfach lassen, egal ob auf 0 oder 2. aber das macht ja auch wieder keinen sinn, weil das kann man ja auch anders lösen.
nja nee das macht für deinen fall alles keinen sinn, aber mal so allgemein als denkanstoß was alles möglich ist :D

markiert als Spam
Geschrieben von (Fragen: 6, Antworten: 100)
Beantwortet am 8. April 2024 8:52
0
Private answer

@trebtrab

Danke für den Denkansatz. Der Hinweis, dass durch den User bei der Anmeldung eine Variable angepasst werden kann, ist schon mal klasse.

Bisher habe ich die Benutzerverwaltung nicht genutzt: Anschließend und regelgestütztes Laden reichte. Dabei würde ich am liebsten bleiben. Das könnte jedoch dennoch gehen. Schließlich wird der Benutzer anmeldet, wenn er das Auto anschließend, oder?!
Würde ich den Standarduser so konfigurieren, dass er die Variable immer setzt, könnte ich sie natürlich per MQTT ggf. im selben Moment wieder zurücksetzen. - Schön wäre das nicht, würde jedoch sicherstellen, dass im Notfall (bei nicht reagierendem MQTT-Broker) dennoch geladen wird; dann halt ohne Überschussteuerung.

Deinen zweiten Ansatz eine andere Variable zu setzen, habe ich noch nicht ganz verstanden. - Hilf mir da bitte nochmal.

Danke

markiert als Spam
Geschrieben von (Fragen: 4, Antworten: 5)
Beantwortet am 7. April 2024 21:09
0
Private answer

Einen ähnlich gearteten Fall hatte ich letztens auch.
ich habe leider keine möglichkeit gefunden eine Variable bei "Auto abgesteckt" zu setzen.
Was aber geht ist die variable einfach am Anfang eines Ladevorgang zu setzen!
Wenn du die Benutzerverwaltung verwendest und dort Laderegeln gesetzt hast hast du bei den RFID/PIN funktionen die möglichkeit eine CM-Variable zu setzen Diese wird nur einmal, und zwar genau dann wenn die RFID eingeben/ Karte aufgelegt/ per Schnittstelle übertragen wird, gesetzt.
Nja, aber dann kannst du leider auch nicht mehr vorm anstecken die setzen...
mh du könntest dort eine andere setzen, und dann die, die du brauchst nur setzen, wenn sie nicht den status eh schon hat den du willst. Und dann musst du als letzte regel natürlich noch die die per rfid gesetzt wurde wieder zurück setzten, sonst klappt das ja nur einmal.
nja das kommt eben drauf an wie du was genau machen willst, aber so im großen und ganze kenne ich nur die möglichkeit so eine variable zu setzen :)

markiert als Spam
Geschrieben von (Fragen: 6, Antworten: 100)
Beantwortet am 7. April 2024 19:39