Homegear auf Synology NAS lauffähig?

Hallo Klaus,

Donate-Button hat funktioniert, vielen Dank :wink:. Genau, /var/lib/homegear/db.sql und alle von dir geänderten Dateien in /etc/homegear sichern. Dann alles was mit Homegear zu tun hat von der NAS entfernen und das Synology-Paket installieren. Updates werden dann direkt einspielbar sein. Die Installation und der erste Start dauern sehr lange. Nicht wundern :wink:.

Liebe Grüße

Sathya

Hallo Sathya,

Super, hat alles prima geklappt! Läuft! :smiley:

Aber ein paar Fragen habe ich noch, im Paketzentrum unter dem Homegear Paket habe ich die Möglichkeit ein Häckchen für das automatische aktualisieren zu setzen. Funktioniert das schon oder ist das für die Zukunft. Installiert ist bei mir jetzt die Version 5.24.1, auf deiner Homepage steht Current Version ist 5.4.99, wie komme ich an die aktuelle Version?

Und zu guter letzt noch einmal die Frage zu der Low Battery Übermittlung im zusammen Spiel mit OpenHAB, das funktioniert bei mir nicht? Homegear sendet auch bei leerer Batterie immer False. :blush:

Liebe Grüße und wie immer vielen Dank!
Klaus

Hallo Klaus,

die automatische Aktualisierung wird nicht funktionieren. Dafür müsste ich ein Repository aufsetzen. Ich muss mal sehen, ob ich das Feld irgendwie deaktiviert bekomme.

Version 5.4.99 war absoluter Schwachsinn. Da war ein Fehler im Versionsausleseskript. Version 5.4.99 stammt von den PHP-Paketen der Version 0.6.0. Wir haben die Skriptengine jetzt nämlich auf “echtes” PHP umgestellt und auch einen Webserver integriert, so dass Homegear jetzt über “GET”-Anfragen beliebig formatierte Daten ausgeben kann (JSON, XML, CSV, …) :-p. Die bei dir installierte Version 0.5.24 ist aktuell. Die Synology-Pakete werde ich ab jetzt auch mit jeder neuen Version aktualisieren.

Liebe Grüße

Sathya

Hallo Sathya,

zunächst einmal herzlichen Dank für die Synology-Pakete. Das macht es wirklich um vieles einfacher …

Nun aber mein Anmliegen - meine Frage: Ich habe ein Synology DS712+ mit einem INTEL Atom D425 Prozessor. Dafür müsste doch das Paket homegear.eu/downloads/homegear_current_armhf.spk (also Synology armhf) passen, oder? Das habe ich jedenfalls installiert, aber es lief nicht - homegear an der commandline gab einen syntax error in Zeile 1 … . D
araufhin habe ich es installiert und das Paket homegear.eu/downloads/homegear_current_i386.spk (also Synology i386) installiert. Das tut - zumindest läßt sich homegear an der commandline ausführen - natürlich muss ich die config noch anpassen.

Bin ich jetzt falsch (ATOM = armhf) oder sind die Paketnamen durcheinander geraten?

Viele Grüße,
Frank

Hallo Frank,

der Intel Atom ist kein Arm-Prozessor. Daher ist i386 schon richtig. Eigentlich ist der Intel Atom D425 sogar ein 64-Bit-Prozessor. Das heißt, wenn bei dir die Ausgabe von “uname -a” “amd64” oder “x86_64” beinhaltet, kannst du sogar das amd64-Paket installieren (würde ich dann auch tun). Falls da aber “i386”, “i586” oder “i686” steht, ist “i386” genau das richtige Paket.

Liebe Grüße

Sathya

Hallo Sathya,

danke für die schnelle Antwort. In der Tat steht dort:

x86_64 GNU/Linux synology_x86_712+

Okay, dann installiere ich das mal … . Danke für den Hinweis.

Liebe Grüße zurück,
Frank

Hallo Sathya,

also das 64-bit-Paket tut bei mir nicht, läßt sich nicht starten.

