NEWS
Modbus adapter
-
Ich nutze einen ioBroker-Pi und zum ansprechen meines vsm-103 Zählers eine Silicon Labs VCP USB Serial Bridge CP2102. Diese wird auch im io.Broker erkannt und als Device /dev/ttyUSB0 angezeigt. `
Kann dieser Adapter denn RS-485 ? Konnte auf die schnelle mit Google dazu nichts finden.
Desweiteren solltest du mal Screenshots deiner Adapter Einstellungen Posten.
Gibt es für den Zähler auch eine Übersicht welche Modbus Adressen verwendet werden können? `
Hi und sorry dass meine Antwort ein wenig gedauert hat,ja der wandelt von USB auf RS485. Wird ja auch erkannt und ist als dev/ttyUSB0 auswählbar. Das habe ich bereits getan. Sonst ist alles default, da ich nun nicht mehr weiterweiß. Das was ich zu dem Zähler gefunden habe, habe ich per link mit gepostet. Frage 1: Reichen die von mir zusammen getragenen Informationen aus um den Zähler abzufragen? Wenn nein was benötige ich dafür noch?
Frage 2: Wie muss ich was wo eintragen, damit ich Werte auslesen kann?
Danke für Eure Mühe und Zeit!
-
Also wenn ich nach deinem Adapter Google und dann mal dieses Datensheet nehme: https://www.silabs.com/documents/public … CP2101.pdf --> steht da nichts von RS-485 und bloß weil der Adapter unter Linux/iobroker erkannt wird bedeutet es ja nicht das er die erforderlichen beherrscht.
Ein paar Modbus Adressen stehen ja auf der Volkszählerseite, hast du z.B. mal versucht die Adresse "16" auszulesen?
Screenshots deiner bisherigen Einstellungen würde da helfen.
-
Also wenn ich nach deinem Adapter Google und dann mal dieses Datensheet nehme: https://www.silabs.com/documents/public … CP2101.pdf --> steht da nichts von RS-485 und bloß weil der Adapter unter Linux/iobroker erkannt wird bedeutet es ja nicht das er die erforderlichen beherrscht.
Ein paar Modbus Adressen stehen ja auf der Volkszählerseite, hast du z.B. mal versucht die Adresse "16" auszulesen?
Screenshots deiner bisherigen Einstellungen würde da helfen. `
So, hier mal die Screenshots:
und hier die vom Hersteller gerade eingetroffene Schnittstellenbeschreibung:
Ich hoffe das hilft
-
Also wenn ich nach deinem Adapter Google und dann mal dieses Datensheet nehme: https://www.silabs.com/documents/public … CP2101.pdf --> steht da nichts von RS-485 und bloß weil der Adapter unter Linux/iobroker erkannt wird bedeutet es ja nicht das er die erforderlichen beherrscht.
Ein paar Modbus Adressen stehen ja auf der Volkszählerseite, hast du z.B. mal versucht die Adresse "16" auszulesen?
Screenshots deiner bisherigen Einstellungen würde da helfen. `
Hier noch ein Link zu dem USB zu RS485 Adapter:
-
Verkabelt hast du es richtig mit Abschlußwiderständen?
Parität laut Doku:
Geschwindigkeit usw. stimmt mit dem überein was im Zähler eingestellt ist?
Der Wert für "16" ist ein Float Wert laut der Doku.
Wenn bei "Eingangsregister" nichst kommt, das mal unter "Holding Register" eintragen. Musste ich bei meinen Zählern machen.
-
Verkabelt hast du es richtig mit Abschlußwiderständen?
Parität laut Doku: Parity Even.jpg
Geschwindigkeit usw. stimmt mit dem überein was im Zähler eingestellt ist?
Der Wert für "16" ist ein Float Wert laut der Doku. Adresse 16.jpg
Wenn bei "Eingangsregister" nichst kommt, das mal unter "Holding Register" eintragen. Musste ich bei meinen Zählern machen. `
Ähh, Abschlusswiederstände? :shock:Verkabelt hab ich richtig. Aber Wiederstände habe ich nicht benutzt.
Welches Float soll ich denn Deiner Meinung nach nehmen?
-
Kann ich der Anleitung nicht entnehmen, probieren!
Gesendet von iPhone mit Tapatalk Pro
-
Hallo zusammen,
ich würde gerne meinen EPEVER Solar-Regler Tracer1210AN im Wohnwagen in iobroker einbinden.
Hierzu scheint das modbus genau der richtige Adapter zu sein, aber ich komme durch das Protokoll-Wirrwar einfach nicht durch, stehe hier absolut am Anfang Auch die Anleitungen im Internet zum Thema Modbus brachten mich nicht auf den richtigen Kurs, oder ich habe das falsche gelesen.
Vielleicht kann mir hier von den Modbus-Profis ja jemand eine kleine Starthilfe geben:
Das Protokoll ist hier beschrieben:
http://www.solar-elektro.cz/data/dokume … otocol.pdf
Der Solarregler hört mittels der eBox WIFI (http://www.epsolarpv.com/en/index.php/P ... /am_id/139) auf TCP-Befehle.
Aber egal was ich wo eingebe, es funktioniert einfach nicht:
(ich habe mit 16 bit und 32 bit einfach mal was ausgewählt und mehrere Optionen getestet, aber vermutlich bin ich hier sogar total auf dem Holzweg)Das Log meint dazu nur:
modbus.0 2018-05-13 13:09:46.816 warn Poll error count: 3 code: "App Timeout"
modbus.0 2018-05-13 13:09:41.581 info Disconnected from slave 11.11.11.254
modbus.0 2018-05-13 13:09:40.743 warn Poll error count: 2 code: "App Timeout"
modbus.0 2018-05-13 13:09:40.609 warn Poll error count: 1 code: {"err":"timeout"}
modbus.0 2018-05-13 13:09:40.576 warn Error: undefined
modbus.0 2018-05-13 13:09:35.536 info Connected to slave 11.11.11.254
Hmmm….
Danke schonmal für eure Tipps!
Beste Grüße,
Jürgen
-
Das wird so nichts werden denke ich.
Wenn ich das richtig verstehe Spricht der Regler Modbus über RS485 und dein WIFI Teil wandelt das in eine schöne APP/Browser anzeige um. Spuckt aber auf der WIFI Seite kein Modbus mehr aus.
Wenn du das in iobroker haben willst musst du entweder schauen was die App in Verbindung mit dem WIFI Controller macht oder Iobroker direkt an den RS485 Anschluß des Solarreglers anschließen.
-
Oh, schade. Das erklärt natürlich, warum so gar nichts funktioniert…
Danke dennoch für die schnelle Antwort!
Ich habe mal die Pakete mitgelesen, die die App an das WiFi Modul sendet, aber rauslesen geschweige denn rekonstruieren kann ich das nicht.
Gibt es denn einen RS485 zu WiFi-Adapter, der Modbus kann?
Oder lässt sich sowas mit einem ESP8266 realisieren?
Über den RJ45 Port werden auch 5V ausgegeben, da könnte ich problemlos einen ESP dranhängen.
Hmm, sieht mir nach einer Bastellösung aus...
-
Gibt es denn einen RS485 zu WiFi-Adapter, der Modbus kann? `
Gibt es bestimmt.. alles ein frage des Geldes.
Mit ESP habe ich mich noch nie beschäftigt.
Gesendet von iPhone mit Tapatalk Pro
-
Nach etwas Recherche habe ich nun herausgefunden, dass das WiFi-Modul offenbar doch modbus spricht:
Ich habe auf meinem PI einen USB-Port emuliert (socat pty,link=/dev/ttyUSB0 tcp:11.11.11.254:8088) und dann mittels folgendem Script die Daten ausgelesen:
https://github.com/toggio/PhpEpsolarTracer
~/PhpEpsolarTracer-master# php example_cli.php Info Data ---------------------------------- 00 Manufacturer: EPsolar Tech co., LtdTriRon1210 01 Model: V01.42+V01.22. Rated Data ---------------------------------- 00 PV array rated voltage: 100V 01 PV array rated current: 10A 02 PV array rated power: 260W 03 Battery rated voltage: 24V 04 Rated charging current: 10A 05 Rated charging power: 260W 06 Charging Mode: 2 07 Rated load current: 10A RealTime Data ---------------------------------- 00 PV array voltage: 14.5V 01 PV array current: 0.15A 02 PV array power: 2.23W 03 Battery voltage: 13.15V 04 Battery charging current: 0.17A 05 Battery charging power: 2.23W 06 Load voltage: 13.15V 07 Load current: 0A 08 Load power: 0W 09 Battery temperature: 25.07°C 10 Charger temperature: 28.89°C 11 Heat sink temperature: 28.89°C 12 Battery SOC: 75% 13 Remote battery temperature: 0°C 14 System rated voltage: 12V 15 Battery status: 0 16 Equipment status: 11 [...]
So, also das funktioniert.
Jetzt muss ich nur noch herausfinden wie es funktioniert um es in Iobrokers modbus abzubilden.
-
Ok, erster Milestone.
Mit Serial auf den emulierten ttyUSB0 geht es, mittels TCP geht es nicht - jemand ne Idee?
Aber jetzt brauche ich nochmal die Modbus-Profis im Bezug auf die 32bit Daten:
Volt und Ampere sehen schon gut aus, check!Aber die Watt-Angabe stimmt noch nicht…
So habe ich es aktuell konfiguriert:
Unter http://www.solar-elektro.cz/data/dokume … otocol.pdf steht:
` > (4)For the data with the length of 32 bits, such as power, using the L and H registers represent the low andhigh 16 bits value,respectively. e.g.The charging input rated power is actually 3000W, multiples of 100 times,
then the value of 0x3002 register is 0x93E0 and value of 0x3003 is 0x0004. `
Ähh, wie ist das in iobroker zu konfigurieren??Mit 32bit scheint es alleine nicht zu funktionieren.
Jemand ne Idee?
-
Kann es denn sein das bei der Watt Angabe nur der Faktor falsch ist?
-
Sieh mal hier, da habe ich das gleiche Problem gehabt:
-
Hallo zusammen,
ich habe ein kleines Problem mit meinen Modbus Adaptern.
Kurz vorweg. Ich möchte meine 2 SMA Wechselrichter nach der Adresse der PV Erzeugung abfragen.
Die Adresse ist die 30775 und ist auch korrekt.
Modbus.0 Adapter installiert eingerichtet und klappt. Jede Sekunde kommt der neue Wert vom Wechselrichter an.
Modbus.1 Adapter installiert –> eingerichtet und der Wert wird einmal übertragen und dann nicht mehr. Verbindung ist laut Log in Ordnung.
Der andere Modbus wird fleißig geupdated jedoch der zweite nicht.
Was habe ich getestet
-
Modbus.2 Adapter installiert und nochmal getestet aber ohne erfolgt --> danach gelöscht
-
Modbus.0 Adapter gestoppt und nur Modbus.1 Adapter gestartet ohne erfolg --> weiterhin wird der Modbus.1 nicht sekündlich geupdated
-
Gesamten ioBroker neugestartet ohne erfolg
Jetzt kommt das kuriose:
Wenn ich die IP Adressen der Wechselrichter tausche und läuft weiterhin nur der erste Modbus.0 Adapter sauber.
Es kann also nicht an der Wechselrichterkonfiguration liegen.
Unter Allgemein ist auch alles gleich eingestellt bei beiden.
Habt ihr eine Idee warum der zweite Modbus Adapter nicht ebenfalls sekündlich die Werte bekommt / verarbeiten kann?
(die Werte ändern sich bei bei beiden Wechselrichtern sekündlich. Das kann ich im Webinterface bei beiden sehen)
Besten Dank und Grüße
Kevin
-
-
Seeehr Strange … Welche Version nutzt du ? Die letzte offizielle ist 1.1.1
-
Für alle Leser: v2.0.2 zum Testen auf GitHub verfügbar!
-
Je genau, die 1.1.1
Mein ioBroker läuft in einem Docker Container auf einem Synology NAS.
anbei ein paar Screenshots. Vielleicht hilft es dem ein oder anderen.
Version:
Modbus0
Modbus1
Objekte
Hier seht ihr noch das Problem.
PV Leistung im oberen wird jede Sekunde aktualisiert.
Die zweiet PV Erzeugung 1 kriegt initial den Wert und danach nur nach manuellen aktualisierungen
TCP Port des zweite Wechselrichter habe ich testweise mal auf 503 gestellt. Läuft auch im Modbus.0 einwandfrei damit.
Einen anderen Browser habe ich auch schon getestet
Danke Euch
Grüße
Kevin
-
Also zwei instanzen sollten sich nicht in die Quere kommen.
Auf jeden Fall kann mit einem Switch zu 2.0.2 (auch wenn risiko) besser der Fehler untersucht werden falls er dann noch da ist