Kompatibilität Typ TCM 310 (Enocean USB Stick) und Synology

Begonnen von skratter, 21 Januar 2022, 10:33:27

Vorheriges Thema - Nächstes Thema

skratter

Hallo,
hat jemand von euch den TCM 310 an einem Synology laufen? Ich überlege aktuell mit ein NAS zuzulegen und würde dann gern das FHEM als Docker darauf laufen lassen. Gegenwärtig läuft das auf einem anderen System als Docker zusammen mit dem TCM 310.

Ich würde das alte System dann gern in Rente schicken, aber eben nur, wenn auch der USB Stick für meine Encocean Kommunikation weiterhin läuft.

Daher die Frage, ob das jemand von euch schon so betreibt.

Vielen Dank

Grüße

krikan

Unter DSM 6 habe ich einen TCM310 eine Zeit lang für eine FHEM-Installation eingesetzt. Das ging damals problemlos. Mit DSM 7 ist die USB-Unterstützung seitens Synology fast vollständig eingestellt (https://www.synology.com/de-de/releaseNote/DSM). Man bekommt das aber grds. wieder ans Laufen. Dazu mal im Netz nachlesen. Unter DSM 7 habe ich den TCM310 nicht ausprobiert. Hier läuft nur noch eine ZWave-Stick nach den USB-Basteleien als Testinstallation auf DSM 7. Produktiv mag ich das nicht mehr einsetzen, da Synology es offiziell nach meinem Verständnis nicht (mehr) unterstützt.

Gruß, Christian

skratter

Hi,
vielen Dank für den Hinweis.
Ich habe jetzt eine LINUX VM auf der NAS aufgesetzt, denn da wird der USB witzigerweise noch ganz normal durchgeleitet und unterstützt.

Damit kann der PI in Rente. :)

andreas_r

Bei mir läuft FHEM inkl. des USB 300 auf der Synology. Allerdings habe ich FHEM auf einem Docker Container laufen.

Um auf dem neuen DSM 7 den USB Stick laufen zu lassen, muss man (da seit DSM7 die USB Treiber Unterstüztzung geändert wurde) muss man hier die Treiber manuell laden oder in ein Startup Skript packen. Sobald der Stick dann auf dem Host bekannt ist, kann man ihn in den Docker Container mappen.

Ich kann bei Bedarf hier auch noch etwas mehr Details posten.

Viele Grüße,
Andreas

Triumph-Meister

Hallo und guten Morgen,

@ andreas_r, genau das Problem hab ich auch.... Hab Docker im Portainer installiert, da läuft IoBroker und nun benötige ich den USB300 in IoBroker für OnOcean.....
Wüdest du mir da ggf. helfen?

Gruß
Norbert

andreas_r

Hallo,

sorry, dass ich es erst jetzt schaffe zu antworten. Hoffentlich ist es noch nicht zu spät. Hier meine Notizen zu dem Installationsvorgang damals:


1) USB Stick auf Docker bekannt machen
-Stick in die Synology einstecken.
-Zuerst USB Treiber beim Starten laden
Die Befehle
sudo insmod /lib/modules/usbserial.ko
sudo insmod /lib/modules/ftdi_sio.ko
laden (per SSH auf der Synology) die Treiber.

- Um dies beim Start zu automatisieren, Edit or create the file startup.sh via:
sudo vi /usr/local/etc/rc.d/startup.sh
Put the next text into the file:
sudo insmod /lib/modules/usbserial.ko
sudo insmod /lib/modules/ftdi_sio.ko
sudo chmod 777 /lib/modules/usbserial.ko
sudo chmod 777 /lib/modules/ftdi_sio.ko
Change rights of startup.sh:
chmod 700 /usr/local/etc/rc.d/startup.sh
The next time your NAS reboots, modules will be started automatically.

Zusätzlich muss das USB Device auch noch mehr Rechte bekommen:
Nach dem Einstecken des USB Sticks mit SSH auf die Synology verbinden und mit dem Befehl
dmesg | grep tty
ermitteln, welchen Port der USB Stick hat.
(https://unix.stackexchange.com/questions/144029/command-to-determine-ports-of-a-device-like-dev-ttyusb0)

Über  den Befehl
chmod a+rw /dev/ttyUSB0 (ggf anpassen)
kann der Port dann die nötigen Rechte bekommen

Auch dies kann in der Startup Datei hinzugenommen werden.
sudo vi /usr/local/etc/rc.d/startup.sh

(wem Vi nicht passt: es gibt auch nano für die Synology:
 https://think.unblog.ch/nano-auf-synology-nas-installieren/)


Wenn der USB Stick soweit verfügbar ist, muss er im Docker bekannt gemacht werden. Leider bietet die Synology Oberfläche die Einstellung, um Devices zu mappen, nicht an.

Daher muss man dies mit einem Trick erledigen:

DSM docker UI application does not have option to set "device". But you still can do this by following steps:
1.   create FHEM (or openhab) container with all settings you need (volumes, ports etc)
2.   select "Settings" -> "Export" and export docker container configuration JSON to local computer
3.   open exported JSON in any editor
4.   find string
"devices" : null,
and replace it with
   "devices" : [
       {
           "pathOnHost": "/dev/ttyUSB0",
           "PathInContainer": "/dev/ttyUSB0",
           "CgroupPermissions": "rwm"
       }
   ],
5.   Import JSON file back to DSM docker UI
Nach dem Neustart des Containers sollte der USB Stick verfügbar sein.
Dies kann geprüft werden, indem man sich auf die Console des Containers verbindet (zB mit docker exec -it <containername> /bin/sh) und
ls -al /dev/tty*
anzeigt.


Zusätzliches:

USB Treiber für Synology (auch DSM7)
http://www.jadahl.com/