Ich bin wieder zurück beim i386-Paket. Doch auch da habe ich noch Probleme - ein CLI-connect bekomme ich hin:
02/10/15 23:32:43.328 Info: CLI connection accepted. Client number: 278

Aber irgendwie funktioniert da etwas noch nicht - ich habe alle 15 Sekunden die Meldung:
02/10/15 23:42:24.294 Info: Connecting to host 192.168.100.70 on port 1000…

Außerdem habe ich auch noch eine Meldung
02/10/15 23:26:22.823 Error: At least one physical interface is not connected.

Hast Du eine Idee, was da los ist?

Liebe Grüße,
Frank

Hallo Frank,

komisch, dass das amd64-Paket nicht tut… Aber i386-Paket sollte passen. Die Fehlermeldung besagt, dass sich Homegear nicht mit deinem HM-CFG-LAN verbinden kann. Ist vielleicht noch eine andere Software damit verbunden (der HM-CFG-LAN lässt nur eine einzige Verbindung zu). Stimmt die IP-Adresse?

Liebe Grüße

Sathya

Hallo Sathya,

wie gesagt, amd64 funktioniert nicht, i386 ist okay.

Homegear kann sich nicht verbinden? Ja, die IP-Adresse stimmt, der Port wohl auch (kann ich den irgendwie prüfen?). Ob eine andere Software damit verbunden ist - das muss ich map prüfen - fhem habe ich istalliert und mal damit rumgespielt … Witzig finde ich, was heute Nacht so passiert ist:

02/11/15 01:14:48.463 Info: Connecting to host 192.168.100.70 on port 1000…
02/11/15 01:15:03.474 Info: Connecting to host 192.168.100.70 on port 1000…
02/11/15 01:15:18.481 Info: Connecting to host 192.168.100.70 on port 1000…
02/11/15 01:15:33.488 Info: Connecting to host 192.168.100.70 on port 1000…
02/11/15 01:15:48.495 Info: Connecting to host 192.168.100.70 on port 1000…
02/11/15 01:15:54.500 Info: Connected to host 192.168.100.70 on port 1000. Client number is: 420
02/11/15 03:01:26.974 Module HomeMatic BidCoS: LAN-Konfigurationsadapter “HM-CFG-LAN_01”: Warning: Connection to HM-CFG-LAN closed. Trying to reconnect…
02/11/15 03:01:26.974 Info: Connecting to host 192.168.100.70 on port 1000…
02/11/15 03:01:39.984 Info: Connected to host 192.168.100.70 on port 1000. Client number is: 425
02/11/15 03:01:39.984 Module HomeMatic BidCoS: LAN-Konfigurationsadapter “HM-CFG-LAN_01”: Connected to HM-CFG-LAN device with hostname 192.168.100.70 on port 1000.
02/11/15 07:49:42.276 Module HomeMatic BidCoS: LAN-Konfigurationsadapter “HM-CFG-LAN_01”: Warning: Connection to HM-CFG-LAN closed. Trying to reconnect…
02/11/15 07:49:42.276 Info: Connecting to host 192.168.100.70 on port 1000…
02/11/15 07:49:57.287 Info: Connected to host 192.168.100.70 on port 1000. Client number is: 431
02/11/15 07:49:57.287 Module HomeMatic BidCoS: LAN-Konfigurationsadapter “HM-CFG-LAN_01”: Connected to HM-CFG-LAN device with hostname 192.168.100.70 on port 1000.

Da hat die Verbindung dann auf einmal geklappt … Zu der anderen Software, die sich damit verbunden haben könnte - gehören da die beiden Konfigurationstools dazu - “Homematic Komponenten konfigurieren” und “Homematic LAN-Interface konfigurieren”?

Liebe Grüße,
Frank

Hallo,

wäre das Synology-armhf Paket auch für Synology armel (soft float) geeignet? Wie müsste man das Paket ggf. anpassen (3rd Party Libraries und/oder homegear binaries)?

Vielen Dank und viele Grüße
-SirN.

Hallo SirN,

