Fhem Installation auf DS 214+

Begonnen von docb, 16 November 2014, 11:52:52

Vorheriges Thema - Nächstes Thema

docb

Hallo Gemeinde,
nachdem ich befürchte, dass fhem auf der Fritzbox über kurz oder lang nicht mehr vernünftig läuft, möchte ich langsam aber sicher auf meine Diskstation 214+ umziehen. Die hat einen    Marvell Armada XP Prozessor. Jetzt weiß ich schon nicht, ob das mit der Version von Martin Fischer kompatibel ist - beim Versuch den USB-Treiber (usb-driver-kernel-2.6.32-mfr-1.0-syno-88f628x.spk) oder das Fhem-Paket (fhem-5.3-mfr-1.1-syno-88f628x.spk) zu installieren, meckert die DS, dass das Paket keine digitale Signatur enthält und lässt mich nicht installieren. Vermutlich gar nicht so schlecht, weil ich eh befürchte, dass die Version nicht mit meinem Prozessor kompatibel ist. Leider habe ich beim googeln oder der Suche hier im Forum keine Anleitung gefunden, wie ich fhem auf meiner DS zum Laufen bekommen - hat jemand vielleicht einen Tipp / Link für mich?
Vielen Dank schon mal,
beste Grüße
doc
I love FHEM!

Thargor

Hi,

die gute Nachricht ist: es geht.

Du brauchst das no-arch Paket:
fhem-5.3-mfr-1.1-syno-noarch.spk
Und dann eben updaten über FHEM.

Hier findet du die USB Treiber für DSM 5.1:
http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial

Was ich dir nicht sagen kann: In wieweit FHEM mit dem aktuellen Perl Paket läuft. Das musst du mal ausprobieren. Ich habe mir damals Perl Crosscompiled ... war aber ein Riesenaufwand und ziemlich mühsam.

Problematisch ist eben, dass es nur bedingt native Compiler/Make gibt und daher auch das nachinstallieren von Modulen nur manchmal möglich ist.

Gruß Lars

docb

Servus und vielen Dank für die Antwort. Scheint alles zu klappen, selbst mit der Perl-Version von Synology. Sollten sich noch Schwierigkeiten ergeben, werde ich nachberichten. Falls übrigens noch jemand das Problem mit der Treibersignatur hat - das kann im Paketzentrum über Einstellungen -> Vertrauensebene -> Jeder Herausgeber abgestellt werden.
DANKE NOCHMALS!
Viele Grüße
doc
I love FHEM!

docb

Hallo,
noch eine ergänzende Frage. Soweit ich mich durchgewurschtelt habe, liegt die Fhem-Installation auf /volume1/@appstore/FHEM
Wie kann ich denn das jetzt so einbinden, dass ich darauf als Netzlaufwerk zugreifen kann?
Ich habe es mit ln -s  /volume1/@appstore/FHEM /volume1/fhem/ probiert - dann zeigt es mir auch die Ordner im Windows-Explorer an, aber ich komme nicht rein: ...kann nicht zugegriffen werden. Sie haben eventuell keine Berechtigung, diese Netzwerkressource zu verwenden. Vermutlich muss ich die Rechte des FHEM-Ordners auf der DS ändern, habe davon allerdings keine Ahnung. Nachdem ich schon mal meine DS durch unwissende shell-Eingriffe verpfuscht habe, würde ich mich sehr über einen Profi-Tipp freuen.
Viele Grüße
doc
I love FHEM!

justme1968

einen solchen link brauchst du nicht selber anlegen. die pakete von marin fischer legen schon einen /usr/local/FHEM link an.

du solltest nicht die rechte des fhem ordners sonder die samba/freigabe konfiguration anpassen.

ansonsten solltest du aufpassen wenn du von windows aus auf fhem files schreibend zugreifst. du kannst dir durch die windows zeilenenden einiges kaputt machen.

was willst du denn über diese freigabe machen? eigentlich gibt es keinen wirklichen grund dazu.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

docb

Die Freigabe hätte ich gerne, weil ich die Fhem-Files mit notepad++ von Windows aus bearbeiten möchte und v.a. meine ganze Konfig von der fritzbox umziehen will (mit 5 include-files). Auf der Fritzbox habe ich da so zumindest bislang nichts kaputt gemacht (toi toi toi).

Und ja - die Pakete von MF habe ich auch unter /usr/local/FHEM gefunden, allerdings hilft mir das (mit meinem beschränkten Wissen) auch nicht weiter, weil ich darauf ja auch nicht von Windows aus zugreifen kann.

