Howto: Technische Alternative per ModbusTCP über FHEM an Symcon anbinden

Hallo,

ich habe vor der Herausforderung gestanden eine TA CMI per ModbusTCP mit Symcon zu verbinden.
Problem dabei ist, dass TA nur Modbus Master kann und Symcon auch nur Modbus Master.

Der Grund warum die meisten Hersteller nur Master implementieren, ist einfach. Master gibt den Takt vor und damit die Last, welche entsteht.

Die Suche im nach einem kaufbaren und bezahlbaren Gateway zum zwischenschalten, war ernüchternd.

Danach habe ich mich auf die Suche nach einer Software-Lösung gemacht.

[ol]
[li] Openhab 2 kann auch nur ModbusTCP Master
[/li][li] IOBroker kann ModbusTCP Slave, aber total verbugt… nicht nutzbar
[/li][li] Codesys kann ModbosTCP Slave, aber eine Lizenz nur für dieses Thema für den PI war mir zuviel
[/li][li] FHEM kann im Standard nur Master, Modul für Slave vorhanden, was auch gepflegt wird
[/li][/ol]

Also habe ich den Weg über FHEM gewählt. Im Anhang die Howtos um die TA CMI mittels ModbusTCP Slave auf FHEM mit Symcon zu verbinden.

Die Doku ist universell, d.h. man könnte anhand der Doku auch jedes andere ModbusTCP Master Gerät an Symcon anbinden.

Die Anbindung Symcon an ModbusTCP Server wird in der Doku nicht erläutert. Aber die ist gut in der Symcon Doku beschrieben.

Mittels der Doku ließe sich die UVR auch an andere Systeme anbinden… z.B. Loxone.
Mittels der Doku lassen sich auch andere Geräte, welche ModbusTCP Master können anbinden

Viele Grüße
Predi

FHEM - ModbusTCP Server für TA CMI - 01.zip (348 KB)
FHEM - ModbusTCP Server für TA CMI - 02.zip (851 KB)
FHEM - ModbusTCP Server für TA CMI - 03.zip (30.3 KB)

Ich selber nutze kein Modbus Slave aber mich würde das einfach mal am Rande interessieren wie oft man das braucht? Wenn das mit FHEM funktioniert sollte das ja grundsätzlich auch mit IP-Symcon möglich sein. Die Frage ist daher warum wird das zur Zeit von IP-Symcon nicht angeboten, weil es nicht nachgefragt wird oder weil es technisch ein Problem darstellt?

Modbus Slave wird interessant, wenn es um Haustechnik geht. Also um Heizanlagen, Klimaanlagen und co.
Fast alle modernen Heizungsanlagen haben einen ModbusTCP integriert oder es gibt eine Erweiterung.

Dann gibt es da noch eine weitere Möglichkeit, welche mein Howto nicht beschreibt. Symcon unterstützt diverse Hardware. FHEM unterstützt aber wesentlich mehr Hardware. Eine Schnittstelle out-of-box um FHEM Devices in Symcon zu nutzen, gibt es nicht (mein Wissensstand). Mittels dem Howto von mir könnte man ganz Easy FHEM Devices in Symcon einbinden. 99% haben nur Switches und Zahlenwert, welche übertragen werden müssen.

ModbusTCP Slave kann man natürlich in Symcon implementieren. Nur habe ich keinen lauffähigen PHP-Code gefunden und den FHEM Code zu portieren hatte ich bisher keine Lust. Generell ist aber ModbusTCP Slave eine andere Liga bei der Implementierung als Master. Master ist easy. Slave ist wesentlich komplzierter.

Für viele Devices für die es eine KNX Schnittstelle gibt, gibt es auch ModbusTCP Devices. Wenn ich die Wahl zwischen KNX und ModbusTCP hätte, würde ich ModbusTCP wählen.

Und die Variante geht nicht ?
Technische Alternative — IP-Symcon :: Automatisierungssoftware
Michael

Wird bei diesem Weg eine offizelle API genutzt? NEIN. Bei dem Weg wird praktisch die Weboberfläche der CMI zum Steuern benutzt. Wenn TA ein Softwareupdate rausbringt und nur irgendwas an den Commands für das Webinterface ändert, funktioniert nichts mehr. Das haben sie schon mehrmals gemacht.

Wenn man etwas stabiles will, dann gibt es nur folgende Wege Out-of-Box:

  1. JSON API
  2. ModbusTCP

Die JSON API ist aktuell readonly. Wenn man Schreiben will könnte man auch noch ein KNX-Interface, M-Bus-Interface oder klassisches Modbus-Interface in den CAN Bus hängen.

