Wie Shell-Skript im Kontext des fhem Users testen?

Begonnen von da-ma, 29 Mai 2014, 19:27:25

Vorheriges Thema - Nächstes Thema

da-ma

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

P.A.Trick

Du mußt dem User wahrscheinlich erst eine Shell zuordnen und dann solltest
du mit sudo su - fhem dich einloggen können!
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

da-ma

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

P.A.Trick

Klasse das freut mich! Markierst du den Thread noch als (Gelöst)!?
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

otto

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