Mit der samba freigabe konfigurieren, meinst du ich soll da mit vi in die /usr/syno/etc/smb.conf das /usr/local/FHEM Verzeichnis aufnehmen? Du siehst - ich versuche mir die Lösung zu ergoogeln -die Frage ist nur, ob ich das Richtige finde ;-)

Viele Grüße
doc
I love FHEM!

docb

So, das mit Perl scheint doch nicht so ganz zu klappen, daher noch eine zweite Frage:
Ich habe jetzt die Zeile
define CUL CUL /dev/ttyACM0@9600 1234
in der fhem.cfg "freigeschaltet" - da erhalte ich folgende Fehlermeldung:

Can't locate Device/SerialPort.pm in @INC (you may need to install the Device::SerialPort module) (@INC contains: /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl . /usr/local/FHEM/share/fhem/FHEM) at /usr/local/FHEM/share/fhem/FHEM/DevIo.pm line 256, <$fh> line 34.


Hat irgendjemand eine Idee, wie ich das SerialPort.pm nachinstallieren kann bzw. ob das am Synology Perl liegt und was ich da ggf. ändern muss (Pfade?)?

Wenn ich das auf meines DS214+ zum Laufen bekomme werde ich übrigens einen Wiki-Eintrag erstellen. Nachdem die Fritzbox über kurz oder lang als Server ausdienen wird, werden vermutlich mehr Leute Alternativen suchen...

Viele Grüße
doc
I love FHEM!

justme1968

was die freigaben angeht solltest du eigentlich alles im gui der synology machen können.

für das umziehen bzw. das einmalige kopieren brauchst du keine freigabe. das geht auch per scp. das ausserhalb von fhem editieren hat immer das problem das du dein system jedes mal neu starten musst. wenn es dir um syntax highlighting & co geht kannst du das auch innerhalb von fhem haben: http://www.fhemwiki.de/wiki/Konfiguration#Syntaxhervorhebung. aber das wurde ja schon mehrfach diskutiert.

um Device::SerialPort zu installieren brauchst du aufreden fall einen compiler. oder du findest irgendwo die fertigen module.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

gibt es für die ds214+ die ipkg module? dann schau mal ob du da wegen Device::SerialSport fündig wirst. die ipkg perl version ist zwar älter aber fhem läuft damit.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

docb

hi,
freigabe geht nicht in der gui - da komme ich nicht auf den /usr/local Pfad. SCP haut leider auch nicht hin - weil ich bei WinSCP die Shell nicht auf ash umstellen kann (nur bash, ksh und sudo su) und das will die DS anscheinend.
Ich habe mich durchgegoogelt und ein kompiliertes Device gefunden. Das habe ich einfach auf einen freigegebenen Ordner kopiert und dann über putty ins site_perl Verzeichnis kopiert. Das scheint zu funktionieren, zumindest schmeisst fhem keine Fehlermeldung mehr beim CUL aus.

Danke für den Tipp mit dem syntax highlighting - ich werde mich einfach umgewöhnen und das künftig in fhem selbst machen - danke dafür, ich war über ein Jahr in Sachen fhem inaktiv.
Ich werde nachberichten und wenn ich alles zum Laufen gebracht habe gibt's die Zusammenfassung in der Wiki (inkl. Link zum kompilierten Device).

Viele Grüße
doc
I love FHEM!

justme1968

das mit der shell und winscp habe ich nicht verstanden. das muss windows spezifisch sein :)

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

docb

ja das mit winscp ist sicher ein windows-problem. aber ich konnte es ja mit meinen rudimentärst-linux-versuchen lösen. Ich hab mir die Konfigurationsseite durchgelesen, damit ich meine include dateien ins richtige Verzeichnis lege, das "Installationsverzeichnis"- aber das schaffe ich anscheinend nicht. Ich habe es mit /volume1/@appstore/FHEM versucht und da u.a. meine auto.conf reinkopiert, als auch unter /usr/local/FHEM/share/fhem
Allerdings tauchen die Dateien nicht unter "Edit files" auf. Was wäre denn der richtige Pfad?
Viele Grüße
doc
I love FHEM!

justme1968

die konfig steht unter /usr/local/FHEM/etc und die fhem module unter  /usr/local/FHEM/share/fhem/FHEM

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

docb

hm. Weder unter /usr/local/FHEM/etc noch unter  /usr/local/FHEM/share/fhem/FHEM tauchen meine x.conf Dateien unter "Edit Files" auf... :'(
I love FHEM!

Thargor


