Homegear auf NAS QNAP TP419P installieren

Hallo Sathya,

ich bin neu hier und wende mich gleich an Dich, nachdem ich den sehr interessanten und aufschlussreichen Thread “Homegear auf Synology NAS lauffähig?” “https://forum.homegear.eu/viewtopic.php?f=14&t=45” gelesen habe.

Ich habe openHAB auf meinem QNAP TP419P installiert (dank des Pakets aus “http://forum.qnap.com/viewtopic.php?f=320&t=95315”) und damit meine KNX Installation erfolgreich in Betrieb genommen.

Jetzt habe ich meine Hausinstallation um Homematic Heizthermostate, Fensterkontakte und Rauchmelder erweitert und möchte daher auch die Homematic Elemente in openHAB integrieren, wozu ich Homegear installieren muss (da ich ein Homegear LAN Adapter nutze und keine CCU).

Macht es Sinn, dass ich erst einmal dem oben genannten Thread folge und versuche, Homegear auf meinem QNAP zum Laufen zu bringen oder kannst Du mit Deiner Erfahrung sagen, dass das auf jeden Fall so nicht funktioniert. Ich will nur mein NAS nicht vollmüllen, mit Sachen, die ich nachher eventuell nicht mehr beseitigen kann (meine Unix Kenntnisse sind eher limitiert).

Folgendes kann ich über mein System noch sagen (allerdings werde ich in Kürze auf die QNAP Version 4.1.2 updaten, aktuell 4.1.1)

uname -a
Linux Herkules 3.4.6 #1 Sat Nov 1 07:12:11 CST 2014 armv5tel unknown

Viele Grüße
Axel

Hallo Alex,

solange du in das Dateisystem der NAS schreiben kannst, sollte es klappen. Du kannst das armel-Paket für die Synology NAS als Vorlage nehmen. Das Kompilat von Homegear und die Bibliotheken sind binärkompatibel zu deiner NAS. Auch die Anleitung müsste größtenteils passen.

Falls du auf Hindernisse stößt, einfach melden :wink:.

Liebe Grüße

Sathya

Hallo Sathya,

leider bin ich erst heute dazu gekommen mich mit der Homegear Installation zu beschäftigen.

Folgendes habe ich gemacht.
In Anlehnung an
https://www.homegear.eu/index.php/Installing_and_Configuring_Homegear#Installing_from_Source
habe ich einen neuen User angelegt (sudo brauche ich nicht, da ich das Terminal als admin geöffnet habe)

(da es auf dem QNAP kein root gibt und der admin in der Gruppe administrators ist)
Den original Parameter “–shell /bin/false” habe ich in “-s /bin/false” übersetzt, wobei mir aber nicht klar ist, was dabei überhaupt passieren soll.

Dann habe ich mit

cd /tmp
cp /share/Public/homegear_synology_armel.tar .
tar -xf homegear_synology_armel.tar

die tar-Datei ins /tmp kopiert und entzippt.

Anschließend habe ich deine Kommandofolge (aus https://forum.homegear.eu/viewtopic.php?f=14&t=45#p337) bzgl root:root in admin:administrators geändert. Ich hoffe das war richtig.

Die Kommandos stolpern aber beim Kopieren auf verschiedene Verzeichnisse, bei denen ich annehme, dass bei mir andere Systemdienst laufen als auf dem Synology (für das die Kommandofolge ursprünglich gemacht war).

Ich kann jetzt zwar hergehen und alle fehlenden Verzeichnis händisch erstellen, nehme aber an, dass ich dann nur ein Scheinwelt baue, die nicht mit den eigentlichen Systemdiensten zusammen arbeitet.

Was soll ich deiner Meinung nach machen?

[/etc] # cd /tmp/homegear-0.5.14/
[/tmp/homegear-0.5.14] # mkdir /etc/homegear
[/tmp/homegear-0.5.14] # cp Miscellaneous/*.conf /etc/homegear
[/tmp/homegear-0.5.14] # chmod -R 644 /etc/homegear
[/tmp/homegear-0.5.14] # chown admin:administrators -R /etc/homegear
[/tmp/homegear-0.5.14] # chmod 400 /etc/homegear/rpcclients.conf
[/tmp/homegear-0.5.14] # chown homegear:homegear /etc/homegear/rpcclients.conf
[/tmp/homegear-0.5.14] # cp Miscellaneous/homegear.limits /etc/security/limits.d/homegear
[b]cp: cannot create regular file `/etc/security/limits.d/homegear': No such file or directory[/b]
[/tmp/homegear-0.5.14] # chmod 644 /etc/security/limits.d/homegear
[b]chmod: /etc/security/limits.d/homegear: No such file or directory[/b]
[/tmp/homegear-0.5.14] # chown admin:administrators /etc/security/limits.d/homegear
[b]chown: /etc/security/limits.d/homegear: No such file or directory[/b]
[/tmp/homegear-0.5.14] # cp Miscellaneous/logrotate /etc/logrotate.d/homegear
[b]cp: cannot create regular file `/etc/logrotate.d/homegear': No such file or directory[/b]
[/tmp/homegear-0.5.14] # chmod 644 /etc/logrotate.d/homegear
chmod: /etc/logrotate.d/homegear: No such file or directory
[/tmp/homegear-0.5.14] # chown admin:administrators /etc/logrotate.d/homegear
chown: /etc/logrotate.d/homegear: No such file or directory
[/tmp/homegear-0.5.14] # chmod +x Miscellaneous/GetDeviceFiles.sh
[/tmp/homegear-0.5.14] # mkdir -p /var/lib/homegear/modules
[/tmp/homegear-0.5.14] # cp -R Miscellaneous/firmwareDir/ /var/lib/homegear/firmware
[/tmp/homegear-0.5.14] # chmod -R 750 /var/lib/homegear
[/tmp/homegear-0.5.14] # mkdir -p /etc/homegear/devices
[/tmp/homegear-0.5.14] # cp -R Miscellaneous/Device\ Description\ Files/HomeMaticBidCoS /etc/homegear/devices/0
[b]cp: cannot stat `Miscellaneous/Device Description Files/HomeMaticBidCoS': No such file or directory[/b]
[/tmp/homegear-0.5.14] # cp -R Miscellaneous/Device\ Description\ Files/HomeMaticWired /etc/homegear/devices/1
[b]cp: cannot stat `Miscellaneous/Device Description Files/HomeMaticWired': No such file or directory[/b]
[/tmp/homegear-0.5.14] # cp -R Miscellaneous/Device\ Description\ Files/INSTEON /etc/homegear/devices/2
[/tmp/homegear-0.5.14] # cp -R Miscellaneous/Device\ Description\ Files/MAX /etc/homegear/devices/4
[/tmp/homegear-0.5.14] # cp -R Miscellaneous/Device\ Description\ Files/Philips\ hue /etc/homegear/devices/5
[/tmp/homegear-0.5.14] # chmod -R 644 /etc/homegear
[/tmp/homegear-0.5.14] # chown admin:administrators -R /etc/homegear
[/tmp/homegear-0.5.14] # mkdir /var/run/homegear
[/tmp/homegear-0.5.14] # mkdir /var/log/homegear
[/tmp/homegear-0.5.14] # cp -R libs /lib/homegear
cp: writing `/lib/homegear/libs/libgnutls.so.26': No space left on device
cp: writing `/lib/homegear/libs/libtinfo.so.5': No space left on device
cp: writing `/lib/homegear/libs/libsqlite3.so.0': No space left on device
cp: writing `/lib/homegear/libs/libp11-kit.so.0': No space left on device
cp: writing `/lib/homegear/libs/libgcrypt.so.11': No space left on device
cp: writing `/lib/homegear/libs/libtasn1.so.3': No space left on device
cp: writing `/lib/homegear/libs/libgpg-error.so.0': No space left on device
[/tmp/homegear-0.5.14] # cp bin/homegear /bin
[/tmp/homegear-0.5.14] # chmod 755 /bin/homegear
[/tmp/homegear-0.5.14] # cp bin/mod_* /var/lib/homegear/modules
[/tmp/homegear-0.5.14] # cp Miscellaneous/homegear /opt/etc/init.d/S99homegear
[b]cp: cannot create regular file `/opt/etc/init.d/S99homegear': No such file or directory[/b]
[/tmp/homegear-0.5.14] # chmod 755 /opt/etc/init.d/S99homegear
chmod: /opt/etc/init.d/S99homegear: No such file or directory

Hallo Alex,

dass es keinen Ordner limits.d gibt, kannst du ignorieren. Die Anleitung im Wiki passt allerdings nicht auf das Synology-Archiv. Hier ist die Liste der Befehle, die bei dir nach dem Entpacken des Synology-Archivs aus dem Forum notwendig ist:

cd ENTPACKTES_ARCHIV

mkdir /etc/homegear
cp Miscellaneous/*.conf /etc/homegear
chmod -R 644 /etc/homegear
chown root:root -R /etc/homegear
chmod 400 /etc/homegear/rpcclients.conf
chown homegear:homegear /etc/homegear/rpcclients.conf
cp Miscellaneous/homegear.limits /etc/security/limits.d/homegear
chmod 644 /etc/security/limits.d/homegear
chown root:root /etc/security/limits.d/homegear

# Optional:
cp Miscellaneous/logrotate /etc/logrotate.d/homegear
chmod 644 /etc/logrotate.d/homegear
chown root:root /etc/logrotate.d/homegear

mkdir -p /var/lib/homegear/modules
cp -R Miscellaneous/firmwareDir/ /var/lib/homegear/firmware
chmod -R 750 /var/lib/homegear
mkdir -p /etc/homegear/devices
cp -R Miscellaneous/Device\ Description\ Files/HomeMaticBidCoS /etc/homegear/devices/0
cp -R Miscellaneous/Device\ Description\ Files/HomeMaticWired /etc/homegear/devices/1
cp -R Miscellaneous/Device\ Description\ Files/INSTEON /etc/homegear/devices/2
cp -R Miscellaneous/Device\ Description\ Files/MAX /etc/homegear/devices/4
cp -R Miscellaneous/Device\ Description\ Files/Philips\ hue /etc/homegear/devices/5
chmod -R 644 /etc/homegear
chown root:root -R /etc/homegear
mkdir /var/run/homegear
mkdir /var/log/homegear

cp -R libs /lib/homegear

cp bin/homegear /bin
chmod 755 /bin/homegear
cp bin/mod_* /var/lib/homegear/modules

Einen eigenen Benutzer für Homegear anzulegen ist gut, probier aber vorher, ob’s als root (bzw. admin) läuft. “–shell /bin/false” heißt, dass der Benutzer keine Shell öffnen darf.

Du solltest homegear jetzt durch Eingabe von “homegear” starten können (nach Konfiguration der /etc/homegear/physicalinterfaces.conf). Wenn das soweit klappt, ist der nächste Schritt dann der automatische Start beim Hochfahren.

Liebe Grüße

Sathya

Hallo Sathya,

Danke für die Unterstützung.

Auf meinem QNAP TP419P gibt es das Verzeichnis

nicht.
Ich habe es händisch an gelegt damit die cp-Aktion nicht fehlschlägt

Folgendes hat nicht geklappt, da es die entsprechende Verzeichnis im Archive gar nicht gibt.

cp -R Miscellaneous/Device\ Description\ Files/[b]HomeMaticBidCoS[/b] /etc/homegear/devices/0
cp -R Miscellaneous/Device\ Description\ Files/[b]HomeMaticWired[/b] /etc/homegear/devices/1

Sind die Verzeichnisse [b]HomeMaticBidCoS[/b] und [b]HomeMaticWired[/b] wichtig?
Zu mindest das erstere scheint mir etwas mit dem Protokoll zu tun zu haben und wäre dementsprechend wichtig oder?

Gruß
Axel

Hallo Sathya,

ich habe trotz der fehlenden Verzeichnisse homegear konfiguriert und versucht zu starten, bekomme aber diese Fehlermeldungen.

[/etc/homegear] # homegear
homegear: /lib/libc.so.6: version `GLIBC_2.11' not found (required by /lib/homegear/libreadline.so.6)
homegear: /lib/libc.so.6: version `GLIBC_2.8' not found (required by /lib/homegear/libgnutls.so.26)
[/etc/homegear] # 

Liegt das an falschen/alten C-Compilern?

Gruß
Axel

Hallo Axel,

nimm dir die beiden Ordner HomeMaticBidCoS und HomeMaticWired aus dem i386-Archiv. Die sind wichtig, das sind die Gerätebeschreibungsdateien. Ohne geht gar nichts :wink:.

Der Order limits.d ist egal. Wenn er nicht existierte, wird er vermutlich eh ignoriert.

Anbei findest du eine passende libc.so.6. Diese in /lib/homegear entpacken. Geht’s jetzt?

Liebe Grüße

Sathya
libc.so.6.tar.gz (577 KB)

Hallo Sathya,

im Augenblick kämpfe ich mit “zwei” Problemen.

Das größere ist, dass mein NAS (QNAP TP419P) plötzlich Fehler der folgenden Art produziert:

39029","Error","2015-01-24","21:29:55","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/config/def_share.info], section = [SHARE_DEF], field = [defVolMP], value = [/share/MD0_DATA]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."
"39028","Error","2015-01-24","21:29:52","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/config/uLinux.conf], section = [UPS], field = [Server Mode], value = [FALSE]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."
"39027","Error","2015-01-24","21:29:50","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/config/uLinux.conf], section = [UPS], field = [Server Mode], value = [FALSE]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."
"39026","Error","2015-01-24","21:29:48","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/config/uLinux.conf], section = [UPS], field = [Server Mode], value = [FALSE]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."
"39025","Error","2015-01-24","21:29:46","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/config/uLinux.conf], section = [UPS], field = [Server Mode], value = [FALSE]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."
"39024","Error","2015-01-24","21:28:45","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/default_config/uLinux.conf], section = [QWEB], field = [PHP_ZEND_SUPPORT], value = [FALSE]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."
"39023","Error","2015-01-24","21:28:42","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/config/smb.conf], section = [global], field = [cache directory]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."
"39022","Error","2015-01-24","21:28:41","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/config/smb.conf], section = [global], field = [state directory]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."
"39021","Error","2015-01-24","21:28:38","System","127.0.0.1","localhost","The system is unable to save your settings (file = [/etc/config/smb.conf], section = [global], field = [lock directory]) due to insufficient ramdisk space. If restarting the server does not solve the problem please contact support for further assistance."

und ich keine Ahnung habe, wo durch das aus gelöst wird.

Das Problem habe ich durch Neustarten des Server versucht zu lösen, was aber bisher nicht wirklich geklappt hat.
Im Augenblick läuft ein Disk Check (dauert wohl noch 3h).

Nebenbei habe ich ein zweites Problem festgestellt, nämlich, dass alle homegar Verzeichnisse und Dateien nach einem Reboot des Server verschwunden sind.
Es scheint so, als ob der Server seine Verzeichnisse von einer Backup Kopie lädt.
Kann das sein?
Wenn ja, wie muss mich meine homegar Verzeichnisse “überlebensfähig” machen?

Gruß
Axel

Hallo Alex,

ok, jetzt wird’s leider kompliziert. Dein Dateisystem ist nicht vollständig beschreibbar, sondern liegt auf einem nur lesbaren Flashspeicher. Du kannst nur in eine “Ramdisk” schreiben (also ein Datenträger, der im Arbeitsspeicher liegt). Die Daten, die du dorthin schreibst, überleben aber keinen Neustart. Und es ist nicht viel Speicherplatz vorhanden, daher vermutlich auch der Fehler - wobei ein Neustart ihn eigentlich hätte beheben müssen. Wenn du “df” eingibst, kannst du dir anschauen, wie voll die Datenträger sind.
Irgendwo wird es auch einen kleinen Dateisystembereich geben, in dem du Daten speichern kannst. Um Homegear jetzt aber zu installieren, musst du dieses auf die NAS zusammen mit dem System flashen. Dazu ist es vermutlich notwendig, ein QNAP-Image entsprechend anzupassen. Der Vorgang wird ähnlich sein, wie für die CCU2 [1]. Das ist jetzt leider um Längen komplizierter… Falls du es wagen möchtest, stehe ich dir natürlich bei Fragen zur Verfügung. Da ich kein QNAP NAS habe, kann ich dir leider keine genaue Anleitung schreiben.

Liebe Grüße

Sathya

[1] http://sathya.de/blog/2015/01/install-homegear-on-homematic-ccu2/

Hallo Sathya,

danke für die Hilfe, aber ich glaube, dass ist mir zu “advanced”.

Ich werde mich mal informieren, ob man homegear in ein ipkg gießen kann, dass ich dann über den Paketmanager installieren könnte.
Ich melde mich wieder, wenn ich mehr weiß.

Gruß
Axel

Da es IPKG-Pakete gibt, müssen die ja irgendwohin installiert werden. Schick mir mal die Ausgabe von “df”. Vielleichts geht’s doch einfach :wink:.

Liebe Grüße

Sathya