NEWS
Mqtt zum Victron Cerbo GX ?
-
@humidor
Nein so einfach geht das natürlich nichtDu musst nur die daten übergeben die das "virtuelle Batterie" script auch benötigt. Diese müssen dann auch das richtige Format und im richtigen Pfad liegen
https://github.com/victronenergy/venus/wiki/dbus#battery
Da musst du dann selbst weiter testen was alles genau benötigt wird, eine Batterie habe ich selbst noch nicht hinzugefügthttps://github.com/mr-manuel/venus-os_dbus-mqtt-battery/tree/master
das script muss auf den 2. cerbo und natürlich die daten zum MQTT Server von IoBroker eingeben. Dort musst du dann die passenden werte in den passenden pfaden bereitstellen als reine zahl -
@adcrafter27 Ja, am Ende! wird alles bereinigt auf das Nötigste, erstmal versuche ich den Weg zu finden. Darum mal der Ansatz "alles" zum Mqtt Master zu übergeben. Was die virtuelle Batterie jetzt braucht, weiß ich noch nicht.
OK, ev. ist der richtige Weg, das Pferd von hinten aufzäumen und die virtuelle Batterie mal erzeugen. Ich habe noch keinen 2. Cerbo, kann ich das alles mal auf einem Cerbo austesten, oder muss ich mir die 2. Umgebung mit bsp. eines Raspi schaffen? In der Beschreibung der virutellen Batterie sehe ich nur Linux Befehle zum einrichten, wie macht man das am Cerbo? kann ich mich per ssh auf den Cerbo verbinden und das System verändern?
Die Frage stellt sich gerade, soll ich hier überhaupt über einen 2. Cerbo gehen? Mein Gedanke ist es, die MP2 usw. besser ins VRM zu bringen und zu konnecten, aber das ist ja nur das Venus OS und wo es läuft doch egal? können die MP2 direkt ans Netzwerk gehängt werden, der Raspi hat ja nur ein Lan... lauter fragen.mit den Vids von Jörg habe ich einen Raspi4 mit Large Venus OS bespielt, läuft. dh das wäre eine vorhandene Testumgebung, werde dann schauen ob ich das virtuelle Batt Protokoll drauf bringe.
-
@humidor
Um alles zu testen sollte erstmals eine Test Umgebung vorhanden sein, sprich 2x cerbo oder raspberry.
den MP vom 2. cerbo brauchst du noch nicht du müsstest erstmal die batterie erstellen und die daten zwischen den cerbos austauschen das du auf beiden cerbos die Batterie hast. Erst danach würde ich weitere schritte machenob du einen cerbo und einen Raspberry zum testen nimmst ist egal. Nein der MP kann nicht direkt am Netzwerk von Raspberry angeschlossen werden dazu benötigst du noch ein MK3 zu USB Modul (aber nur beim raspberry)
Der cerbo ist auch nichts anderes als ein linux System da kannst du dich mit ssh verbinden (einfach mal Googlen wie du das freischaltest) und dort kannst du alles machen was du auch auf einen Raspberry machen kannst, soweit ich gelesen habe ist sogar im cerbo so eine art Raspberry verbaut
-
@adcrafter27 ich habe auf dem Raspi die virtuelle battery eingepflegt, denke ich mal, der service läuft, mit den Settings bin ich noch unschlüssig.
Verständnisfrage: VenusOS hat einen Mqtt Server, der läuft unter IP:1883
läuft die virtuelle Batterie unter einem anderen Server? in den Settings sind dazu einstellungen, da weiß ich nicht was ich wirklich einstellen kann:
[MQTT]
; IP addess or FQDN from MQTT server
broker_address = 192.168.0.191; Port of the MQTT server
; default plaintext: 1883
; default TLS port: 8883
broker_port = 1883der Mqtt ist verbunden, aber ich glaube das passt noch nicht
was heißt diese IP_adresse_or_FQDN ?
sollte hier die Adresse vom VenusOS Mqtt, also die IP vom Raspi
oder die Adresse von der ich abfrage, also ioBroker ?
eigentlich sollte die Mqtt Batterie auch am Cerbo auftauchen, tut sie nicht
ev. müssen da auch erst Daten gefüttert werden, dass sie auftaucht?
ich habe mal den ioBroker eingetragen IP:1886
am ioBroker einen Mqtt Server gestartet - verbunden
dh diese virtuelle Battery (Script) macht eine eigene Verbindung via Mqtt ?
aber das bringt alles noch nichts, der Faden fehlt
schaut mir danach aus, dass er 60s auf Daten wartet und dann abschaltet
denke es dreht sich alles darum, das man korrekt die Parameter beschreibt
und genau das weiß ich nicht
-
das braucht jetzt einen neuen Eintrag hier:
es hat sich was getan:
die Mqtt Batterie ist erschienen
der payload auf den enphase/battery hat es bewirkt mM
dh der ioBroker Master schreibt auf den Mqtt Battery Mqtt Slave ? -
nachdem das ja funktioniert hat, habe ich mein Cerbo angeworfen, dort im NodeRed den Mqtt Server veranlasst, auf den Mqtt Clienten des Venus OS virtual Batterie die Daten zu senden
am VenusOS virtual Batterie die Settings für den Server eingetragen
im Cerbo Node Red auf den eigenen Server die Daten übergeben auf die virtuelle Batterie
payload
und es funktioniert
dh die Aufgabe jetzt ist alle relevanten Batteriedaten in den payload zu packen
dazu benötige ich bitte Hilfe wie ich das im Node-Red zusammendrösel kann -
@humidor sagte in Mqtt zum Victron Cerbo GX ?:
dazu benötige ich bitte Hilfe wie ich das im Node-Red zusammendrösel kann
Am besten du schreibst alles in ein Kontext (Flow oder Global) und schickst dann das ganze Objekt über mqtt weg. Irgendwo musst Du Deinen Daten ja hernehmen oder festlegen.
-
@mickym schon klar wie es sein soll, ich hinke da an der Umsetzung wieder, dh welche nodes, wie einlesen, wie den String zusammenbauen usw. um den fertigen dann als payload anzuhängen, sowie es gefordert ist
-
@humidor Ja nochmal - gehe halt mal Schritt für Schritt vor. Dieses Teil hier woher hast Du das - das kannst Du doch schon mal in den Kontext kippen.
Remove die Pfeile -
- wie es in der Anleitung steht - dann hast Du doch schon ein fertiges Objekt
-
@mickym woher, vom Battery Node nehme ich an, was bedeutet in den Kontext kippen?
diesen würde ich nehmen zum auslesen der aktuellen Batterie Informationen:
diese file als Vorlage kann ich schon nehmen, aber wie kriege ich die Werte verändert?
-
@humidor Wie gesagt kopiere Dir das Teil da unten in einen Texteditor entferne die Pfeile und packe es in eine Inject Node - dann schreibst Du es in den Kontext und wir sehen weiter.
Steht doch in dem Bild - ich habe es grün markiert - machen!!!
-
@mickym ja ja schon verstanden, bin ja schon dabei, hab mir den notepad++ geholt, ändere jetzt
-
@humidor sagte in Mqtt zum Victron Cerbo GX ?:
@mickym ja ja schon verstanden, bin ja schon dabei, hab mir den notepad++ geholt, ändere jetzt
und wenn Du das Ganze dann noch in CodeTags hier postest mach ich mit ...
-
{ "Dc": { "Power": 321.6, "Voltage": 52.7, "Current": 6.10, "Temperature": 23 }, "InstalledCapacity": 200.0, "ConsumedAmphours": 74.5, "Capacity": 125.5, "Soc": 63, "TimeToGo": 43967, "Balancing": 0, "SystemSwitch": 0, "Alarms": { "LowVoltage": 0, "HighVoltage": 0, "LowSoc": 0, "HighChargeCurrent": 0, "HighDischargeCurrent": 0, "HighCurrent": 0, "CellImbalance": 0, "HighChargeTemperature": 0, "LowChargeTemperature": 0, "LowCellVoltage": 0, "LowTemperature": 0, "HighTemperature": 0, "FuseBlown": 0 }, "Info": { "ChargeRequest": 0, "MaxChargeVoltage": 55.2, "MaxChargeCurrent": 80.0, "MaxDischargeCurrent": 120.0 }, "History": { "ChargeCycles": 5, "MinimumVoltage": 40.8, "MaximumVoltage": 58.4, "TotalAhDrawn": 1057.3 }, "System": { "MinVoltageCellId": "C3", "MinCellVoltage": 3.392, "MaxVoltageCellId": "C15", "MaxCellVoltage": 3.417, "MinTemperatureCellId": "C2", "MinCellTemperature": 22.5, "MaxTemperatureCellId": "C9", "MaxCellTemperature": 23.5, "MOSTemperature": 23.5, "NrOfModulesOnline": 0, "NrOfModulesOffline": 0, "NrOfModulesBlockingCharge": 0, "NrOfModulesBlockingDischarge": 0 }, "Voltages": { "Cell1": 3.201, "Cell2": 3.202, "Cell3": 3.203, "Cell4": 3.204, "Cell5": 3.205, "Cell6": 3.206, "Cell7": 3.207, "Cell8": 3.208, "Cell9": 3.209, "Cell10": 3.210, "Cell11": 3.211, "Cell12": 3.212, "Cell13": 3.213, "Cell14": 3.214, "Cell15": 3.215, "Cell16": 3.216, "Cell17": 3.217, "Cell18": 3.218, "Cell19": 3.219, "Cell20": 3.220, "Cell21": 3.221, "Cell22": 3.222, "Cell23": 3.223, "Cell24": 3.224 }, "Balances": { "Cell1": 0, "Cell2": 0, "Cell3": 0, "Cell4": 0, "Cell5": 0, "Cell6": 0, "Cell7": 0, "Cell8": 0, "Cell9": 0, "Cell10": 0, "Cell11": 0, "Cell12": 0, "Cell13": 0, "Cell14": 0, "Cell15": 0, "Cell16": 0, "Cell17": 0, "Cell18": 0, "Cell19": 0, "Cell20": 0, "Cell21": 0, "Cell22": 0, "Cell23": 0, "Cell24": 0 }, "Io": { "AllowToCharge": 0, "AllowToDischarge": 0, "AllowToBalance": 0, "ExternalRelay": 0 } }
ich entferne jetzt noch alle Werte oder ?
-
@humidor NEIN - wir machen jetzt ein paar Übungen - OK?
-
@mickym Ja bitte!
-
@humidor Als erstes kopierstes Du dieses Objekt nun in eine payload - in eine Inject Node und gibst es im Debug Fenster aus.
Wenn das geklappt hat - melden. Das debug Fenster ist das mit dem Bug (Wanze)
-
@mickym hab ich
-
@humidor Gut so könntest Du also das ganze Objekt wieder mit mqtt schreiben. OK?
Nun willst Du einen Wert in dem Objekt zum Beispiel ändern. Such Dir mal einen aus.
-
@mickym wie der Inject Node oben, der schickt alle 15s die erste 3 Werte, soweit denke ich ist es klar
ändern wir diese ersten 3 Werte mit den aktuellen von der Batterie
aber die stehen da gar nicht drin??