[wired] Alternative zum HMW LAN Gateway?

Begonnen von Jojo11, 13 November 2018, 21:11:28

Vorheriges Thema - Nächstes Thema

Jojo11

Hallo,

ich bin immer noch auf der Suche nach einer vollwertigen Alternative zum originalen HMW LAN Gateway. USB ist leider keiner Alternative. In der Bucht gibt es gerade das hier:
https://m.ebay.de/itm/USR-TCP232-304-RS485-TCP-IP-Ethernet-Konverter-Modul-integrierter-Webseite-/152961099315
Hat das schon jemand probiert? Könnte das funktionieren?

Schöne Grüße
Jo

Thorsten Pferdekaemper

Hi,
ich gehe mal davon aus, dass das Teil noch niemand ausprobiert hat. Ich sehe aber eine realistische Chance, dass es funktioniert. ...zumindest nach ein bisschen rumprobieren.
Gruß,
   Thorsten
FUIP

Jojo11

Hallo Thorsten,

besteht eigentlich theoretisch die Möglichkeit, den hm485d.pl-Daemon so zu erweitern, dass er auch entfernte per USB angebundene Adapter ansteuern kann? Angenommen ich habe mehrere fhem-Instanzen, die ohnehin schon miteinander kommunizieren. Da wäre es ja ein leichtes, einen usb-Adapter anzuschließen. Man müsste quasi den usb-Port des entfernten Rechners ansprechen... Geht sowas (ohne fhem2fhem)?

Schöne Grüße
Jo

Thorsten Pferdekaemper

Hi,
es ist viel einfacher. Du kannst den hm485d.pl auf dem entfernten Rechner laufen lassen und ihn direkt aus dem lokalen HM485_LAN Device benutzen. Dort gibst Du ja schließlich eine IP-Adresse an.
Gruß,
   Thorsten
FUIP

Jojo11

Ich bin mir nicht sicher ob ich das verstanden habe  ::)
Rechner 1 hat das Haupt-fhem. Rechner 2 hat einen 485-usb Gateway und den Daemon. Wie aber kann ich denn jetzt von Rechner 1 auf HMW-Geräte zugreifen (ohne über f2f zu gehen)?

Schöne Grüße
Jo

Thorsten Pferdekaemper

Hi,
schau mal hier:
https://forum.fhem.de/index.php/topic,78518.msg704882.html#msg704882
Der Beitrag sagt zwar, dass das nicht geht, aber später ging es dann genau so.
Die Kommandozeile mit dem hm485d muss auf Rechner 2 gestartet werden. Im FHEM auf Rechner 1 wird dann der HM485_LAN so konfiguriert, wie darunter gezeigt. Natürlich musst Du bei --device was anpassen (Dein USB-Device) bei der Definiton des HM485_LAN die IP-Adresse (192.168.4.244) von "Rechner 2" nehmen. Den Port (2000) kannst Du auch ändern, es muss halt nur in beiden derselbe sein.
...und falls Du an Rechner 1 schon ein (anderes) HMW-Gateway hast, dann musst Du eine andere hmwId wählen.

Rechner 1 greift dann über's Netzwerk auf Rechner 2 zu. Der Daemon auf Rechner 2 erledigt dann die Kommunikation mit den HMW-Devices.

Gruß,
   Thorsten
FUIP

Jojo11

Hallo Thorsten,

hätte ich das mal eher gewusst  :o
Das ist die ideale Lösung für meine Konfiguration. Vielen Dank! Das werde ich mal testen, sobald der USB-GW angekommen ist.

Schöne Grüße
Jo

Jojo11

#7
Hallo Thorsten,

frohe Weihnachten  :)

Ich bin jetzt mal dazu gekommen, ein wenig zu testen. Die Konfiguration ist:
Rechner 1:
- Haupt-FHEM
- Digitus DA-70157 für HMWired Bus Nr. 1
- original HMW-LAN Adapter per LAN für Bus Nr. 2 (soll ersetzt werden durch zweiten Digitus)

Rechner 2 (IP 10.10.10.209):
- FHEM
- Digitus DA-70157 für HMWired Bus Nr. 2 (als Ersatz für den originalen HMW-LAN Adapter)

Der Digitus auf Rechner 1 läuft seit Langem ohne Probleme.

Jetzt habe ich auf Rechner 2 den zweiten Digitus wie folgt definiert:

define HM485 HM485_LAN localhost:2000
attr HM485 HM485d_bind 1
attr HM485 HM485d_device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_xxxxxxxx-if00-port0
attr HM485 hmwId 00000003
attr HM485 room Server
attr HM485 verbose 2


Dieser wird in FHEM auch erkannt und steht auf "opened".

Auf Rechner 1 habe ich ihn versucht, ebenfalls einzubinden:

