NEWS
Modbus adapter
-
Bin zur zeit gesch. unterwegs. Files liefere ich morgen
-
@looxer01 / stefnas
es handelt sich hier um function code 03 für read holding registers bzw. function code 04 für read input registers. Ich nehme an, dass Bluefox diese codes automatisch setzt mit der Auswahl der Register. Viel wichtiger scheint mir nebst der richtigen Adresse (inkl. Wahl Alias oder nicht) die Wahl des Zahlenformats, das ist oft schwierig, weil die Hersteller hier oft sehr ungenau sind (gerade die Ökofen Anleitung ist nicht sehr hilfreich). Da hilft z.B. das Radzio-tool, weil man damit die verschiedenen Formate sehr schnell testen kann. Auch ist damit eine Analyse der Struktur, bzw. Anzahl der Register pro Zahl möglich. (wenn ich Radzio richtig interpretiere bedeutet sw = swapped = BigEndian?)
Voraussetzung ist natürlich, dass die Kommunikation auf der Slave-Seite (der Ofen in dem Fall) überhaupt eingeschaltet ist, die IP und der Port auch stimmt (sorry, etwas trivial, aber muss halt auch stimmen). ggf. ist auch die Device-ID noch einzustellen (bei mir war die irrelevant)
Gruss
starfish
-
Wie hast du bis jetzt eingestellt? Ist modbus an?
Sieht man das in Log, dass modbus adapter verbunden ist? `
Guten Morgen,
vielen Dank für die Rückmeldungen. Ich bin soweit das laut LOG der modbus Adapter mit der Heizung verbunden ist. Sobald ich dann aber versuche eine Adresse auszulesen wird die Verbindung getrennt. Ich bin mir eben nicht ganz sicher Welcher Register hier im Detail genommen werden muss. Aber ich werde die Variante von looxer01 mal testen und berichten.
Gruß
Stefnas
-
der Tipp von looxer01 mit dem Holding Register war perfekt. Ich komme nun an Werte ran allerdings scheine ich hier noch den falschen Typ ausuwählen da ich mit den Werten nichts anfangen kann aber dies schaue ich mir in Ruhe heute Abend nochmals an. Danke schon mal für die Unterstützung
4217_iobroker.2018-08-06.log.html.pdf -
Danke Bluefox!
Bin neu hier -> Hallo Gruppe.
Habe deinen Adapter für eine KWL (Pluggit) eingerichtet und das Auslesen geht soweit. Allerdings möchte ich die Anlage auch steuern (in Abhängigkeit von Anwesenheit, Luftfeuchte und A-Temp -> is logisch..) In der Modbus Register Tabelle der KWL steht für write würde:
"Write multiple Holding registers (0x10)"
unterstützt. Alle meine Versuche enden mit kurzzeitigem Abbruch der Verbindung.
Wenn ich die Komunikation hier richtig verstanden habe fehlt für diese Anwendung nur das richtige Komando (10)
Hast du Lust und Zeit dich nochmal damit zu befassen?
Die Doku des Herstellers hänge ich mal an.
Danke vom Neuling
851_21_10_2013_modbus_addresses.pdf -
Danke Bluefox!
Bin neu hier -> Hallo Gruppe.
Habe deinen Adapter für eine KWL (Pluggit) eingerichtet und das Auslesen geht soweit. Allerdings möchte ich die Anlage auch steuern (in Abhängigkeit von Anwesenheit, Luftfeuchte und A-Temp -> is logisch..) In der Modbus Register Tabelle der KWL steht für write würde:
"Write multiple Holding registers (0x10)"
unterstützt. Alle meine Versuche enden mit kurzzeitigem Abbruch der Verbindung.
Wenn ich die Komunikation hier richtig verstanden habe fehlt für diese Anwendung nur das richtige Komando (10)
Hast du Lust und Zeit dich nochmal damit zu befassen?
Die Doku des Herstellers hänge ich mal an.
Danke vom Neuling `
Adapter muss schon Kommando 16 (0x10) unterstützen. Sieht du was im log von ioBroker?
2417_1.jpg
2417_2.jpg
2417_3.jpg
2417_4.jpg
2417_5.jpg -
Hi,
hier mal das Ergebnis von Ananas. Im Config Fenster von Ananas muss Register 23 als R und auch als W angegeben werden.
Sonst kommt kein Ergebnis zurück. Oekofen liefert in zehntel Grad was hier bedeutet 61,0 Grad.
vG
-
@looxer01 versteh ich das richtig, der Ökofen fungiert als Master? (muss fast, wenn Ananas als Slave läuft …)
-
Meinst du weil das Fenster mit "Client" betitelt ist ?
Ich kann das gar nicht einstellen oder wüsste nicht wo.
Allerdings ist mein Verständnis, dass Oekofen ein Telegram von Ananas (bzw. Modbus Adapter) erhält und darauf antwortet.
Demnach agiert auch ananas als Master. Habe ich da was falsch verstanden ?
-
mit Ananas habe ich keine Erfahrung, offensichtlich ist nebst dem server auch ein einfacher client (master) mit eingebaut. Register werden einzeln ausgelesen, weshalb zum Auslesen aber noch write aktiviert werden muss - keine Ahnung.
-
Ich habe modbus um zyklisches Write erweitert. Konnte jemand ausprobieren?
uint64 müssen auch jetzt gehen.
-
double läuft hier perfekt.
nebenbei, beim update aufgefallen: (etwas schwer zu beschreiben)
ich habe 2 instanzen modbus.0 und modbus.1 die erste instanz ist teilweise konfiguriert, aber deaktiviert. wenn ich nun ein adapter-update mache, wird die konfiguration von modbus.0 in modbus.1 hineingeschrieben. Ich werds mal weiter beobachten, aber ich glaube schon beim vorigen update ist das auch passiert.
-
Ich habe modbus um zyklisches Write erweitert. Konnte jemand ausprobieren? `
eine Einstellung habe ich dazu nicht gefunden. Also habe ich mit den vorhandenen Datenpunkten wie z.B. wie oben beschrieben Register 23 getestet und auch neue angelegt. Die Anlage bringt trotzdem keine Werte zurück, bzw es wird überall "0" angezeigt aber das war auch schon vor dem update so.
7588_unbenannt.png
7588_log.png -
Hier sind die Einstellungen.
-
@looxer01 auch wenns eine Wiederholung und vielleicht trivial ist - eins würde mich schon interessieren: was zeigt rmms radzio bei Dir an wenn Du folgendes einstellst:
bei connection settings Deine IP (vom Ofen) , dann connect.
dann die richtige device id, die start adresse - hier würde ich mal 21 eingeben, dann Länge 10 und als Format z.B. hex Register typ input registers (spielt bei mir für diesen Test keine Rolle, was ich dort einstelle).
wichtig übrigens bei iobroker die modbus instanz deaktivieren und ananas und andere Geräte, die auf den slave zugreifen auch ausschalten vor dem rmms connect.
-
@looxer01 auch wenns eine Wiederholung und vielleicht trivial ist - eins würde mich schon interessieren: was zeigt rmms radzio bei Dir an wenn Du folgendes einstellst:
bei connection settings Deine IP (vom Ofen) , dann connect.
dann die richtige device id, die start adresse - hier würde ich mal 21 eingeben, dann Länge 10 und als Format z.B. hex Register typ input registers (spielt bei mir für diesen Test keine Rolle, was ich dort einstelle).
wichtig übrigens bei iobroker die modbus instanz deaktivieren und ananas und andere Geräte, die auf den slave zugreifen auch ausschalten vor dem rmms connect. `
Bei ihm kommen tatsächlich die 0000… Ich habe selbst meinen Augen nicht getraut..Warum muss man einen Wert mit 0 beschreiben um ein Wert lesen zu können... Vielleicht haben die Entwickler von der Heizung was nicht verstanden. (Oder ich :lol: )
-
dann gibts höchstens noch eine Möglichkeit, dass die Adresse + 1 sein muss (bzw. -1) bei mir kommt bei einer falschen Startadresse genau auch 0000.
Ansonsten muss es wohl ein proprietäres Protokoll sein. seltsam ..
-
Ansonsten muss es wohl ein proprietäres Protokoll sein. seltsam .. `
ja, ich glaube, dass es so ist.jetzt hoffe ich nur noch auf stefnas, da er eine neuere Software von oekofen hat. ich habe 2.03b und stefnas 2.05.
angeblich soll modbus da besser laufen. Einen Termin für den upgrade habe ich schon aber ich möchte das natürlich nur dann machen,
wenn es auch was bringt.
ups gerade gesehen, CW in den Einstellungen habe ich nicht obwohl ich die letzte Version installiert habe. Da habe ich ja noch Hoffnung.
Ein löschen der Instanz und neue Installation hat auch nicht geholfen. in der Adapterliste habe ich 0.35 aber CW sehe ich nicht
edit: jetzt habe ich auch modbus aus der adapterliste gelöscht und neu installiert. keine änderung. Die CW spalte ist nicht zu sehen
7588_unbenannt.png -
Habe gefunden, warum CW nicht sichtbar war. Jetzt ausprobieren.
-
Habe gefunden, warum CW nicht sichtbar war. Jetzt ausprobieren. `
jetzt kann ich CW einstellen. Leider bekomme ich trotz aller Versuche (Registeradressen minus und plus 1 und verschiedeneste Formate etc) lediglich eine Null zurück. Schon eigenartig, dass es bei Ananas funktioniert aber hier bzw. bei Radzio nicht. :shock: