Um mit iSmartHome HD auch Push-Nachrichten empfangen zu können, sind nur ein paar kleine Schritte notwendig.
Ich nutze hierfür einen Raspberry Pi 2 mit dem aktuellen Raspbian Jessie Image. Eine Installationsanleitung dafür findet Ihr hier: Raspberry Pi Image installieren
Wichtig: Diese Anleitung wurde mit Hilfe eines Mac’s durchgeführt. Auf einem Windows Rechner sollte es aber ähnlich laufen (benötigt wird dabei das Programm Putty oder ein vergleichbares, um eine Verbindung zum Raspberry Pi herstellen zu können)
Mein Raspberry Pi hat die IP-Adresse „192.168.1.116“. Diese muss natürlich für die komplette Anleitung an die IP-Adresse eures Raspberry Pi’s angepasst werden!
Voraussetzungen: Raspberry Pi
Schritt 1:
Eine SSH-Verbindung zum Raspberry Pi aufbauen (Terminal).
ssh pi@192.168.1.116
Dabei wird das Passwort abgefragt. Das ist bei einer frischen Installation des Pi’s für den Benutzer pi auf raspberry gesetzt.
Schritt 2:
Dateien auf den Raspberry Pi kopieren. Es gibt viele Wege, die nötigen Dateien auf den Pi zu bekommen. Mit dem “scp” Befehl klappt es schnell und unkompliziert.
scp -r /Users/dannysmolinsky/Downloads/ismarthome pi@192.168.1.116:~/ismarthome
Der Pfad “/Users/dannysmolinsky/Downloads/ismarthome” gibt den Ordner aus dem Zip-Archiv an und muss angepasst werden. “pi@192.168.1.116:~/ismarthome” ist das Ziel auf dem Raspberry Pi. Dort wird der Ordner “ismarthome” aus dem Archiv hin kopiert. Auch hier muss die IP-Adresse angepasst werden.
Schritt 3:
Pakete installieren. Die nachfolgenden Befehle einfach Zeile für Zeile ausführen.
cd ~ sudo apt-get update sudo apt-get upgrade git clone https://github.com/giampaolo/psutil.git sudo apt-get install gcc python-dev cd psutil sudo python setup.py install cd ~/ismarthome sudo cp ismarthome.sh /etc/init.d/ismarthome.sh sudo chmod 755 ismarthome.py sudo chmod 755 /etc/init.d/ismarthome.sh cd /etc/init.d sudo update-rc.d ismarthome.sh defaults
Dadurch werden alle nötigen Pakete installiert und die entsprechenden Rechte gesetzt und.
Schritt 4:
Benutzerdaten anpassen. Damit der iSmartHome Push-Service auch mit der Zentrale kommunizieren kann, müssen noch die Benutzerdaten angepasst werden. Dazu wird mit folgendem Befehl der Editor Nano geöffnet.
sudo nano /etc/init.d/ismarthome.sh
In der Zeile 19
DAEMON_OPTS="-i 192.168.1.120 -u BENUTZERNAME -p PASSWORT -v 1.70"
nur die IP-Adresse, Benutzername und Passwort an die eigenen Daten abändern, die Datei mit ctrl + o speichern (der Dateiname muss noch mit Enter bestätigt werden) und durch ctrl + x den Editor schließen.
Schritt 5:
Neustart des Service. Um auch den reibungslosen Betrieb des Push-Service zu gewährleisten, sollte dieser täglich neu gestartet werden. Dafür wird ein Cronjob eingerichtet.
sudo crontab -e
Es ist möglich, dass eine Frage mit den Antwortmöglichkeiten 1, 2 oder 3 angezeigt wird. Diese Frage kommt auf, wenn die entsprechende Datei noch nicht besteht. In diesem Fall mit 2 antworten und an das Ende der Datei folgende Zeile mit ctrl + v einfügen
@daily sudo service ismarthome restart
Die erstellte Datei wie weiter oben mit ctrl + o speichern und den Editor mit ctrl + x schließen. Zu guter Letzt wird der Raspberry Pi einmal neu gestartet.
sudo reboot
Nach dem Neustart des Pi’s baut man wie in Schritt 1 beschrieben wieder eine Verbindung auf. Der Push-Service sollte jetzt schon automatisch laufen. Mit folgendem Befehl kann das überprüft werden.
sudo service ismarthome status
Als Ergebnis sollte jetzt folgendes zu sehen sein:
● ismarthome.service - LSB: RWE SmartHome Push Service Loaded: loaded (/etc/init.d/ismarthome.sh) Active: active (running) since Mon 2015-11-30 09:25:00 UTC; 10h ago Process: 383 ExecStart=/etc/init.d/ismarthome.sh start (code=exited, status=0/SUCCESS) CGroup: /system.slice/ismarthome.service └─400 python /home/pi/ismarthome/ismarthome.py -i 192.168.1.120 -u BENUTZERNAME -p PASSWORT -v 1.70
Wichtig bei der Ausgabe ist der in Zeile 3 angegebene Status Active: active (running).
Der Service schreibt außerdem noch pro Tag eine Log-Datei. Dabei werden die letzten 14 Tage aufbewahrt. Diese werden im Ordner “/tmp” gespeichert. Die aktuellste Log-Datei kann mit dem Befehl
nano ~/ismarthome/ismarthome.log
angesehen werden.
Aktualisierung vom 16.03.2016:
Ich habe ein halbautomatisches Installations-Skript geschrieben. Dadurch sind alle oben aufgeführten Schritte nicht mehr nötig. Das Skript wurde ausschließlich auf Raspian Jessie getestet. Alles was man braucht, findet man hier: GitHub
Gibt es vielleicht die Möglichkeit für die Push Möglichkeit ein Paket für die Synologys zu erstellen, damit dies dort ebenfalls benutzt werden kann?
Da ich keinen NAS von Synology habe muss ich das leider verneinen. Aber vielleicht gibt es ja andere User, die das schon umgesetzt haben.
Vielleicht stellst du deine Frage auch nochmal auf der FB-Seite von iSmartHome HD und im inoffiziellen RWE-Smarthome Forum.
Vielen dank für die Anleitung.
Ich habe zwei Fragen:
1) Im ismarthome.zip gibt es den Order __MACOSX muss ich denn auch zur Raspberry kopieren
2) sudo service ismarthome status gibt mir ein ‘ismarthome: unrecognized service’ Push nachrichten funktionieren aber. Woran kann es liegen?
Vielen Dank.
Hallo Lars,
der __MACOSX Ordner muss nicht mit kopiert werden.
Hast du den Raspberry komplett neu aufgesetzt, oder lief vorher die alte Version des Push-Dienstes?
Wurde der Raspberry nach alles Schritten einmal neu gestartet?
Raspberry habe ich nicht komplett neu ausgesetzt. Ich hatte mal mit der älteren Anleitung die Du geposted hattest angefangen, aber die damals nicht zu ende geführt.
war bis zum Punkt 6 vorgedrungen (psutil importieren) und dann am Punkt 7 (Crypto auf den Raspberry pi kopieren) hängen geblieben. Liegt es daran? Neustarts habe ich an den genanten stellen getan.
Bin neu bei der Raspberry Pi 🙂
Hallo Danny,
bekomme Phusnachrichten trotz genauer Umsetzung nach Anleitung und Neutstarts Phusnachrichten nicht zum laufen. Könntest du wenn möglich mal ein funktionierendes Jessie uploaden?
Wäre super!
VG
Hallo Robert,
ein vorgefertigtes Image werde ich nicht mehr bereitstellen. Denn auch bei einem solchen Image müssen die Einstellungen vorgenommen werden. Es macht also kaum einen Unterschied, ob man es selbst macht oder nicht.
Wenn du die Anleitung genau befolgst, kann dabei nichts schief gehen.
Hi. Vielen Dank erstmal für die tolle Arbeit die du leistet. Habe schon den Fernzugriff in Betrieb und nun möchte ich die Pushnachrichten einrichten. Leider komme ich an Punkt nicht weiter. Bis dahin klappt alles wunderbar. Ich bekomme dann diese Meldung:
~/psutil $ cd ~/ismarthome
-bash: cd: /home/pi/ismarthome: No such file or directory
Wo liegt der Hund begraben?
Ich freu mich auf deine Antwort
Wie es aussieht, hat der erste Schritt bei nicht funktioniert. Das solltest du auf jeden Fall nochmal überprüfen.
Hallo Danny,
vorab erstmal auch meinerseits vielen Dank für die tollen Tools und Tutorials! Klasse Arbeit!
Da ich gestern erfolgreich den Fernzugriff über den RaspberryPI eingerichtet habe, wollte ich heute die Einrichtung des Push-Services angehen. Leider stehe ich da nur irgendwie bereits bei Schritt 2 auf dem Schlauch. Welches zip-Archiv?
Vielen Dank für die Rückmeldung,
Freundliche Grüße,
Andreas
Hallo Andreas,
alle notwendigen Dateien findest du am Ender der Anleitung.
Viele Grüße Danny
Hallo,
so ich muss jetzt auch mal ein Riesen Dankeschön loswerden für die hervorragende Arbeit von Danny. Ich hatte auch meine Probleme das mit dem Push hinzubekommen aber das lag wohl daran das ich noch die alte Version installiert hatte die ich nie zum laufen bekommen habe. Dann habe ich mich ran gemacht und den Raspberry neu aufgesetzt und nach der obigen Anleitung alles genauso ausgeführt und siehe da es funktioniert bestens.
Also nochmals vielen vielen Dank für die Arbeit was RWE bis heute noch nicht geschafft hat.
Das einzige was ich noch nicht gemacht habe ist die neue ismarthome.py mit dem täglichen Neustart der Zentrale, irgendwie habe ich Bedenken wenn die jeden Tag Neustartet das die das nicht lange durchhält. Hat da schon jemand Erfahrung im dauertest.
Lieber Danny,
tausend Dank für die Entwicklungsarbeit. Ohne iSmartHome wäre ich mit meiner Hausautomation sicherlich nicht so zufrieden.
Ich versuche derzeit den Push-Dienst – wie oben beschrieben – zu aktivieren. Leider wenig erfolgreich. Auf die Statusabfrage (“sudo service ismarthome status”) erhalte ich lediglich folgende Meldung:
“ismarthome start/running, process 27464”
Die fünfstellige Zahl variert bei jedem Versuch. Hast Du eine Idee, was ich falsch gemacht haben könnte? Die obige Anleitung bin ich bereits mehrfach durchgegangen und habe auch die “ismarthome.sh” bzw. die “contrab” Datei mehrfach auf Tippfehler kontrolliert.
Beste Grüße
Andreas
Hallo Andreas,
danke für dein Feedback. Welche Version von Raspian hast du denn auf deinem Raspberry?
Es sieht mir fast danach aus, dass du noch auf Wheezy bist. Falls ja, ist das so in Ordnung.
Lieber Danny,
ja, ich bin noch auf wheezy. Habe gerade pip nachgeladen (“sudo pip install requests”) und erhalte nun über “sudo service ismarthome.sh status” die Meldung “[ok] /home/pi/ismarthome/ismarthome.py is running”.
Wie kann ich testen ob die Push-Funktion wirklich funktioniert. Vom WLAN ins Handynetz wechseln und ein Ereignisprofil auslösen?
Viele Grüße
Andreas
Du kann in der App ein beliebiges Gerät als Push-Gerät konfigurieren.
Wenn du das getan hast, musst du einfach den Zustand des Gerätes ändern. Egal ob im WLAN oder außerhalb.
VG Danny
Hallo Danny,
zunächst vielen Dank für Deine Arbeit. Ich habe mit dem Pushservice ein Problem. Ich habe das neue Script genutzt von GitHub. Jedoch bekomme ich bei Aufruf von sudo service ismarthome status
nicht den Hinweis “active (running)” sondern den Hinweis “active (exited)”. Pushnachrichten gehen auch nicht. Woran könnte dies liegen?
* ismarthome.service – LSB: RWE SmartHome Push Service
Loaded: loaded (/etc/init.d/ismarthome.sh)
Active: active (exited) since So 2016-03-20 00:17:13 CET; 21min ago
Process: 332 ExecStart=/etc/init.d/ismarthome.sh start (code=exited, status=0/SUCCESS)
M▒r 20 00:17:12 raspberrypi ismarthome.sh[332]: Starting system ismarthome d….
M▒r 20 00:17:13 raspberrypi systemd[1]: Started LSB: RWE SmartHome Push Service.
Versuch es einmal mit manuell starten:
sudo /opt/iSmartHome/ismarthome.py -i IP_DER_ZENTRALE -u BENUTZERNAME -p PASSWORT -v 1.70
Dann wirst du auch sehen, woran es scheitert. Alternativ kannst du dir auch die Logs im Ordner /opt/iSmartHome/Logs ansehen.
Hi Danny,
es kommt folgende Meldung:
Traceback (most recent call last):
File “/opt/iSmartHome/ismarthome.py”, line 19, in
from Crypto.Hash import SHA256
ImportError: No module named Crypto.Hash
Welche Raspian Version verwendest du denn?
Hi Danny!
Vielen Dank für deine APP. Ohne diese wäre RWE SMarthome eine Qual 🙂
Aktuell versuche deine Pushlösung umzusetzen und hänge beim start des scripts:
$:/opt/iSmartHome/Logs$ sudo /opt/iSmartHome/ismarthome.py -i 172.16.10.115 -u xxx -p xxx -v 1.70
Traceback (most recent call last):
File “/opt/iSmartHome/ismarthome.py”, line 21, in
from requests.packages.urllib3.poolmanager import PoolManager
ImportError: No module named packages.urllib3.poolmanager
Hast du einen Tipp für mich?
Lösung: line 21 ändern zu from urllib3.poolmanager import PoolManager
funktioniert auf Ubuntu 14.04 LTS als VM auf vmware esx 6 wunderbar 🙂
Danke dir!
Welche Raspian Version hast du denn im Einsatz?
Habe es auf Ubuntu 14.04 LTS auf meiner VM-wareumgebung vsphere 6 laufen. Funktioniert tadellos.
512MHz und 256MB Ram sind dicke ausreichend.
Hallo Danny,
ich nutze die aktuellste Version von RASPBIAN JESSIE vom 18.3.16 – Kernelversion 4.1
Hi Danny,
vielen Dank für dein Skript bei GitHub. Habe darüber die Installation vorgenommen.
Bekomme jedoch beim Status die Meldung:
active (excited)…
Hier das Logfile:
2016-03-29 13:19:00,693 ERROR /usr/lib/python2.7/dist-packages/urllib3/connectionpool.py:732: InsecureRequestWarning: U$
InsecureRequestWarning)
2016-03-29 13:19:02,711 INFO Login erfolgreich
2016-03-29 13:19:02,730 INFO SessionId: 16268d4b-415c-4ab8-b320-912889ff5629
2016-03-29 13:19:24,266 INFO Uebertrage States zum Push-Server…
2016-03-29 13:19:26,156 INFO Uebertragung zum Push-Server erfolgreich.
2016-03-29 13:21:24,926 INFO Uebertrage States zum Push-Server…
2016-03-29 13:21:25,511 INFO Uebertragung zum Push-Server erfolgreich.
2016-03-29 13:23:26,211 ERROR Traceback (most recent call last):
2016-03-29 13:23:26,212 ERROR File “/opt/iSmartHome/ismarthome.py”, line 412, in
2016-03-29 13:23:26,213 ERROR main()
2016-03-29 13:23:26,214 ERROR File “/opt/iSmartHome/ismarthome.py”, line 99, in main
2016-03-29 13:23:26,215 ERROR start(username, passwordHash, baseVersion, shcIP, ”)
2016-03-29 13:23:26,216 ERROR File “/opt/iSmartHome/ismarthome.py”, line 218, in start
2016-03-29 13:23:26,217 ERROR time.sleep(UPDATE_STATES_INTERVALL)
Wenn ich den Befehl “sudo /opt/iSmartHome/ismarthome.py -i IP_DER_ZENTRALE -u BENUTZERNAME -p PASSWORT -v 1.70” eintippe – passiert gar nichts. Keine Fehlermeldung, nichts…
Raspbian Version: Linux raspberrypi 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux
Danke
Lass mir doch bitte mal das komplette Logfile zukommen.
Logfile ist per Email zu dir unterwegs.
Hallo Danny,
ich nutze iSmarthome HD schon von Anbeginn auch die Beta-Version um Neuste Entwicklungen direkt zu testen und es hat sich ja auch schon viel getan. Besonders praktisch finde ich die ortsbasierten Szenen welche inzwischen zuverlässig funktionieren, super Arbeit!
Auch die Push-Nachrichten sind nicht mehr wegzudenken. Was ich mir noch wünschen würde wäre das ich in den ortsbasierten Szenen einzelne Push-Nachrichten aktivieren oder deaktivieren kann. Wie zum Beispiel möchte ich nur bei Abwesenheit Push-Nachrichten bekommen wenn die Wohnungstür geöffnet oder eine Bewegung vom Bewegungsmelder festgestellt wird und nicht mehr bekommen wenn ich zu Hause bin. Wie stehen die Chancen für die Integration solch eine Funktion?
Vielen Dank und Grüße
Das kannst du (mit etwas Aufwand) selbst umsetzen, indem du den iSmarthome Service auf dem Raspberry Pi anpasst.
Dabei musst du überprüfen, ob sich das gerät noch daheim befindet (z.B. per Bluetooth) und auf dieser Grundlage dann eben die Push-Nachrichten rausschicken.
Hallo Danny,
danke aber ich denke nicht das ich das hinbekomme und ob Bluetooth der ideale Weg dafür ist aus Gründen der Reichweite am/im gesamten Haus/Grundstück und im Hinblick auf den Handy Akkuverbrauch weiß ich nicht. Schade das es keine Option als Weiterentwicklung für iSmarthome zu sein scheint.
VG Robert