NEWS
Modbus - Erste Schritte
-
Lass unbedingt die Installation vom ioBroker machen. Du kannst die aktelle git Version drüberbügeln, indem Du oben links auf die git-Katze klickst und dann den Adapter wählen, oder den git-link angeben. Oder aber auch auf der Konsole installieren. Kopieren reicht eher nicht.
-
Würde ich ja grundsätzlich machen, habe halt nur Angst, dass meine ganzen Konfigurationen und Datenbankeinträge / Zuordnungen verloren gehen.
-
Ich möchte keine Garantie geben. Aber Datenbankeinträge hat es mir noch nie gelöscht. Datenbankzuordnung läuft über die Objekt-ID. Wenn die gleich bleibt, dann schreibt er die zum gleichen Datenpunkt. Konfiguration vom modbus-Adapter weiss ich nicht genau. Da könnte man ev ein File (welche?) wegsichern. Oder die Objekte exportieren, damit das nachbilden kann.
Welchen Datenbank-Adapter nutz Du? Wie viele Datenpunkte sind da betroffen?
-
Hi,
also ich und einige andere haben zur Zeit Probleme mit dem Modbus Adapter.
Siehe z.B. hier:
http://forum.iobroker.net/viewtopic.php?f=22&t=5690
Gruß
Mirko
-
Habe ich gesehen. Kann aber nicht wirklich helfen, da ich selbst kein Programmierer bin. Ich habe lediglich auch Zeit mit dem Adapter verbracht und dazu mitgeholfen, dass der RTU zum Teil lauffähig wurde.
Die offizielle Version in ioBroker ist (glaube ich) 0.4.9 oder 0.4.10. die korrigierte Version für teil-funktionierende RTU Verbindung ist die inoffiezielle 0.5.0. Die aktuelle Version im GIT ist in Arbeit von @Apollon77 bez. eines MemoryLeaks und ist nirgends 'freigegeben'. Kann gut sein, dass das Changelog noch nicht up to date ist, oder auch die Arbeit noch nicht abgeschlossen ist. Weitere Infos unten. Der Modbus Adapter ist auf der Arbeitsliste der Entwickler schon recht weit nach oben gerückt. Jedoch sind einige andere Arbeiten mit noch höherer Priorität noch vor dran.
Wieso bleibt ihr nicht bei 0.4.9 oder 0.4.10? Braucht ihr RTU?
Thema Objekte:
http://forum.iobroker.net/viewtopic.php … git#p56770
Thema Memory Leak:
-
Hm,
wenn die noch nicht freigegeben ist, warum ist die dann schon verfügbar bzw. wird einem ganz normal über die Adapterseite angeboten?
Wollte ja einen Downgrade machen auf 0.4.10 aber da sagt er mir leider das wäre nicht mehr verfügbar.
Gruß
Mirko
-
Hmm. Habe zZ kein Zugriff auf ein Broker. Muss mich dazu später äussern…
-
Für alle, die ein ähnliches Problem wie bei mir haben, ich habe es nun folgendermaßen gelöst.
-
Eine alte Version aus dem GIT geladen und manuell in den entsprechenden Ordner kopiert.
-
iobroker neu gestartet.
-
nun wird mir eine neue Version angezeigt.
-
aus dem Backend geupdatet
-
läuft 8-)
Es ging also ohne Neuinstallation und angst zu haben, dass irgendwas verloren geht.
-
-
Hm, wenn die noch nicht freigegeben ist, warum ist die dann schon verfügbar bzw. wird einem ganz normal über die Adapterseite angeboten?
Wollte ja einen Downgrade machen auf 0.4.10 aber da sagt er mir leider das wäre nicht mehr verfügbar. ` Habe nun mein Broker zur Hand. Also: vorgeschlagen wird zZ 0.5.0 das ist richtig. Wenn der Adapter installiert ist und dein Admin-Reiter im Experten-Modus steht, kannst Du ältere Versionen ganz rechts mit dem Dropdown auswählen. Offensichtlich gehen die 0.4.8 - 0.4.10 nicht mehr !!?? Aber die 0.4.7 lässt sich installieren.
-
Habe mittlerweile die Objecte manuell angelegt.
Hoffe das der Adapter in nicht allzu ferner Zukunft gefixt wird.
Gruß
Mirko
-
Hallo Leute,
Ich nutze jetzt einfach mal dieses Thema, da dieses Thema schon länger ruht und ich somit keine
aktuellen Gespräche störe.
Ich bin auch am herum basteln (anders darf man das nicht nennen) mit dem Modbus Adapter.
Jetzt habe ich ein Problem:
Meine Anlage gibt nicht nur Temperatur, Drehzahlen, Drucke aus, sondern auch Statusmeldungen.
Das ganze sieht dann so aus, dass z.B. die 30010 einen Wert liefert welcher unter Objekte z.B als Wert 5 anliegt.
Nun ist in meiner Beschreibung eine Liste hinterlegt welcher Status sich hinter 5 verbirgt.
Wie kann man es lösen das ich in vis den richtigen Status stehen habe und nicht nur eine Zahl angezeigt bekomme.
Danke
Tobi
-
Hallo zusammen,
ich hoffe ich komme nicht mit einer für euch allzu leichten Basic-Frage aber ich habe folgendes Problem. Ich möchte meine Stiebel Eltron Wärmepumpe mittels ModBus auslesen und steuern. Das Handbuch von Stiebel-Eltron zu den jeweiligen Befehlen befindet sich hier:
https://www.stiebel-eltron.de/content/d … a95add.pdf
Mein Problem ist - wahrscheinlich nur mangels Unkenntnis und weil das Thema Modbus für mich komplett neu ist - ich bekomme generell eine Verbindung mit einem grünen Lämpchen hin. Sobald ich aber unter Eingangsregister oder Holding Registers etwas eintrage wird entweder nichts unter Objekte angezeigt oder im Log erscheint ein Hinweis, dass der Registerwert ungültig ist. Ich habe es mit den beiden Häckchen für Alias und ohne probiert. Z. B. mit dem auszulesenden Wert Eco-Temperatur (Holding) mit der laut Doku Modbus-Adresse 1511. Ich habe versucht es mit 1511 oder mit 41511 zu adressieren, beides funktioniert nicht und auch nicht mit Kombination Alias ja/nein. Was mache ich denn hier falsch? Egal welche Kombination ich probiere, ich erhalte einfach keine Werte…. Hat schon einmal jemand ein Stiebel-Eltron-Gerät angebunden?
-
Hallo Leute,
Ich nutze jetzt einfach mal dieses Thema, da dieses Thema schon länger ruht und ich somit keine
aktuellen Gespräche störe.
Ich bin auch am herum basteln (anders darf man das nicht nennen) mit dem Modbus Adapter.
Jetzt habe ich ein Problem:
Meine Anlage gibt nicht nur Temperatur, Drehzahlen, Drucke aus, sondern auch Statusmeldungen.
Das ganze sieht dann so aus, dass z.B. die 30010 einen Wert liefert welcher unter Objekte z.B als Wert 5 anliegt.
Nun ist in meiner Beschreibung eine Liste hinterlegt welcher Status sich hinter 5 verbirgt.
Wie kann man es lösen das ich in vis den richtigen Status stehen habe und nicht nur eine Zahl angezeigt bekomme.
Danke
Tobi `
Bin unterwegs deshalb kann ich nicht genau nach sehen.
Aber z.b. Ein Text Widget nehmen und so einstellen das es z.B. Bei dem Wert “5” sichtbar wird und dir dann den Text / Status anzeigt den du hinterlegt hast.
Gesendet von iPhone mit Tapatalk Pro
-
Hallo zusammen,
ich hoffe ich komme nicht mit einer für euch allzu leichten Basic-Frage aber ich habe folgendes Problem. Ich möchte meine Stiebel Eltron Wärmepumpe mittels ModBus auslesen und steuern. Das Handbuch von Stiebel-Eltron zu den jeweiligen Befehlen befindet sich hier:
https://www.stiebel-eltron.de/content/d … a95add.pdf
Mein Problem ist - wahrscheinlich nur mangels Unkenntnis und weil das Thema Modbus für mich komplett neu ist - ich bekomme generell eine Verbindung mit einem grünen Lämpchen hin. Sobald ich aber unter Eingangsregister oder Holding Registers etwas eintrage wird entweder nichts unter Objekte angezeigt oder im Log erscheint ein Hinweis, dass der Registerwert ungültig ist. Ich habe es mit den beiden Häckchen für Alias und ohne probiert. Z. B. mit dem auszulesenden Wert Eco-Temperatur (Holding) mit der laut Doku Modbus-Adresse 1511. Ich habe versucht es mit 1511 oder mit 41511 zu adressieren, beides funktioniert nicht und auch nicht mit Kombination Alias ja/nein. Was mache ich denn hier falsch? Egal welche Kombination ich probiere, ich erhalte einfach keine Werte…. Hat schon einmal jemand ein Stiebel-Eltron-Gerät angebunden? `
Leider nur ein iPhone gerade zum lesen.
Die Anleitung sagt nichts darüber aus (oder ich habe es überlesen) welches Format die Werte haben und ob die Angabe der Register Adresse eventuell dezimal oder hex ist.
Hast du mal versucht die 1501 umzurechnen?
Steht in der Doku irgendwo etwas darüber welche Art Datenwort als Antwort geliefert wird z.b. Little endian, big endian, Anzahl der Bits?
Gesendet von iPhone mit Tapatalk Pro
-
Habe die 1501 in 5DD umgerechnet aber auch das funktioniert nicht. Im Log erscheint dann Invalid holding register address: -39996
Hm, nein zum Datentyp habe ich auch nichts gefunden.
Nur das hier:
` > „Read/Write Holding Register“-
Objekte sind sowohl lesbar als auch schreibbar
-
Auslesen der Register über Funktionscode 03 („Read Holding
Registers“)
- Schreiben über Funktionscode 06 (“Write Single Register”)
oder Funktionscode 16 (“Write multiple Registers”)
Für nicht verfügbare Objekte wird der Ersatzwert „32768 (0x8000H)“
ausgegeben.
Einige Statusobjekte sind bitcodiert (B0 - Bx). Die jeweils entsprechenden
Statusinformationen sind unter „Codierung“ dokumentiert
(z. B. Verdichter läuft ja/nein). `
-
-
Mal anders umgerechnet?
Mit 5377 versucht ?
Gesendet von iPhone mit Tapatalk Pro
-
` > var id = 'modbus.0.holdingRegisters.40082_Autarkie_Eigenverbrauch';
createState('e3dc.modbus.Autarkie');
createState('e3dc.modbus.Eigenverbrauch');
on(id, function (obj) {
setState('e3dc.modbus.Autarkie', (obj.state.val >> & 0xFF, true);
setState('e3dc.modbus.Eigenverbrauch', obj.state.val & 0xFF, true);
}); `
DANKEhttp://onlinespielen888.bid/kostenlos-automatenspiele-automatenspiele-kostenlos-ohne-anmeldung! -
Habe die 1501 in 5DD umgerechnet aber auch das funktioniert nicht. Im Log erscheint dann Invalid holding register address: -39996
Hm, nein zum Datentyp habe ich auch nichts gefunden.
Nur das hier:
` > „Read/Write Holding Register“-
Objekte sind sowohl lesbar als auch schreibbar
-
Auslesen der Register über Funktionscode 03 („Read Holding
Registers“)
- Schreiben über Funktionscode 06 (“Write Single Register”)
oder Funktionscode 16 (“Write multiple Registers”)
Für nicht verfügbare Objekte wird der Ersatzwert „32768 (0x8000H)“
ausgegeben.
Einige Statusobjekte sind bitcodiert (B0 - Bx). Die jeweils entsprechenden
Statusinformationen sind unter „Codierung“ dokumentiert
(z. B. Verdichter läuft ja/nein).
Hast du das mal mit der anderen Umrechnung versucht?
Was steht im log wenn du den Register Wert so einstellst wie er in der Doku steht?
Dann gerade mal Anleitung gelesen und das gefunden:
Das ISG nutzt folgende 16 Bit-Register: „Read Input Register“ -- Objekte sind nur lesbar -- Auslesen der Register über Funktionscode 04 („Read Input Registers“) Beispiel: Um das Register 30501 auszulesen, wird die Adresse 501 mit dem Funktionscode 04 angesprochen.
Also sollten alle Lesbaren Register 16-bit daten worte sein.
Bist du sicher das dein Stiebel Eltron gerät die gewählte Adresse unterstützt?
-
-
Folgendes habe ich jetzt getestet:
Modus: RTU over TCP
Port: 502
Geräte ID: 1
Aliases benutzen: True
Direkte Adressen benutzen (bei Aliases): True
Holding Registers:
Modbus-Adresse: 1502
Name: Komfort-Temperatur
Typ: Unsigned 16 bit (Big Endian)
Länge: 2
Faktor: 1
Offest: 0
Rolle: value.temperature
Im ioBroker-Log erscheint dann folgender Error-Eintrag:
Invalid holding register address: -38499
Du hattest weiter oben ja auch geschrieben, ich solle einmal die Adresse 5377 testen. Hier kommt dann folgende Meldung:
Invalid holding register address: -34624
Ich bin mir sicher, dass meine Wärmepumpe diese Werte unterstützt, habe es ja auch mit mehreren anderen bereits probiert. Das Parsen über die Webseite funktioniert z. B. auch, aber da kann ich halt nicht steuern. Hm, ich habe keine Ahnung was hier weiterhelfen könnte. Vielleicht mitsniffern des Ports?
-
Hi,
RTU over TCP ist zu 99,9% falsch.
Nur TCP sollte richtig sein.
Wireshark könnte helfen.
Debug log hast du aktiviert für den Modbus Adapter?
Port und ID sollte stimmen wenn an der WP nichts verändert.
Gesendet von iPad mit Tapatalk Pro