nein, leider nicht armel läuft zwar auf armhf, aber nicht umgekehrt. Für Version 0.5 könnte ich dir noch ein Synology-Paket für armel basteln. Ab Version 0.6 wird armel aber leider nicht mehr unterstützt, da ich Konstrukte der C+±Standardbibliothek verwende, welche auf armel nicht funktionieren. Ab Version 0.6 von Homegear ließe sich eine abgespeckte Version ohne Scriptengine und Eventhandler kompilieren, nur irgendwie ist das doof…

Liebe Grüße

Sathya

Nachtrag: Hab gerade mal geschaut, wie umständlich das wäre - ein armel-Image ist nicht viel Arbeit. Version 0.5.24-3 wird gerade kompiliert. Wenn das fertig ist, gibt’s in wenigen Tagen ein Synology-armel-Image :wink:.

Ein SPK für armel wäre super, vielen Dank! Ich hätte dann nicht mehr das Problem, nach jedem Synology(DSM)-Update homegear manuell neu installieren zu müssen.

Wenn ich homegear-Versionen ab 0.6 nicht nutzen kann, ist das zwar sehr schade, aber das ist ja unabhängig von der Verfügbarkeit als Paket. Ich müsste also so oder so damit leben, oder irgendwann mal mein NAS wechseln.

Die armhf-Konstrukte per conditional compile rauszunehmen und durch was anderes (ggf. langsameres?) zu ersetzen, wäre kein gangbarer Weg?

Doch, das geht und ist sogar schon drin. Aber damit funktionieren die Scriptengine und der Eventhandler nicht mehr. Das aktuelle Konstrukt macht die Programmierung für mich sehr einfach, daher würde ich es schon gerne beibehalten. Mal sehen, vielleicht baue ich parallel per Compilerflag aber eine Version, die auch auf armel funktioniert. Erst einmal muss Version 0.6 fertig werden :stuck_out_tongue:.

Liebe Grüße

Sathya

Hi,

ist da irgendwas draus geworden? Habe inzwischen auch selbst mal versucht, mittels spksrc ein Paket zu bauen, aber nach mehreren Stunden war das noch nicht von Erfolg gekrönt. Aktuell ist das Problem, dass die mitgelieferte Toolchain keinen g++ 4.7 enthält…

Viele Grüße

-SirN.

Hey,

es geht, sobald Version 0.6 stable ist. Mit Version 0.5 ist es doch zu umständlich für armel (habs probiert - es sind aber einige Anpassungen am Buildserver nötig und dazu fehlt mir im Moment die Zeit). Version 0.6 wird geschätzt noch etwa zwei Monate brauchen, dann gibt’s aber wieder ein armel-Paket. Erst einmal aber ohne Scriptengine und Eventhandler. Theoretisch kannst du das 0.5-Paket selbst basteln, indem du Homegear in einer debootstrap- oder Docker-Umgebung (homegear/debian:wheezy-armel) kompilierst. Für das Erstellen kannst du folgendes Script verwenden: github.com/Homegear/Homegear-Sy … Package.sh

Es muss nur der Download der Stable-Version entfernt werden.

Liebe Grüße

Sathya

Hallo Sathya,

vielen Dank. Ich würde gerne Deinem Vorschlag folgen und versuchen, selbst ein 0.5er SPK zu bauen.

Das von dir genannte Skript zum Erstellen des SPK erwartet ja, dass ein .deb-Paket vorhanden ist. Nach dem “make” habe ich aber erstmal “nur” die erzeugten Binaries. Habt Ihr Skripte zum Erstellen eines .deb-Pakets auf Basis des make-Resultats? Ein entsprechendes make-Target konnte ich nicht finden, vermutlich nutzt Ihr einen davon unabhängigen Mechanismus?

Viele Grüße

-SirN.

Hallo,

ein make-Target gibt es tatsächlich nicht. Das Skript zum erzeugen des Debian-Pakets findest du hier: https://github.com/Homegear/Homegear/blob/0.5/Miscellaneous/CreateDebianPackage.sh

