[Howto] FHEM Server auf QNAP TS-221 (QTS 4.0.X) installieren

  • Hallo zusammen,


    die Anleitung ist wirklich sehr gut. Ich habe damit bereits 2 mal mein Fhem auf meiner Qnap 469L ans Laufen gebracht.
    Allerdings habe ich nun auch das Problem wie Ironangel.


    Ich habe meine HDDs in meiner Qnap getauscht und musste danach Fhem komplett neu installieren.
    Wenn ich nun


    Code
    /opt/bin/fhem/fhem.pl /opt/etc/fhem.cfg


    eingebe startet mein Fhem. Wenn ich aber die App im Qnap App Center benutze tut sich rein gar nichts mehr.
    Bei meiner letzten Installation klappte es wunderbar.On = grün und off = orange. Ich bin die dafür notwendigen beiden Datei startfhem.sh und qpkg.config auch schon mehrfach durchgegangen bzw. habe die Einträge komplett neu erstellt.


    Könnt ihr uns helfen?


    Danke.


    gruß Sven

  • Tach gesagt!


    Erst mal muss ich sagen Super Anleitung, auch ich der nun garnichts mit Perl und der gleichen am Hut hat, habe FHEM zum laufen bekommen, aber nun zum eigentlichen Problem. Ich habe ein TS-251 mit Firmeware 4.1.3 und Fhem findet den CUL-Stick nicht. Unter lsusb zeigt er ihn mir richtig an, aber unter dmesg nicht! Muss ich die Module die in der FHEM-Wiki stehen doch installieren?

  • Hallo,


    hatte schon einige Anleitungen gefunden, aber deine Anleitung konnte nachvollziehen und die Installation ist ohne Fehler gelaufen.
    Das einzige, was ich anders gemacht habe ist das ändern / anlegen der Dateien.
    Habe ich mit WinSCP gemacht. Mit den Komadozeilenedtioren (vi bzw. none) kam ich einfach nicht klar.
    fhem 5.5 ist im App-Center vorhanden..... Aber kein "ON-OFF".
    siehe Dateianhang
    Wie komme ich nun auf die Benutzoberfläche von FHEM?
    http://IP des TS-412:8083/fhem
    Das klappt nicht.
    Irgendetwas muß ich falsch gemacht haben, oder?


    Danke

  • Hi Peter,


    Problem 1:
    kuck dir nochmal die "qpkg.conf" und "fhemstart.sh" an ob du da n Fehler drin hast.


    Problem 2:
    Ich nehme an der fhem Server ist nicht gestartet.
    Wenn er gestartet ist, dann funktioniert der aufruf der HTML Oberfläche je nach config in der fhem.cfg


    z.B.
    define WEB FHEMWEB 8083 global


    Http://<Qnap IP>:8083


    Gruß


    Kai

  • Hallo,
    find die anleittung super und auch für mich als linux neuling war es doch gut möglich sie nachzuvollziehen :)


    habe jetzt zum dritten mal neu angefangen und leider lande ich wieder bei selbem Problem,
    Installation des Servers scheint zu klappen Auslagerung der log auch aber der Server startet nicht korrekt....
    über den Webserver ist er nicht erreichbar aber er schreibt Sachen ins logfeile,
    er startet wohl beim starten des QNAP und wird auch beendet bei "killall fehm.pl" wie man im Log sehen kann
    hier ein auszug aus der "fhem-2015-04.log"

    Code
    2015.04.08 22:57:37 1: Including /opt/etc/fhem.cfg2015.04.08 22:57:37 3: modpath must point to a directory where the FHEM subdir is2015.04.08 22:57:37 3: Please define WEBphone first2015.04.08 22:57:37 3: Please define WEBtablet first2015.04.08 22:57:37 3: Please define autocreate first2015.04.08 22:57:37 1: Including /opt/var/log/fhem/fhem.savestate2015.04.08 22:57:37 1: configfile: modpath must point to a directory where the FHEM subdir isUnknown module telnetUnknown module FHEMWEBUnknown module FHEMWEBPlease define WEBphone firstUnknown module FHEMWEBPlease define WEBtablet firstUnknown module FileLogUnknown module autocreatePlease define autocreate firstUnknown module eventTypesUnknown module notifystatefile: Please define autocreate firstPlease define eventTypes firstPlease define initialUsbCheck first2015.04.08 22:57:37 2: Error messages while initializing FHEM: configfile: modpath must point to a directory where the FHEM subdir is Unknown module telnet Unknown module FHEMWEB Unknown module FHEMWEB Please define WEBphone first Unknown module FHEMWEB Please define WEBtablet first Unknown module FileLog Unknown module autocreate Please define autocreate first Unknown module eventTypes Unknown module notify statefile: Please define autocreate first Please define eventTypes first Please define initialUsbCheck first2015.04.08 22:57:37 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at /opt/bin/fhem/fhem.pl line 523.2015.04.08 22:57:37 0: Server started with 1 defined entities (version , os linux, user admin, pid 11161)2015.04.09 00:49:39 0: Server shutdown


    dazu noch die "fhem.cfg"

    Code
    attr global logfile /opt/var/log/fhem/fhem-%Y-%m.logattr global modpath .attr global statefile /opt/var/log/fhem/fhem.savestateattr global verbose 3attr global updateInBackgrounddefine telnetPort telnet 7072 globaldefine WEB FHEMWEB 8083 globaldefine WEBphone FHEMWEB 8084 globalattr WEBphone stylesheetPrefix smallscreendefine WEBtablet FHEMWEB 8085 globalattr WEBtablet stylesheetPrefix touchpad# Fake FileLog entry, to access the fhem log from FHEMWEB define Logfile FileLog ./log/fhem-%Y-%m.log fakelogdefine autocreate autocreateattr autocreate filelog ./log/%NAME-%Y.logdefine eventTypes eventTypes ./log/eventTypes.txt# Disable this to avoid looking for new USB devices on startupdefine initialUsbCheck notify global:INITIALIZED usb create


    auch im App Center wird die FHEM App, leider lässt sie sich auch hierüber nicht starten oder stoppen es wird immer mit einem on angezeigt auch wenn ich über "killall fhem.pl" den Prozess beende....
    dazu noch den auszug der "qpkg.conf"

    Code
    [FHEM]Name = fhemVersion = 5.5Author = KaiDate = 2013-12-30Shell = /share/MD0_DATA/.qpkg/fhem/fhemstart.shInstall_Path = /share/MD0_DATA/.qpkg/fhemQPKG_File = fhemstart.qpkgEnable = TRUE


    und die "fhemstart.sh"


    achso mein QNAP ist ein TS-459-PRO-2 und im anhang ist noch ein bild von der App im App Center mit dem dauerhaften ON Schalter


    ich hoffe ich hab alle wichtigen infos hinterlassen und ihr könnt mir helfen.
    Gruß WarBird

  • Hallo, ich brauche Hilfe.
    Habe im letzten Jahr einen TS-221 gekauft und bin jetzt dabei, FHEM darauf zum Laufen zu bringen.
    Die Anleitung von fkai dazu im Forum ist sehr, sehr gut.
    Als Anfänger bin ich mit der Installation soweit, dass FHEM läuft. Noch nicht mit allem aus der Anleitung, aber das kommt noch.
    Habe aber erst einmal eine Frage an die, die es schon am Fliegen haben. Was für einen Stick benutzt Ihr für FHEM ? HM-LAN Konfigurator oder CUL?
    Was muss man tun, damit der Stick im Linux erkannt wird? Wie kann man sehen, dass er richtig erkannt wurde?
    Ich habe momentan CUL an der Fritzbox, möchte auf dem QNAP aber mit HM-LAN-Stick arbeiten.
    Wie sieht dann das entsprechende define im FHEM aus?
    Meine Konfiguration:
    Modell: TS-221
    Linux 3.4.6
    FW: 4.1.3
    Gruß boho

  • Hi boho,


    ich hab den "EQ3 85128 HomeMatic Konfigurations-Adapter LAN"
    Der wird per LAN angeschlossen.


    Vorteil:
    - du kannst ihn am günstigsten Punkt im Haus positionieren
    - keine Treiber nötig


    Gruß


    Kai

  • Hi WarBird,


    irgendwas passt da in der Konfig noch nicht.
    Ein "ordentlicher" FHEM start sieht bei mir im Log so aus:


    Code
    2015.05.01 09:16:24 1: Including /opt/etc/fhem.cfg2015.05.01 09:16:29 1: HMLAN_Parse: HMLAN1 new condition disconnected2015.05.01 09:16:29 3: Opening HMLAN1 device 192.168.3.9:10002015.05.01 09:16:29 3: HMLAN1 device opened2015.05.01 09:16:29 1: HMLAN_Parse: HMLAN1 new condition init2015.05.01 09:16:29 3: telnetPort: port 7072 opened2015.05.01 09:16:31 3: WEB: port 8083 opened2015.05.01 09:16:31 3: WEBphone: port 8084 opened2015.05.01 09:16:31 3: WEBtablet: port 8085 opened2015.05.01 09:16:31 2: eventTypes: loaded 0 events from ./log/eventTypes.txt2015.05.01 09:16:34 1: Including /opt/var/log/fhem/fhem.save2015.05.01 09:16:35 0: Server started with 35 defined entities (version $Id: fhem.pl 4829 2014-02-07 07:27:47Z rudolfkoenig $, os linux, user admin, pid 13154)2015.05.01 09:16:35 1: HMLAN_Parse: HMLAN1 new condition ok


    hier der obere Teil meiner fhem.cfg



    Gruß


    Kai

  • Hallo Kai,


    Zitat von "fkai"


    irgendwas passt da in der Konfig noch nicht.
    Ein "ordentlicher" FHEM start sieht bei mir im Log so aus:


    hab jetzt nochmal von ganz von vorne angefangen.... "QNAP Neu Initialisieren" quasi einmal Auslieferzustand und Neu angefangen...


    hab auch die fhem.cfg nach der instalation angepasst in der art wie du deine...


    Code
    attr global logfile /opt/var/log/fhem/fhem-%Y-%m.logattr global modpath /opt/lib/fhemattr global statefile /opt/var/log/fhem/fhem.savestateattr global verbose 3attr global updateInBackgrounddefine telnetPort telnet 7072 globaldefine WEB FHEMWEB 8083 globaldefine WEBphone FHEMWEB 8084 globalattr WEBphone stylesheetPrefix smallscreendefine WEBtablet FHEMWEB 8085 globalattr WEBtablet stylesheetPrefix touchpad# Fake FileLog entry, to access the fhem log from FHEMWEB define Logfile FileLog /opt/var/log/fhem/fhem-%Y-%m.log fakelogdefine autocreate autocreateattr autocreate filelog ./log/%NAME-%Y.logdefine eventTypes eventTypes ./log/eventTypes.txt# Disable this to avoid looking for new USB devices on startupdefine initialUsbCheck notify global:INITIALIZED usb create


    FHEM läuft auch soweit...
    hier ein auszug aus dem LOG

    Code
    2015.05.04 12:17:23 1: Including /opt/etc/fhem.cfg2015.05.04 12:17:23 3: telnetPort: port 7072 opened2015.05.04 12:17:23 3: WEB: port 8083 opened2015.05.04 12:17:23 3: WEBphone: port 8084 opened2015.05.04 12:17:23 3: WEBtablet: port 8085 opened2015.05.04 12:17:23 2: eventTypes: loaded 0 events from ./log/eventTypes.txt2015.05.04 12:17:23 1: Including /opt/var/log/fhem/fhem.savestate2015.05.04 12:17:23 1: usb create starting2015.05.04 12:17:24 1: usb create end2015.05.04 12:17:24 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute. Running with root privileges. Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message. 2015.05.04 12:17:24 0: Server started with 9 defined entities (version $Id: fhem.pl 6913 2014-11-08 10:32:44Z rudolfkoenig $, os linux, user admin, pid 11629)


    nur habe ich noch das Problem das unter den APPS in der QNAP weboberfläche die FHEM zwar angezeigt wird, wie auf dem bild was ich im letzten beitrag gepostet hatte, aber wie vorher auch der An-/Aus- Schalter immer auf An stehen bleibt und auch keine auswirkungen auf FHEM selber hat...


    hier noch die fhemstart.sh


    Bash
    #!/bin/sh # by Matthias Bauer # modified by Kai case "$1" in start) echo "Starting $0" /opt/bin/fhem/fhem.pl /opt/etc/fhem.cfg### Nur nötig wenn die Prozesspriorität von FHEM erhöht werden muß ###### sleep 5 Prozess=`pidof fhem.pl` renice -10 $Prozess######################################################################### ;; stop) echo "Stopping $0" /opt/bin/fhem/fhem.pl 7072 shutdown ;; status) cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l` if [ "$cnt" -eq "0" ] ; then echo "$0 is not running" else echo "$0 is running" fi ;; *) echo "Usage: $0 {start|stop|status}" exit 1 esac exit 0


    und der untere teil der qpkg.config



    was muss ich machen damit ich FHEM übers app center starten und stoppen kann... wo ist mien fehler?


    Gruß Tobias

  • Sind im Ordner "/etc/init.d/rcK.d" und "/etc/init.d/rcS.d" auch die Symlinks zu deinem Script "fhemstart.sh" vorhanden ?
    Dort kann das Script auch zB. "Q101fhemstart" heißen.
    Diese sollten beim Starten des NAS automatisch erstellt werden, ansonsten mal manuell erstellen und neu starten.

  • Hallo Eraser,
    ich habe leider kein Verzeichnis das "/etc/init.d/rcK.d" oder "/etc/init.d/rcS.d" heist, und auch keine Datei im Verzeichnis /etc/init.d/ die rcK.d oder rcS.d heist, einzig die Dateien rcK und rcS sind vorhanden aber ohne das .d
    und beim starten des QNAP startet FHEM ja auch mit das passt ja nur das starten und stoppen über das app Center eben klappt nicht


    Gruß Tobias

    Zitat von "Eraser-EMC2-"

    Sind im Ordner "/etc/init.d/rcK.d" und "/etc/init.d/rcS.d" auch die Symlinks zu deinem Script "fhemstart.sh" vorhanden ?
    Dort kann das Script auch zB. "Q101fhemstart" heißen.
    Diese sollten beim Starten des NAS automatisch erstellt werden, ansonsten mal manuell erstellen und neu starten.



    EDIT:
    hab grad mal nen bisschen rumgesucht und im verzeichniss /etc/rcK.d die datei "QK100fhem" und im verzeichniss /etc/rcS.d die datei "QS106fhem" gefunden, der inhalt der datei ist gleich mit der fhemstart.sh

  • Hi,


    da ich FHEM eigentlich nie stoppe ist es mir nicht aufgefallen.
    Im Moment funktioniert das stoppen per APP-Center bei mir auch nicht mehr.


    Muß wohl an irgend nem QTS Update liegen.


    Ich forsche mal sobald ich wieder Zeit dafür habe.


    Gruß


    Kai

  • Hi,
    Hehe ok das erklärt auch warum mir da so wenig helfen konnten bis jetzt....
    Nagut dann bin ich mal gespannt ob du was findest würde mich freuen.


    Gruß Tobias

  • In eurem Scripten fehlt zwischen "exit 1" und "esac" das ";;" (2x Semikolon) um diemAuswahl zu beenden.
    Führt das Script mal direkt auf der Konsole aus, ohne diese Korrektur sollte das Script mit einem Fehler abbrechen.


    Wenn das auch noch nicht reicht, sollte von allen Befehlen auch der volle Pfad mit angegeben werden,
    dies wäre der häufigster Fehler in den Start-Scripte.

  • Hallo Eraser,
    Danke für den Tip aber irgendwie klappts damit auch nicht oder ich hab was Falsch gemacht.....
    hier nochmal der code


    Gruß Tobias

  • Gibt es beim manuellen Ausführen des Scriptes Fehlermeldungen?


    Ich habe das Script mit den Pfaden zu den Binaries erweitert und mit Variablen erweitert.
    Damit sollte es dann auch funktionieren.
    Ich lass mich überraschen. ;)


  • Hallo,


    ich habe nun auf QTS 4.1.4 vom 04.08.2015 upgegrated.
    Siehe da, das FHEM on/off per App-center funktioniert (bei mir zumindest) wieder.


    Zusätzlich hab ich den FHEM auf 5.6 upgegrated.
    Nochmal der Hinweis!
    Nach dem Upgrade müsst ihr folgendes wieder ändern, damit FHEM startet:

    Code
    vi /opt/bin/fhem/fhem.pl


    1. Zeile ändern in: (Taste i für Einfügemodus)

    Code
    #!/opt/bin/perl



    Gruß


    Kai

  • Hi,


    ich bekomme leider den folgenden Fehler bei der fhem Installation:


    Code
    [/share/Public/fhem-5.6] # make install
    - creating directories
    - fixing permissions in fhem.cfg
    perl contrib/commandref_join.pl
    make: perl: Command not found
    make: *** [install] Error 127
    [/share/Public/fhem-5.6] #


    hat jemand eine Idee?


    mfg René

    Einmal editiert, zuletzt von dr_mike () aus folgendem Grund: Code Block hinzugefügt, siehe Forenregeln!