NEWS
Traking von Pylontech Batterien
-
Moin Gemeinde,
gibt es eine Lösung die verschiedene Stati von Pylontech Batterien per MQTT in den IO Broker zu übertragen.
Hintergrund:
Ich betreibe eine Inselanlage mit 7 KW/h.
Meine Verbraucher sollen je nach Ladezustand der Batterien gesteuert werden.
Dazu werden permanent die Daten der Batterien benötigt.Vielen Dank im Voraus
Medoc -
@medoc Auf youtube beschreibt jemand, wie er einen Wemos an das serielle Interface koppelt, die Ausgaben parst und in json und MQTT umsetzt. Aleitung auf Github repository .
Die Integration in ioBroker ist dann nur noch Formsache und ebenfalls auf youtube gezeigt.
Wer WLAN nicht mag, kann es ja mit einem USRIOT Serial <-> LAN converter testen und mit dem Parser Adapter die Daten extrahieren.
Wobei die Datenmenge nicht so immens sein dürfte und die Prozesse eher langsam. Also WiFi sollte reichen. Es ist wahrscheinlich kein Beinbruch, wenn mal eine Übertragung fehlt.
Viel Erfolg! -
Danke für die Informationen.
Es gibt leider ein Problem bei den neueren Modellen. "C" dort funktioniert das Auslesen über RS232 nicht.Interessant sind die Modelle Pylontech US2000C und US3000C --> ich selbst habe ein US3000C
Ich würde auch gern die Daten in den IO Broker bekommen wollen, um dann den Aktionen ableiten zu können.
Über RS485 und http://www.multisibcontrol.net/ komme ich an die Daten ran, aber ich habe bis jetzt keinen Weg gefunden diese Daten in den IOBroker zu bekommen. Ich muss aber auch zugeben, daß ich wenig Ahnung habe, aber gern mich auch tiefer in ein Thema rein lesen würde....
-
@marco-3
Da bist Du in gewisser Weise weiter als ich. Aber auch ich hebe eine Art Lösung.
Mittlerweile habe ich eine neuere US2000 Plus 95 Pylontech (da herrscht mittlerweile ein Versionskuddelmuddel wegen shortages), die ebenfalls nicht mit mir reden möchte. Weder über serial noch über RS485.
Aber in meinem Gesamtverbund bekomme ich die wichtigsten Daten in meinen ioBroker.
Bei mir ist die Pylontech in einem kleinen Notstromsystem für die Heizung im Einsatz, zusammen mit einem kleinen Victron-Wechselrichter.
Dazu ein alter RasPi2 mit Virtron Venus OS, und einer CAN Card.
Über CAN eine Verbindung zur Pylontech und ich kann ein paar wesentliche Daten über den Modbus-Adapter oder MQTT auslesen:- Modbus
- Batt SoC
- Batt Voltage
- Batt Current
- Batt Power
- MQTT
- Alarme
- Strom
- Leistung
- Temp
- Spannung
- Low Voltage
- Charge Request
- Full Charge Request
- Max Charge Current
- Max Charge Voltage
- Max Discharge Current
- Connected
- Installed Capacity
- Product ID
- Product name
- SoC
- Soh
Ein Gefrickel aber geht so weit und ich kann meine limitierte Aufgabe damit erledigen
Im Web-Interface des Venus-OS kann ich noch ein paar Daten mehr sehen; im Wesentlichen:
Ob das Venus-OS auch ohne einen Inverter funktioniert und mit der Pylontech redet, kann ich leider nicht sagen. Ist aber denkbar, denn die Pylontech ist direkt via CAN mit der CAN-Karte des venustragenden Raspi verbunden.
Bitte nicht falsch verstehen: Möchte diesen Weg jetzt nicht als Königsweg propagieren. Ist halt mein derzeitiger Stand, der bei meiner Umgebung funktioniert und einigermassen passt.
Um, den kleinen Voctron zu minitoren, habe ich das Venus-Gerät eh gebraucht und einen Raspi2 hatte ich noch in der Schublade.
Die Waveshare CAN-Karte habe ich aus China, aber Bestellung bei Welectron oder Berrybase wäre billiger und schneller gewesen, alles jedenfalls <20EUR + die Zeit zum Frickeln - die wog schwerer.Eine direkte RS485-Anbindung mit größerer Funktionalität wäre natürlich klasse. Aber Pylontech ist hier wohl nicht Modbus-kompatibel, sondern proprietär.
- Modbus
-
@medoc
Moin
Kennst du den schon ?
https://www.youtube.com/watch?v=IlExe2zcifMIch selber habe meine PylontechAkkus an nem Victron MultiPlus2 und lese sie auch darüber aus....
-
@bjoerg Das wurde über die serielle Monitoring Schnittstelle implementiert. Die funktioniert bei neueren Modellen leider nicht mehr so wie beschrieben. Pylontech hat diese Quelle mittlerweile "versiegelt".
Und auf dem RS485 Kanal sprechen die keinen Modbus-Standard, sondern was proprietäres.
Über CAN reden sie mit Victron Geräten.
Und das Victron Venus OS gibt es mittlerweile in einer Raspi (2,3)-kompatiblen Version. Also muß man nicht unbedingt eine Venus oder Cerbo kaufen. -
@klassisch
Moin
OK. Das die Serielle Schnittstelle so nicht mehr geht, hatte ich noch nicht mitbekommen. Danke für die Info.
Dann brauche ich mir über den Nachbau ja keine Gedanken zu machenDen rest wußte ich auch schon. Habe mich aber noch nicht so richtig damit auseinander gesetzt.
Vielleicht schaue ich mir das mit dem RS485 mal an. Je mehr man auslesen kann desto interessanter
Nicht unbedingt, weil man es braucht, sondern weil man es kannhttps://www.panda-solar.de/Pylontech-US2000.html
Im Downloadbereich -
@bjoerg vielen Dank! mit RS485 hatte ich bisher kein Glück, aber es nicht allzu intensiv versucht. Binn gespannt, ob es Bei Dir klappt.
-
Da bei mir es über http://www.multisibcontrol.net/ und RS485 funktioniert, dachte ich man kann die Daten irgend wie abgreifen, die man sieht.
Dabei habe ich an irgend welche Sniffings von Netzwerk gedacht....
bei http://www.multisibcontrol.net/ kann man auch an 2 externe Seiten EMONCMS und https://pvoutput.org/ gewisse daten hochladen.
Der Entwickler schein in Osteuropa zu wohnen. Ich habe ihn auch schon angefragt, ob er die SW so konfigurieren kann, daß dies eDaten als MQTT abgerufen werden können...
Mein Konfiguration
Win 10 HP Probook mit I5Gen11 und darauf VM Ware Workstation (Laptop ist noch zu neu um proxmox laufen zu lassen.) --> in der VMware laufen dann 2 x Debian; (IoBroker und Pihole).
Das ganze System benötigt ca. 4-5W
Und im dem Windows läuft das multisibkontrol.net und gerade da wäre ich schon froh, wenn ich den SOC Wert in den iO Broker bekommen würde.
Einen physischen Raspi würde ich nicht machen wollen (braucht auch wieder 3-6W) dann lieber noch eine VM.... Wenn ich am Schluss an die Daten vom Pylontech komme, wäre mein Ziel erreicht.
https://solaranzeige.de/phpBB3/solaranzeige.php, hier hat man es auch geschafft, aber ich möchte wirklich nicht mit einem physischen Raspi anfangen. (als VM ist es interessant, nur weiß ich nicht in wie weit es sich beißst mit X86 und ARM-Architektur des Raspis.
-
@marco-3 Ich arbeite auch mit einem Win10 Notebook. Allerdings ein refurbished, womit mein Umweltgewissen beruhiht ist und mir den Raspi 2 genehmige. Das Notebook Teil hat einen i5-6300U und braucht 7 bis 12W.
Von VMs und Proxmox verstehe ich nichts und spare mir die Zeit. Dadurch kann ich mir die Stromkosten für den Raspi leisten. So meine Art es schön zu rechnen.
Wenn Du aber die Klaviatur der VMs beherrschst, wäre Venus für Linux distributions vielleicht was für Dich zusammen mit einem CAN-USB Stick? -
Klingt gut, nur leider habe ich keinen Victron WR an der Batterie dran.
Bei mir macht's ein GTIL SUN 2000....
Und den Pylontech US3000C würde ich gern nach seinen SOC Level benutzen, eventuell zusätzliche Verbraucher aktivieren/deaktivieren. -
@marco-3 Ein Versuch wäre es vielleicht wert. Bei mir ist CAN Pylontech an die CAN-Karte des venustragenden Raspi angeschlossen, nicht an den Inverter. Habe ja nur einen kleinen 800er Multiplus, der gar keinen CAN hat.
Es können wohl auch CAN-USB Sticks eingebunden werden, Victron Venus CAN
Aber vielleicht redet Pylontech auch mit Deinem Sun 2000? -
O.k. da muss ich glatt mal schauen, und mit der SW bekomm ich dann die Pylon Daten und kann diese als MQTT oder anders an den iobroker liefern. Ist die Venus VW dann über eine Http als Weboberfläche erreichbar?
Der SUN 2000 wird nicht mit der Batterie reden, .... Was will man für 280€ erwarten....
-
@marco-3 Ja, 280 EUR ist günstig; da war mein 800er Victron ca. 200EUR teurer und kann nur 800VA Dauer.
Bei mir funktioniert das wie oben beschrieben: Pylontech redet mit Venus über CAN.
Und der ioBroker redet mit Modbus/TCP und MQTT mit Venus.
Wie gesagt, war etwas Gefrickel und Gefummel, bis das alles lief, aber jetzt läuft es.
Modbus ist etwas eigen und Victron MQTT ist etwas eigen und man braucht ein Script, welches Venus ständig erinnert, die Daten über MQTT zur Verfügung zu stellen...
Aber jetzt funktioniert es.
Die Screenshots in meinem Post oben sind vom Web-Interface der Venus. -
@klassisch
Danke für diese Infos, eventuell werde ich dies noch mal probieren.Was ich gerade noch multisibcontrol gelesen habe.... Man kann HTML basierende Befehle ausführen.
Kam erst mit Version 1.6 mit.Damit kann ich den Shelly steuern.
http://192.168.178.xx/relay/0?turn=on
http://192.168.178.xx/relay/0?turn=OffDas ist so zu sagen der Shelly, der den WR bei Batt Leer abschaltet und ab 52% SOC wieder ins Rennen nimmt. Wenn das morgen klappt, dann komm ich erst Mal entspannt über den Winter.
Natürlich wäre eine iobroker Lösung noch besser.
-
@marco-3 kann dieses Programm in den html string auch den SoC stecken und kann man den String auch beeinflussen? Dann könnte man den Wert an simpleApi des ioBrokers schicken
-
Das müsste ich mal prüfen.
-
@marco-3
Scheinbar geht da was zu machen.Added functionality to send actual inverter/pylontech values with the URLs in Device control. This can be achieved by using one of the following placeholders in the URLs:
{INV_ERR} {PYL_ERR} {INV_MODE} {INV_SOC} {INV_LOAD_W} {INV_LOAD_%} {INV_GRID_W} {INV_PV_W} {INV_BATTERY_W} {INV_BATTERY_A} {PYLON_SOC} {PYLON_W} {PYLON_A} {PYLON_V} {PYLON_TEMP} {PYLON_REMAIN_AH} {PYLON_REMAIN_KWH}Jetzt muss ich mich noch deiner genannten simpleAPI Funktion einlesen.
-
@marco-3 https://github.com/ioBroker/ioBroker.simple-api
Adapter installieren.
http://ipaddress:8087/help
bringt dann die Erklärung
Einen Wert übertragen
"set": "http://ipaddress:8087/set/stateID?value=1&prettyPrint",
Mehrere Werte
"setBulk": "http://ipaddress:8087/setBulk?stateID1=0.7&stateID2=0&prettyPrint"Anführungszeichen weg und &prettyPrint kann man auch weglassen.
stateID ist die Adresse in den ioBroker Objekten
Also Adapter einrichten, iregendwo, zB. unter 0_userdata .. einen Datenpunkt anlegen und dann mal probehalber so eine Zeile manuell zusammenstellen und per Browserzeile an den ioBroker schicken.
Dann muß die Zahl im Datenpunkt sein.
Erst mal keine Blanks und Sonderzeichen in den Namen verwenden, sonst braucht es UTF8 Umschreibung -
@klassisch
Danke für die fixe Erklärung, damit werd ich mich demnächst beschäftigen. Klingt einfach....