Das Skript kannst du einfach mit “./CreateDebianPackage.sh 1 0.5” ausführen.

Liebe Grüße

Sathya

Hallo Sathya,

ich fürchte, ich bräuchte noch einmal deine (sehr geschätzte) Hilfe. Die 0.5.20 kann ich bauen, aber beim Übersetzen der 0.5.24-7 laufe ich auf einen Fehler, den ich nicht wirklich verstehe… meine C+±Zeiten liegen zu lange zurück.

Fehlerausgabe siehe unten - fällt dir dazu etwas ein?

Vielen Dank und viele Grüße

-SirN.

==== Building events (debug) ==== Creating obj/Debug/events EventHandler.cpp In file included from /usr/include/c++/4.7/bits/stl_algobase.h:65:0, from /usr/include/c++/4.7/bits/char_traits.h:41, from /usr/include/c++/4.7/string:42, from Libraries/Events/../../Modules/Base/Database/DatabaseTypes.h:33, from Libraries/Events/../../Modules/Base/BaseLib.h:4, from Libraries/Events/EventHandler.h:33, from Libraries/Events/EventHandler.cpp:30: /usr/include/c++/4.7/bits/stl_pair.h: In instantiation of ‘struct std::pair<const int, std::future<bool> >’: Libraries/Events/EventHandler.cpp:72:105: required from here /usr/include/c++/4.7/bits/stl_pair.h:94:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type In file included from Libraries/Events/EventHandler.h:41:0, from Libraries/Events/EventHandler.cpp:30: /usr/include/c++/4.7/future:111:11: error: declaration of ‘class std::future<bool>’ Libraries/Events/EventHandler.cpp: In member function ‘void EventHandler::collectGarbage()’: Libraries/Events/EventHandler.cpp:74:11: error: ‘struct std::pair<const int, std::future<bool> >’ has no member named ‘second’ Libraries/Events/EventHandler.cpp: In member function ‘void EventHandler::mainThread()’: Libraries/Events/EventHandler.cpp:178:219: error: invalid use of incomplete type ‘class std::future<bool>’ In file included from Libraries/Events/EventHandler.h:41:0, from Libraries/Events/EventHandler.cpp:30: /usr/include/c++/4.7/future:111:11: error: declaration of ‘class std::future<bool>’ In file included from /usr/include/c++/4.7/bits/stl_algobase.h:65:0, from /usr/include/c++/4.7/bits/char_traits.h:41, from /usr/include/c++/4.7/string:42, from Libraries/Events/../../Modules/Base/Database/DatabaseTypes.h:33, from Libraries/Events/../../Modules/Base/BaseLib.h:4, from Libraries/Events/EventHandler.h:33, from Libraries/Events/EventHandler.cpp:30: /usr/include/c++/4.7/bits/stl_pair.h: In instantiation of ‘struct std::pair<int, std::future<bool> >’: Libraries/Events/EventHandler.cpp:178:220: required from here /usr/include/c++/4.7/bits/stl_pair.h:94:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type In file included from Libraries/Events/EventHandler.h:41:0, from Libraries/Events/EventHandler.cpp:30: /usr/include/c++/4.7/future:111:11: error: declaration of ‘class std::future<bool>’ Libraries/Events/EventHandler.cpp:230:219: error: invalid use of incomplete type ‘class std::future<bool>’ In file included from Libraries/Events/EventHandler.h:41:0, from Libraries/Events/EventHandler.cpp:30: /usr/include/c++/4.7/future:111:11: error: declaration of ‘class std::future<bool>’ Libraries/Events/EventHandler.cpp: In member function ‘void EventHandler::trigger(uint64_t, int32_t, std::shared_ptr<std::vector<std::basic_string<char> > >, std::shared_ptr<std::vector<std::shared_ptr<BaseLib::RPC::Variable> > >)’: Libraries/Events/EventHandler.cpp:778:205: error: invalid use of incomplete type ‘class std::future<bool>’ In file included from Libraries/Events/EventHandler.h:41:0, from Libraries/Events/EventHandler.cpp:30: /usr/include/c++/4.7/future:111:11: error: declaration of ‘class std::future<bool>’ Libraries/Events/EventHandler.cpp: In member function ‘void EventHandler::trigger(uint64_t, int32_t, std::string&, std::shared_ptr<BaseLib::RPC::Variable>&)’: Libraries/Events/EventHandler.cpp:827:186: error: invalid use of incomplete type ‘class std::future<bool>’ In file included from Libraries/Events/EventHandler.h:41:0, from Libraries/Events/EventHandler.cpp:30: /usr/include/c++/4.7/future:111:11: error: declaration of ‘class std::future<bool>’ make[1]: *** [obj/Debug/events/EventHandler.o] Fehler 1 make: *** [events] Fehler 2