Also bei mir liegen die Files in den angegebenen Verzeichnissen.

Du kannst ja mal ein Suche von der Kommandozeile aus anstoßen:

find / -name "fhem.cfg"


docb

hm. da findest er nur das @appstore Verzeichnis. Und da wenn ich files reinkopiere, werden die nicht bei "Edit files" angezeigt. Ich werde jetzt einfach mal meine ganzen include Dateien in die fhem.cfg reinkopieren, dann habe ich halt nur noch eine - allerdings extrem unübersichtliche - Datei.
Viele Grüße
doc
I love FHEM!

docb

Die Lösung:
OMG manchmal stehe ich echt auf dem Schlauch: hier die einfache Lösung, wie man include Dateien einbauen kann und die gleichzeitig über Netzwerk freigeben / verändern kann - mit absoluten Pfaden, also beispielsweise bei mir einfach in die fhem.cfg folgendes einfügen:
include /volume1/fhem/devices.conf
fhem ist dabei ein "Gemeinsamer Ordner" den ich über das GUI der DS freigeben kann. Manchmal geht's auch einfach  ;)
Viele Grüße
doc
I love FHEM!

bjoernbo

Hey DOCB,

ich habe auch ein DS214 sowie eine FB 7940. Da ich heute oder morgen meinen CUL bekommen wollte ich mal fragen welche Schritte du alles unternommen hast um FHEM ans laufen zu bkeommen.
Das PERL Paket habe ich schon auf dem NAS installiert.
Danach würde ich den von Thragor genannten Treiber installieren und den CUL danach anschließen. Wie geht es dann genau weiter?

Danke.
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

docb

Moin!
Dann  brauchst du noch:
ipkg install perl-device-serialport

und falls es bei dir ebenso wie bei mir das serialdevice nicht da hin installiert wo es fhem benötigt, dann noch:

cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/Device/SerialPort.pm /volume1/@appstore/Perl/lib/perl5/site_perl/Device
cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.bs /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort
cp /opt/lib/perl5/site_perl/5.10.0/arm-linux/auto/Device/SerialPort/SerialPort.so /volume1/@appstore/Perl/lib/perl5/site_perl/auto/Device/SerialPort


Da soll zwar normalerweise nicht funktionieren - bei mir tut es das aber ;-)

Dann fhem runterfahren und auf der Diskstation die Datei
/usr/syno/sbin/synousbmodemd
umbenennen (z.B mv /usr/syno/sbin/synousbmodemd /usr/syno/sbin/synousbmodemd_bkp)

Dann sollte es laufen - und wenn du noch JSON brauchst, z.B. für HUEs, dann schau hier: http://forum.fhem.de/index.php/topic,19093.0.html

Viele Grüße
doc


I love FHEM!

bjoernbo

Vielen Dank!
Dann sollte nun nicht mehr viel schiefgehen :-)
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

docb

lass dich überraschen ;-)
Sag bitte Bescheid ob es klappt, ich will einen Wiki-Eintrag schreiben. Auch wenn ich dir wahrscheinlich nicht bei Problemen weiterhelfen kann, weil ich selbst nur das kann, was mir jemand im Forum beigebracht hat. Aber hier wird dir sicher geholfen und das kann ich dann in den Wiki-Eintrag mit aufnehmen...
Viel Erfolg!
I love FHEM!

Fossi

Ich bin zwar noch recht neu, was Fhem angeht, aber warum macht Ihr Euch das Leben so schwer?

Ich bastel viel an Konfigurationsfiles in Linux herum. Dafür nutze ich gern WinSCP. Auf dem Zielsystem - auch Synology - muss einfach nur der SSH Port geöffnet werden. Mit WinSCP lassen sich einfach die Files bearbeiten. Man muss dabei nicht auf die Zeilenendkonfiguration achten. Dazu lassen sich Dateien rauf und runterladen und, sofern man Putty ebenfalls auf der Maschine hat, lässt sich Putty starten, um zum Beispiel mal eben einen Dienst neu zu starten oder ähnliches.

Wenn fertig, kann man SSH wieder ausschalten und hat somit keine Angriffsfläche hinterlassen.

VG Fossi

bjoernbo

wie kann ich auf der Synology "ipkg install perl-device-serialport" ausführen ?  ???
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

docb

Ähm. Was meinst du?
Mit putty auf die ds verbinden und dann tippen. Aber ich vermute mal du hast ipkg nicht drauf?
wenn du die DS 214+ hast, dann schau mal hier: https://gist.github.com/marlun78/9349792
Viele Grüße
doc
I love FHEM!