define HMW_LAN HM485_LAN 10.10.10.209:2000
attr HMW_LAN hmwId 00000003
attr HMW_LAN HM485d_device 10.10.10.209:2000
attr HMW_LAN HM485d_bind 1


Angefangen habe ich mit den ersten zwei Zeilen. Als Ergebnis sprang er in den FHEM Oberfläche extrem schnell immer zwischen opened und disconnected hin und her. In der Device-Ansicht stand "Connection refused. Only on Client allowed". Auch die beiden weiteren Zeilen haben nicht geholfen. Der erste Digitus auf Rechner 1 fing beim Testen irgendwann auch an zu springen. Musste den Test dann abbrechen, weil die Lampen nicht mehr gingen  ;D

Kann es sein, dass pro Rechner nur ein HM485d-Device angesprochen werden kann?
Woran kann es liegen, dass die Verbindung nicht stabil ist?
Muss ich HM485d_device setzen, obwohl die IP und der Port schon im define enthalten sind?
Und was bedeutet die Meldung "Connection refused. Only on Client allowed"?

schöne Grüße
Jo

Thorsten Pferdekaemper

Hi,
auf Rechner 2 sollte FHEM gar nicht laufen oder zumindest darf FHEM nicht den Daemon ansprechen. Der Daemon kann nur einen Client, also entweder Rechner 1 oder Rechner 2.
Am besten startest Du de Daemon auf Rechner 2 ganz ohne FHEM.
In der Definition auf Rechner 1 brauchst Du die IP-Adresse von Rechner 2. Wie soll FHEM denn sonst wissen, was es aufrufen soll?
Gruß,
    Thorsten
FUIP

Jojo11

Hallo,

ok, das erklärt schon mal Einiges.
FHEM auf Rechner 2 brauche ich unbedingt. Aber dann entferne ich die Definition vom Adapter wieder raus und starte den Daemon separat. Dachte das könnte ich mit dem Attribut "HM485d_bind 0" eleganter lösen.
Die IP-Adresse in der Definition auf Rechner 1 habe ich ja. Das sollte passen.
Ich teste mal weiter.
Danke!

schöne Grüße
Jo

Jojo11

Ok, zu früh gefreut.
Ich habe die Definition in FHEM auf Rechner 2 entfernt und stattdessen den Daemon manuell wie in dem verlinkten Beitrag gestartet.
Auf Rechner 1 habe ich folgende Definition:
define HMW_LAN HM485_LAN 10.10.10.209:3000
attr HMW_LAN HM485d_device 10.10.10.209:3000
attr HMW_LAN hmwId 00000003
attr HMW_LAN HM485d_bind 1


Lasse ich die zweite Zeile weg (wo das device gesetzt wird), verweigert er mit dem Hinweis dass device nicht gesetzt ist den Betrieb.
Füge ich die Zeile wieder ein, wechseln BEIDE Devices auf Rechner 1 ständig zwischen openened und disconnected. Und zwar auch der erste Digitus, der ja am USB-Port des Rechner 1 steckt.
Scheint so, als kämen sich der lokale Daemon auf Rechner 1 und der entfernte auf Rechner 2 in die Quere. Habe versuchsweise mal den Port geändert, was aber nicht geholfen hat. Kann ich nochwas ändern?

schöne Grüße
Jo

Thorsten Pferdekaemper

Hi,
10.10.10.209 ist die IP von welchem Rechner?
Gruß,
   Thorsten
FUIP

Jojo11

Zitat von: Thorsten Pferdekaemper am 26 Dezember 2018, 14:54:04
Hi,
10.10.10.209 ist die IP von welchem Rechner?
Gruß,
   Thorsten

Die ist von Rechner 2. Ich sehe gerade, dass ich das oben falsch beschriftet hatte. Sorry.

schöne Grüße
Jo

Thorsten Pferdekaemper

Hi,
lass mal das HM485d_bind 1 weg. Auf Rechner 1 soll FHEM ja den Daemon dafür nicht starten.
Gruß,
   Thorsten
FUIP

Jojo11

Super, das war es  :)
Läuft jetzt alles wieder. Dann kann ich ja jetzt mal vergleichen, wie sich der Digitus im Vergleich zum originalen Adapter so macht. Der originale hatte nämlich des Öfteren mal Aussetzer in Form von disconnects im falschen Moment.

Definiert habe ich es jetzt so:

define HMW_LAN HM485_LAN 10.10.10.209:3000
attr HMW_LAN HM485d_device 10.10.10.209:3000
attr HMW_LAN hmwId 00000003


Den Daemon starte ich auf dem entfernten Rechner (IP 10.10.10.209) mit:

perl /opt/fhem/FHEM/lib/HM485/HM485d/HM485d.pl --hmwId 00000003 --serialNumber A904AE4T --device /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A904AE4T-if00-port0 --localPort 3000


Vielen Dank für Deine Hilfe!

schöne Grüße
Jo