Benachrichtigung auf einem entfernten Linux Rechner durch FHEM

Begonnen von P.A.Trick, 07 Februar 2014, 19:08:49

Vorheriges Thema - Nächstes Thema

P.A.Trick

Liebe FHEMler,
nun ich bin gerade mal eine Woche Nutzer von FHEM und bin total infiziert :-) --> Vielen lieben Dank an alle die mitgemacht haben dieses tolle Projekt ins Leben zu rufen.

So nun zu meinem Thema. Als Linux Nutzer würde ich mir gerne von meiner Fritzbox über einen FHEM Notify Nachrichten schicken lassen.
Wie das aussehen kann, habe ich mal als Foto angehängt. Der Linux Befehl lautet notify-send und ist ziemlich einfach gehalten. Leider kann ich mangels SSH keine Remote-Nachrichten schicken.

Frage: Gibt's eine Möglichkeit eine SSH Shell auf der Fritzbox (AVM FHEM Version) zu installieren?
Wenn das nicht geht, wird Phyton sicherlich auch nicht funktionierén, oder?

Ich bin auf dieses Beispiel hier gestossen, dass helfen könnte. Geht so etwas auch in Perl?

http://ubuntuforums.org/showthread.php?t=1222502

Vielen Dank im Voraus!

LG
Patrick
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

So ich habe es nun geschafft. Via ssh Skript wird die Nachricht mittels notify an den Linux PC geschickt.
Wenn jemand Interesse hat und wissen will wie es funktioniert, einfach Bescheid geben!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

linuxq

Hi,

ja ich bin sehr interessiert an Deiner Lösung!

Gruß

LinuxQ

P.A.Trick

Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

linuxq


P.A.Trick

OK dann starten wir mal. Aber eins vor ab, dass ist eine Lösung die funktioniert und nicht schön ist (sry meine Perl Kenntnisse sind zu schlecht).

Als erstes lege dir ein Skript im fhem Hauptverzeichnis mit dem folgenden Namen an:

inform_pc.sh

Dann den folgenden Inhalt einfügen und abspeichern.
IP, USERNAME und REMOTEHOST mit deinen Werten anpassen.
Wenn du das Icon auch haben willst, google eins und speichere es auf
deinen Remote Rechner irgendwo ab.
Du musst dann noch den Pfad in der Variablen "ICON" ändern.

#!/bin/bash

MESSAGE="$1"
URGENCY=normal
EXPIRETIME=5
APPNAME=fhem
#ICON=/usr/share/icons/gnome/32x32/status/info.png
ICON=/home/murdoc/Stuff/fhem/icon/fhem.png
USERNAME=murdoc
REMOTE_HOST=192.168.1.33

CMD=$(ping -c 1 $REMOTE_HOST)

if [ $? -eq 0 ];then
ssh -X $USERNAME@$REMOTE_HOST "DISPLAY=:0 /usr/bin/notify-send -i "$ICON" -u $URGENCY -t $EXPIRETIME $APPNAME '$MESSAGE'" &
else
echo "--- Remote host '$REMOTE_HOST' is down - message '$MESSAGE' skipped! ---"
fi
exit 0


Damit alles klappt, benötigst du eine SSH Verbindung die mit Keys arbeitet. Solltest du das noch nicht erstellt haben, dann generiere mit "ssh-keygen" einen.
Unter deinem Homeverzeichnis solltest du den Public Key ~/.ssh/id_rsa.pub finden.
Den musst du nun auf dem Remote Rechner unter ~/.ssh/authorized_keys eingeben. Wichtig, die Rechte der Datei und des .ssh Ordner müssen auf Besitzerrechte(700 bzw. 600 für die authorized keys) stehen. Kurz von deinem raspberry mal mit "ssh <DEINUSERNAME>@<DEINERECHNERNAME>" testen ob du ohne Passworteingabe drauf kommst.

In Fhem habe ich mir den folgenden Notifiy gebastelt, damit Meldungen die über Push rausgehen auch auf meiner Linux Kiste angezeigt werden.
define notify_inform_PC notify .*pushmsg.*last-message.* { system("/opt/fhem/inform_pc.sh '$EVENT'")}

Du kannst den Notify nach deinen Bedürfnissen anpassen.

So ich hoffe ich habe nix vergessen! Wenn's nicht klappt, einfach nachfragen!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

linuxq