bjoernbo

Hey,

habe alles nach der Anleitung durchgeführt. Alles kein Problem. Danach konnte ich auf der DS214 das Paket "iPKGui" aus einer alternative Quelle installieren. Allerdings komme ich mit " perl-device-serialport " nicht weiter. ich kann es nicht installieren.

Was mache ich falsch?
Raspberry Pi 3 - FB6490C - Synology NAS DS916+ - NETATMO - HUE - SIEMENS G-Tag'S - FTUI - EchoDOT -

docb

Hi,
ich habe leider gar keine Erfahrung mit dem IPKG Gui-Ding - aber schau mal in die Wiki - die habe ich gerade "fertig" gestellt:
http://www.fhemwiki.de/wiki/Synology_Diskstation
Da steht jetzt alles Schritt für Schritt. Hoffentlich ;-) Wenn was unklar ist, einfach fragen!
Viele Grüße
Doc
I love FHEM!

uron

Zitat von: Thargor am 17 November 2014, 13:53:54

Hier findet du die USB Treiber für DSM 5.1:
http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial

Leider klappt der Link mittlerweile nicht mehr, hat jemand eine Idee, woher ich die Treiber für meine 214+ herbekomme?
RasPi-FHEM  FHEMobile  CUL  FS20-, HM-, Intertechno-, AVM- und Shelly-Aktoren, Vitoconnect 100, Vitocal 200-S, Optolink, FTUI auf iPad, FTUI auf iPhone, Stromzähler von Powerfox, Wechselrichter Growatt MIN 4600 TL-XH, RasPi-ioBroker

docb

Sorry, bin mittlerweile auf einen NUC umgezogen und habe die alten Treiber nicht mehr. Entweder dort im Forum nachfragen oder mal die ganzen Einträge durchlesen. Auf verschiedenen Seiten dort werden irgendwelche Pakete gepostet.
Viele Grüße
doc
I love FHEM!

All-Ex

Den USB Treiber für DSM 5.2 bekommst Du hier:

Download UsbSerialDrivers_3.0.3.spk:
http://jadahl.dscloud.me/sspks/packages/UsbSerialDrivers_3.0.3.spk
vgl. auch hier: http://forum.synology.com/enu/viewtopic.php?f=155&t=82843&hilit=usbserial&start=390#p394270

Der funktioniert bei meiner DS 414 (hinteren USB Port benutzen).

Ich habe es allerdings noch nicht geschafft das Perl Modul Serialport zu installieren.

Ich habe verschiedene Sachen probiert:

  • DSM Perl v5.18: Hat kein Serialport Modul
  • Martin Fischer Perl v5.16: Läuft nicht auf Armarda XP
  • Perl v5.10 mit iPKG installiert: Perl stürzt ab (segfault)
  • Perl v5.22 mit Entware oPKG installiert: FHEM läuft aber leider gibt es kein Serialport Modul

Gibt es da noch andere Tricks um an das Perl Serialport Modul zu kommen?
Oder muss ich mir einen Rasberry kaufen?

All-Ex

Hallo nochmal,

ein Serialport-Modul habe ich immer noch nicht gefunden und daher probiert, Perl auf der DS414 selbst zu kompilieren, analog zu hier: http://www.fhemwiki.de/wiki/Synology_Diskstation_DS213

Aber leider auch kein Erfolg, beim Compilieren kommt:

/volume1/@optware/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/bin/ld: ERROR: /lib/libc.so.6 uses VFP register arguments, try does not
/volume1/@optware/bin/../lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/bin/ld: failed to merge target specific data of file /lib/libc.so.6
collect2: ld returned 1 exit status
Uh-oh, the C compiler 'gcc' doesn't seem to be working.
You need to find a working C compiler.
Either (purchase and) install the C compiler supplied by your OS vendor,
or for a free C compiler try http://gcc.gnu.org/
I cannot continue any further, aborting.


Kann ich noch irgendetwas probieren, bevor ich das ganze auf eine andere Hardware umziehe?

justme1968

du kannst versuchen die toolchain zu verwenden die synology auf der opensource seite zum runterladen hat. ich weiß aber nicht ob das bei deinem modell eine native oder eine zum cross kompilieren ist.

ich würde aber sagen das du dir viel arbeit sparst wenn du dir eine andere hardware suchst. ein raspberry pi 2 ist sicher einfacher und vermutlich sogar schneller.

gruss
  andre

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

All-Ex

Danke für die Antwort! Ich werde mich wohl nach einer anderen Plattform umschauen.