ModbusTCP kann lesen. ModbusTCP kann schreiben. ModbusTCP ist eine offizielle Schnittstelle. Ein PI kostet keine 50 Euro. Mittels des Howtos kann man die CMI innerhalb von 2-3 Stunden anbinden. Und zwar supportet durch TA!

Was gefällt an dem Weg nicht. FHEM? Okay, FHEM ist eine hier nicht gern gesehene Software. Aber sie kann leider Sachen, welche Symcon nicht kann. Symcon kann gern im nächsten Release einen ModbusTCP Slave integerieren.
Ich mache drei Luftsprünge und schalte den FHEM ab

Wenn ich es mir hätte einfach machen wollen, hätte ich den Weg lt. Doku genommen. Aber, wenn ich hier ins Forum schaue dann lese ich immer wieder Threads zu Heizanlage und Co bei denen auch ModbusTCP machbar wäre. Die Intension meiner Implementierung und des Veröffentlichens war ALLE ModbusTCP-fähigen Devices an Symcon anbinden zu können. Bisher kann Symcon nämlich nur Slave Devices anbinden. Mit dem Weg kommen Master Devices hinzu

Das glaube ich nicht das FHEM eine nicht gern gesehene Software ist, es ist einfach eine andere Alternative und meist ja auch nicht notwendig. Der Nutzerkreis ist einfach ein anderer bzw. manche Dinge ergänzen sich ja auch. Ich nutzte es z.B. selber mit FakeRoku. Es liegt ja an IP-Symcon selber solche Dinge zu ändern und das einzubauen, wenn da viel Bedarf für besteht, dann würde ich das unter Feature Request dazu schreiben. Begrüßenswert ist so ein Ansatz allemal, da es damit möglich ist das nun zu nutzten. Rein aus Interesse wie tauscht Du Daten zwischen FHEM und IP-Symcon aus ich mache das per HTTPMOD und einen Webhook. Gibt es da einen eleganteren Weg?

Aktuell passiert das noch über Telnet und Spaghetti-Code. Aber das ändert sich gerade.

symcon_fhem.png

Umstellung auf Module… Device, Gateway, I/O und JSON-API von FHEM. Ich bediene mich da mächtig an deinem Code des Mediola AIO Gateways.

Viele Grüße
Predi

Irgendwie habe ich da jetzt keine Antwort auf meine Frage gesehen :wink:
Also eher nein für deinen Zweck?
Den Rest hast du schon 10mal geschrieben, das war aber nicht meine Frage :smiley:
Michael

Ich hatte geschrieben bzw. indirekt geschrieben, dass:

  1. Der Weg natürlich geht
  2. Ich den Weg aus der Doku nicht gegangen bin, weil dabei keine offizielle API genutzt wird.

Von daher ist deine Frage doch beantwortet.

Alternative Lösungen macht man immer dann, wenn die vorhandene Lösung nicht ausreichend ist oder nicht für gut empfunden wird.
Und die Lösung aus der Doku halte ich nicht für gut.

Also eher nein für deinen Zweck?

Der Zweck ist wohl eher allgemein. Das Howto ist problemlos auf andere Modbus Master Devices übertragbar.
Oder habe ich einen Weg übersehen wie man Modbus Master an Symcon mit Boardmitteln anbindet? Glaube nicht.

Ich schließe mich da mal an. Sowohl mein Wechselrichter als auch meine Wärmepumpe würden sich freuen :slight_smile:
Ist zwar mittlerweile in IPS eingebunden war aber ziemlich nervig bis es lief. Ich denke die Slave Variante würde es sicher einfacher machen.

Grüße

Hallo Predi

ich habe das von dir mal soweit umgesetzt, da ich nach einer Möglichkeit gesucht habe Homematic Temperaturwerte über CMI an die UVR16x2 zu übergeben.

Also von der CMI an FHEM geht soweit alles nur Syncom an FHEM bekomme ich nicht hin.

könntest du mir mal eine Abfrage mit den Adressen zeigen. Ich denke ich bin auf dem Holzweg was die Adressen an geht.
Vielen Dank im Voraus

Heribert

Habs jetzt hin bekommen war nur zu bescheuert. Sorry

Hallo Peri,

wollte nur mal Danke sagen. Dein Howto ist genau das was ich gesucht habe um Temperaturwerte von der Homematic auf die UVR zu bekommen. Funktioniert einwandfrei. :slight_smile:

Mfg

Heribert