Hallo SirN,

da habe ich ganz doll geschlafen bei meinen letzten beiden Posts :unamused:. Mit der Version 0.5 geht es nicht ohne einige Anpassungen. Das ist ja der Grund, weshalb ich das SPK nicht bereits selbst erstellt habe. Wenn du die Version 0.6 nimmst, sollte es aber klappen. Die ist aktuell auch stabil und “produktiveinsatztauglich” (sicherlich noch etwa ein bis zwei Wochen, dann kommen wieder experimentelle Dinge am Kern hinzu). Du kannst dir entweder das armel-Debian-Paket als Quelle für das Kompilat hernehmen oder Homegear selbst bauen. Das Skript ist sehr ähnlich:

#!/bin/bash

if [[ $1 -lt 1 ]]
then
        echo "Please provide a revision number."
        exit 0;
fi
if test -z $2
then
  echo "Please specify branch."
  exit 0;
fi

wget https://github.com/Homegear/Homegear/archive/$2.zip
unzip $2.zip
rm $2.zip
version=$(head -n 1 Homegear-$2/Version.h | cut -d " " -f3 | tr -d '"')
sourcePath=homegear-$version
mv Homegear-$2 $sourcePath
rm -Rf $sourcePath/.* 1>/dev/null 2>&2
rm -Rf $sourcePath/obj
rm -Rf $sourcePath/bin
sed -i 's/make config=release/make config=release_armel/g' $sourcePath/debian/rules
cd $sourcePath/Libraries/MQTT/paho.mqtt.c
wget https://github.com/Homegear/paho.mqtt.c/archive/develop.zip
unzip develop.zip
rm develop.zip
mv paho.mqtt.c-develop/* .
rm -Rf paho.mqtt.c-develop
cd ../../../
./premake4-armel --platform=armel gmake
cd ..
tar -zcpf homegear_$version.orig.tar.gz $sourcePath
cd $sourcePath
dch -v $version-$1 -M "Version $version."
debuild -us -uc
cd ..
rm -Rf $sourcePath
rm homegear_$version-$1_*.build
rm homegear_$version-$1_*.changes
rm homegear_$version-$1.debian.tar.?z
rm homegear_$version-$1.dsc
rm homegear_$version.orig.tar.gz
mv homegear_$version-$1_*.deb homegear.deb

Wichtig ist, dass noch “libssl-dev, libcrypto+±dev, libphp5-dev und libphp5-embed” als Voraussetzungen hinzugekommen sind. Letztere Pakete MÜSSEN aus dem Homegear-Repository kommen, da in den Debian-Repository-Paketen keine Thread-Unterstützung aktiviert ist.

Noch einmal sorry…

Liebe Grüße

Sathya

Hallo liebe Experten,

ich habe eine Synology DS213+ mit openHAB darauf.
Ich würde gerne Homematic über HomeGear steuern.
Ichbhabe verstanden das HomeGear auf meinem Synology das Homematic GW über flüssig macht…

Gibt es ein Synology Paket zum installieren für meine DS213+ ???

Was brauche ich noch um HomeMatic Produkte zu steuern…das Minimalset reicht mir aus…reicht der HOmeMatic USB stick…oder gibt es noch günstigere HW Alternativen.

Danke u Viele Grüsse