FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: da-ma am 29 Mai 2014, 19:27:25

Titel: Wie Shell-Skript im Kontext des fhem Users testen?
Beitrag von: da-ma am 29 Mai 2014, 19:27:25
Hallo

ich betreibe FHEM schon seit mehr als einem Jahr, um einige Themen rund um die Hausautomation zu bedienen. Die Software läuft super stabil - bin echt begeistert.

Mein Setup: Raspi mit Raspbian, FHEM v5.4, Homematic-Infrastruktur mit HMLAN (zu 90%), Rest FS20 ...

Ich habe bis dato mit den Boardmitteln von FHEM meine ganzen Komponenten (hauptsächlich Rolloschalter) angesteuert. Nun möchte ich die Lösung um eine Überwachung der Umgebung (Garten) erweitern. Hierzu soll der Raspi gelegentlich Standbilder per Telegram-Messenger an mich schicken.

Ich habe den Telegram Messenger Client bereits erfolgreich "zu Fuss" in Betrieb genommen. Soll heißen: Wenn ich mittels Putty auf der Kommandozeile mein Shell-Skript aufrufe, dann funktioniert alles.

#!/bin/bash
/opt/fhem/tg/telegram <<STDIN
msg $1 $2
quit
STDIN


Ich habe den Aufruf in eine Perl Methode verpackt, die wiederum in 99_myUtils.pm steckt.


sub
SendNotificationTelegram($)
{
  my ($str) = @_;
  system("/opt/fhem/tg/sendmsg user#xyz \"$str\"");
  Log 1, "MY: Telegram message sent";
}


Reload der 99_myUtils.pm habe ich gemacht.
Das sendmsg Skript liegt samt dem Telegram Client in einem Unterverzeichnis von /opt/fhem
Ich habe für dieses Unterverzeichnis fhem als Owner gesetzt und entsprechende Rechte gesetzt (rwx) - müsste also alles gehen. Tut es aber leider nicht. Wenn ich die Perl-Methode in FHEM aufrufe, wird das Skript zwar gestartet (und auch der Client tg), aber er schickt nichts. Wahrscheinlich fehlt ihm noch eine Datei oder so.

Jetzt die Frage: Gibt es eine Möglichkeit, sich mit dem fhem User einzuloggen (su fhem) und das Skript manuell zu starten? Wo finde ich das Passwort des fhem Users?
Oder gibt's eine bessere Möglichkeit?

Danke & Grüße
da-ma
Titel: Antw:Wie Shell-Skript im Kontext des fhem Users testen?
Beitrag von: P.A.Trick am 29 Mai 2014, 20:26:53
Du mußt dem User wahrscheinlich erst eine Shell zuordnen und dann solltest
du mit sudo su - fhem dich einloggen können!
Titel: Antw:Wie Shell-Skript im Kontext des fhem Users testen?
Beitrag von: da-ma am 29 Mai 2014, 22:37:05
Danke dir!

Das war in der Tat die Lösung. Und mein eigentliches Problem habe ich damit sofort identifizieren können.
Telegram hat sein verstecktes Verzeichnis nicht gefunden...

Grüße
da-ma
Titel: Antw:Wie Shell-Skript im Kontext des fhem Users testen?
Beitrag von: P.A.Trick am 29 Mai 2014, 22:38:19
Klasse das freut mich! Markierst du den Thread noch als (Gelöst)!?
Titel: Antw:Wie Shell-Skript im Kontext des fhem Users testen?
Beitrag von: otto am 31 Dezember 2014, 11:06:39
Kannst du das mal erklären wie das alles genau geht,
sie haben ja auch umgestellt geht ja jetzt irgentwie über telegram-cli
bin nur bis zum Putty gekommen da kann ich kommunizieren.

wäre auf jedenfall eine gute alternative für Whatsapp 

Gruß otto