[gelöst] Serial Gateway FHEM2FHEM

Begonnen von budda85, 20 Oktober 2017, 08:58:50

Vorheriges Thema - Nächstes Thema

budda85

Guten Morgen,
hat jemand schon mal ein Serial Gateway per FHEM2FHEM eingerichtet?
Ich habe mein "Haupt-FHEM" in einem Docker-Container auf einem NAS am laufen und dieses steht im Keller.
Nun habe ich mittig im Haus ein RPi stehen mit FHEM drauf. Daran angeschlossen zurzeit ein Jeelink, SIGNALduino und das MySensors Gateway.
Jetzt könnte ich natürlich alle Notes per FHEM2FHEM weiter leiten, aber das Gateway wäre natürlich schöner sodass dann die Notes automatisch am "Haupt-FHEM" angelegt werden.
Mit dem Jeelink klappt das wunderbar.

List vom Gateway am RPi:
Internals:
   DEF        /dev/ttyUSB1@115200
   DeviceName /dev/ttyUSB1@115200
   FD         12
   NAME       MySensors
   NOTIFYDEV  global
   NR         23
   NTFY_ORDER 50-MySensors
   PARTIAL
   STATE      startup complete
   TYPE       MYSENSORS
   ack        1
   inclusion-mode 0
   outstandingAck 0
   READINGS:
     2017-10-19 21:51:07   connection      startup complete
     2017-10-19 10:46:46   state           opened
   messagesForRadioId:
     0:
       lastseen   -1
       nexttry    -1
       numtries   1
       messages:
     100:
       lastseen   -1
       nexttry    -1
       numtries   1
       messages:
Attributes:
   autocreate 1
   requestAck 1
   stateFormat connection


list vom Dummy im Haupt-Fhem:
Internals:
   DEF        none
   DeviceName none
   NAME       MySensors
   NOTIFYDEV  global
   NR         157
   NTFY_ORDER 50-MySensors
   PARTIAL
   STATE      disconnected
   TYPE       MYSENSORS
   ack        1
   READINGS:
     2017-10-19 10:47:44   connection      disconnected
     2017-10-19 13:51:34   state           disconnected
Attributes:
   autocreate 1
   requestAck 1
   stateFormat connection


List vom FHEM2FHEM im Haupt-FHEM:
Internals:
   Clients    MYSENSORS_DEVICE
   DEF        192.168.0.23:7072 RAW:MySensors
   FD         17
   Host       192.168.0.23:7072
   NAME       MySensors.f2f
   NR         158
   PARTIAL
   STATE      connected
   TYPE       FHEM2FHEM
   informType RAW
   rawDevice  MySensors
Attributes:


Ist das überhaupt generell möglich?

Beta-User

...interessanter Ansatz, allerings scheint mir das Zusammenspiel von Bridge-und Node-Modul etwas enger zu sein als beim Jeelink, der ja nur eine art seriellen Output weitergibt, wenn ich das mit meinen rudimentärst-perl-Kenntnissen richtig interpretiere.

Für den Fall, dass das nicht funktioniert: Wie wäre es, das USB-Device per ser2net weiterzugeben, also außerhalb von FHEM auf OS-Ebene?

Allgemein noch der Hinweis: mehrere USB-Geräte laufen nach meiner Erfahrung stabiler, wenn sie nicht über /dev/ttyUSBx eingebunden sind, sondern "by-id" ;) .

Gruß, Beta-User
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

budda85

Also mit FHEM2FHEM habe ich es nicht hinbekommen, aber das ser2net ist ja mal genial.
Fix eingrichtet und zack, ich kann das Gateway direkt verbinden. Top! Danke für den Tip.

Das mit dem by-id klappt bei mir leider nicht, da ich keine originalen Arduinos habe, sondern zwei Clones benutzte. Da hier kein FTDI Chip drauf ist, haben die keine eindeutige ID und somit haben beide die selbe.
Ich habe mir anguckt in welcher Reihenfolge der Pi die USB-Ports initialisiert, der hat da eine feste Reihenfolge. So habe ich die Geräte passend angesteckt und definiert.
Wenn jetzt natürlich eins kaputt geht, könnte das schief gehen aber man kann nicht alles haben  :D
Haben halt nur 2€ gekostet die Nanos.

Beta-User

Danke für die Rückmeldung, freut mich, dass das geklappt hat.

Am Laptop (Ubuntu) hatte ich schon mal ttyUSB8 erreicht bei nur einem einzigen Nano durch schnelles ab- und anstöpseln (flashen via Arduino-IDE).

Wenn du also partout keine "richtigen" Arduinos nehmen willst: es gibt auch "by-path" ;) . Aber wenn es funktioniert, ist ja gut...

Ansonsten gibt es Clones auch ab 4 Euro mit FTDI (leider oft fakes) oder Prolific-Chips (um die 3 Euro). Wenn man da etwas mischt, hat man wieder eine eindeutige Landschaft ::) .
Für irgendwann mal habe ich auch einen pro micro (ATmega32U4, auch um die 3-4 Euro) da, dem sollte man per Sketch eine eigene Kennung verpassen können.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

Ach so, noch was: Bitte Thread als "gelöst" kennzeichnen (wenn dem so ist; dazu ersten Beitrag editieren).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

budda85

Es läuft noch nicht ganz. Zu früh gefreut  ::)

Also ich habe das jetzt mit by-path eingerichtet, dass kannte ich nämlich gar nicht.

Bis jetzt bin ich ganz zurfrieden mit den clones. Einen originalen werde ich mir bestimmt auch mal holen, aber da dies meine ersten Arduinos waren, wollte ich erstmal mit die billigen testen  ;D

So nun zum Problem:

Ich habe ser2net wie folgt eingerichtet

DEVICE:MyUSBPort:/dev/serial/by-path/platform-3f980000.usb-usb-0:1.3:1.0-port0
DEFAULT:speed:115200

6001:raw:600:MyUSBPort:115200 8DATABITS NONE 1STOPBIT banner1


Wenn ich das jetzt mit
ser2net -d -p 3000
starte, verbindet er sich und es wurde mir auch automatisch ein Node angelegt welches auch Werte bekommt bzw. mir anzeigt.
Allerdings "hängt" sich FHEM dann irgendwann auf und ich kann die Weboberfläche nicht mehr bedienen. Das klappt erst wieder wenn ich den Test mit ctrl+C abbreche.

Starte ich den Dienst mit
sudo /etc/init.d/ser2net start
Flackert das Gateway die ganze Zeit zwischen connected und disconnected. Werte von dem Node kommen auch nicht mehr an.

budda85

Habe gerade noch heraus gefunden das ich das Gateway auch so nicht mit by-path definieren kann.
Dann flackert das auch  ???

Beta-User

...klingt nach einem Problem mit der Spannungsversorgung...
An "by-path" liegt es ziemlich sicher nicht, das stellt nur den korrekten link auf die Hardware her.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

budda85

Ich bin daraus nicht schlau geworden woher das flackern kommt.
Ich habe andere Netzteile getestet, alle anderen USB Geräte abgesteckt und Kondensatoren an das Mysensors Gateway geschlossen.

Nun habe ich die Raspberry Gateway Lösung für mich genommen. Der NRF chip wird direkt an die GPIOs vom Pi angeschlossen und installiert.
Mit der Methode wird ein Ethernet Gateway erstellt welches über einen bestimmten Port erreichbar ist.
So kann ich vom Haupt-Fhem das Gateway über LAN ansprechen und steuern.
Eigentlich ganz einfach  ;D

Jeelink und Signalduino laufen weiterhin über FHEM2FHEM