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?
...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
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.
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.
Ach so, noch was: Bitte Thread als "gelöst" kennzeichnen (wenn dem so ist; dazu ersten Beitrag editieren).
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.
Habe gerade noch heraus gefunden das ich das Gateway auch so nicht mit by-path definieren kann.
Dann flackert das auch ???
...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.
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