NEWS
Mqtt zum Victron Cerbo GX ?
-
@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??
-
-
@mickym ja, ich musste im Debug fenster noch auf object drücken, jetzt sind sie da
ja genau.