Hallo zusammen,
ich wollte einen Modbus TCP Server auf Fhem mit dem Modul ModbusAttr erstellen. Leider kann der Port nicht zugewiesen werden:
TcpServerOpen returned xxxx: Can't open server port at 502: Die angeforderte Adresse kann nicht zugewiesen werden
Hat jemand einen Tipp?
Danke und Gruß
Hallo,
unter Unix / Linux können listening Ports <1024 nicht so einfach von Benutzer ausser root geöffnet werden.
siehe z.B. https://serverfault.com/questions/268099/bind-to-ports-less-than-1024-without-root-access
Am einfachsten nimmst Du einen anderen Port wie z.B. 1502.
Gruss
Stefan
Hallo Stefan, danke für deine Antwort. Leider gleiches Ergebnis mit 1502.
Woran könnte es noch liegen?
ok, gefunden: Anfängerfehler. Ich dachte ich müsste die IP des Empfängers eingeben und nicht die lokale Ip >:(
Danach hatte ich das von Stefan erklärte Phänomen. Mit 1502 ging es dann
So, nun bin ich einen großen Schritt weiter: die ModbusAttr Verbindung steht: Fhem ist Server als modbus Slave und ein weiteres Gerät kann als Client Werte in Fhem lesen und schreiben.
Ich habe jetzt noch eine Frage: ich habe im Fhem Modul ModbusAttr ein Reading auf den State eine Funk-Steckdose angelegt. Dieser Werte kann auch gelesen und geschrieben werden, aber es wird kein Schaltbefehl an die Steckdose geschickt, obwohl sich der State ändert. Die Steckdose ist ein xiaomimqttdevice...
Vielleicht hat ja jemand einen Tipp!?
Hallo Tomk,
Bisher kann ModbusAttr zwar Readings setzen, aber selbst keine set-Befehle in anderen Devices auslösen. Dazu müsstest Du z.B. per Notify oder DOIF auf ein Reading reagieren.
Gruß
Stefan
Hallo Stefan, ich habe mir das nochmal durch den Kopf gehen lassen und finde es sehr schade das man ein zusätzliches notify oder doif benötigt. Das ein beschriebenes Reading nicht direkt eine Aktion in dem entsprechenden device auslösen kann leuchtet mir ja noch ein da dauerhaft gepolled werden müsste um auf geänderte readings zu reagieren. Aber könnte ModbusAttr nicht einfach eine Möglichkeit habe set Befehle auszulösen? Wäre das was was man erweitern? Oder gibt es noch eine elegantere Lösung?
Besten Dank vorab...
Zitat von: Tomk am 15 Januar 2020, 06:06:22
finde es sehr schade das man ein zusätzliches notify oder doif benötigt
nein ist es nicht. Device Module holen oder senden i.d.R einfach nur Daten.
Was dann später mit gelesenen Werten geschehen soll bestimmt der User mit at/notify/DOIF, das zieht sich als roter Faden durch ganz FHEM
Naja stimmt auch wieder, aber vielleicht ist es hier auch ein bisschen anders: die Verbindung vom modbus Modul zu anderen devices ist ja ohnehin schon konfiguriert um Werte anderer devices zu lesen und zu schreiben. Problem ist halt nur das das Schreiben keine Reaktion im device auslöst sondern nur ein beliebiges Reading verändert.