FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: chaot4ever am 15 Oktober 2013, 16:58:21

Titel: SMS über Fhem senden via raspi mit gammu
Beitrag von: chaot4ever am 15 Oktober 2013, 16:58:21
Nach Installation von gammu auf einem raspi und Konfiguration des Modem-USB Sticks lässt sich via Linux Shell problemlos ein SMS senden:

echo "Mein SMS Text" | sudo gammu sendsms TEXT 079xxxxxxx

Bei folgender Einbindung in FHEM wird der Befehl aber nicht ausgeführt:

{ `echo "Mein SMS Text" | sudo gammu sendsms TEXT 079xxxxxxx` }
auch mit Pfad  { `echo "Mein SMS Text" | usr/bin/sudo gammu sendsms TEXT 079xxxxxxx` } passiert nichts.

Was mach ich falsch?
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: Jaydee am 15 Oktober 2013, 17:47:30
versuch mal

{ system(`echo "Mein SMS Text" | sudo gammu sendsms TEXT 079xxxxxxx`) }

p.s.: und nimm deine Nummer besser aus dem Eintrag ;-)
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: chaot4ever am 15 Oktober 2013, 19:23:19
Hallo Jaydee

Besten Dank für deine Info bez. meines Eintrages.  ;)

Leider geht deine Version auch nicht, sie zeigt in FHEM als Resultat ein -1!

Habe auch exec versucht, geht auch nicht..........
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: Jaydee am 15 Oktober 2013, 19:32:08
das -1 muss nicht unbedingt was heissen, ich habe mehrere Shell-Scripte, die das zurück geben obwohl alles prima funktioniert...

schau mal ins Log, bzw. lass es mal per tail -f mitlaufen...

Bist du sicher, dass deine Nummer stimmt? in deinem Beispiel hier im Forum hast du eine 079-Nummer... sicher, dass es nicht 0179 sein soll?
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: chaot4ever am 15 Oktober 2013, 19:57:19
Na ja funktionieren tut gar nichts, die Nummer ist korrekt, trotz nächtelangen Sessions weiss ich zum Glück noch meine Telefonnummer  :D :D

Da ich ein Newbi bin musst du mir das Vorgehen mit dem Log per tail -f schnell erklären.  ;)
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: Jaydee am 15 Oktober 2013, 20:11:52
Sorry, wegen der Nummer, aber wir wollen ja alles ausschließen, und bei SMS lagen klassiche Handyvorwahlen nahe... :-)

Der Befehl tail zeigt dir das Ende einer Datei an. Mit tail -f wird dieses auch weiter fortgesetzt während die Datei - z.B. das Log - weiter anwächst. Du kannst also zusehen, wie etwas ins Log geschrieben wird.

Mit
tail -f -n 100 /opt/fhem/log/fhem-2013-10.log
werden dir die letzten 100 Zeilen plus alles was noch kommt angezeigt - sofern Pfad und Dateiname des aktuellen Logs bei dir identisch sind.


Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: Jaydee am 15 Oktober 2013, 20:23:10
ich hab keine Ahnung, ob das das Problem ist, aber ich könnte mir vorstellen, dass FHEM vielleicht Schwierigkeiten mit der Pipe ( | ) hat.

bastel dir doch vorher vielleicht ein Shell-Skript, was nur noch den reinen Text übergeben bekommt. Die Nummer dürfte ja wahrscheinlich bei FHEM eh immer dieselbe sein.

also nach dem Schema {system('smsnotify.sh "BLABLATEXT" ')}

Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: Jaydee am 15 Oktober 2013, 20:34:06
Öhm... und nachdemmich gerade mal nach Gammu gegoogelt habe:

echo "Hallo! Ich bin ein Gammu-Test." | gammu --sendsms TEXT 0123456789

Du hattest das -- vor sendsms vergessen (zumindest im Foreneintrag)
Aber du sagtest es würde direkt von der Shell aus laufen, oder?
Ist das jetzt beim Einsetzen ins Forum verloren geggangen, oder schon in FHEM?

Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: chaot4ever am 15 Oktober 2013, 21:16:55
Also ein Shell skript habe ich auch schon gemacht: fhem2sms.sh; wenn ich dieses Skript im raspi unter Linux aufrufe funktioniert alles bestens (mit oder ohne -- vor sendsms) aber unter FHEM geht mit  {system( `/usr/bin/fhem2sms.sh` )} nichts, es wird nur -1 ausgegeben, aber kein SMS.
Auch mit { `/usr/bin/fhem2sms.sh` } passiert nichts, weder ein SMS noch irgendeine Ausgabe noch irgend ein Eintrag im Log.

Der Befehl tail liefert Unknown command tail.

:(
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: Jaydee am 15 Oktober 2013, 21:23:01
das mit tail wundert mich, eigentlich ist das ein standard-befehl, kann mich nicht erinnern den nachinstalliert zu haben... aber für später:
sudo apt-get install tail

könnte es an den Rechten liegen?
FHEM nutzt ja nicht deine Rechte, sondern hat (höchstwahrscheinlich) einen eigenen user
du kannst das Skript für alle und jeden ausführbar machen mit:
sudo chmod a+x /usr/bin/fhem2sms.sh
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: chaot4ever am 15 Oktober 2013, 22:59:18
tail wird bei der Installation im raspi mit apt get nicht gefunden.

Alle Rechte sind auf 777 gesetzt, daran habe ich zuerst gedacht, leider ohne Erfolg.

Wichtig wäre wer der user von fhem ist (fhem selber und welches Passwort hat dieser).

Sonst bin ich nach wie vor ratlos, langsam gehen mir die Ideen aus ......  :-\
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: netbus am 13 Januar 2014, 22:31:59
bist du noch auf der suche oder hast du das Problem schon gefunden?
Ich glaub nämlich zu wissen was das Problem ist
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: aonsux am 04 April 2014, 21:28:25
da ich jetzt geschlagene Stunden dass selbe Problem hatte hier die Lösung die bei mir funktioniert hat:

Zum Testen eines Triggers habe ich mir ein Dummydevice angelegt

attr SMS_Melder room Wohnung
attr SMS_Melder setList on off
define act_on_SMS_Melder notify SMS_Melder:on "echo 'Fenster wurde geschlossen' | sudo /usr/bin/gnokii --sendsms +43xxxx"

Wenn man das Programm zum SMS verschicken mit sudo startet muss natürlich die Konfiguration auch im entsprechenden Verzeichnis vom root User liegen. Bei mir war das: /root/.config/gnokii/config

Dann hatte ich ein paar Fehlermeldungen die wie folgt aussahen:
sudo: no tty present and no askpass program specified

Zuerst habe ich dem User fhem über sudo visudo noch die Rechte zum Ausführen von gnokii verpasst:
fhem ALL=(ALL) NOPASSWD:/usr/bin/gnokii

Danach habe ich den User fhem noch in die Gruppe dialout gegeben, damit hat er automatisch Zugriff auf mein USB Modem Device ttyUSB0.

Ob des 100% mit dem sudoers passt weiß ich jetzt nicht, aber egal. Bin froh dass es funktioniert.

LG
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: Forums am 20 Juli 2014, 08:49:20
Hallo zusammen.

Ich stehe vor gleiche Problem mit gammu. :-\. Die SMS kann ich ohne Problemen über die Konsole mit der Befehl

echo "sms test" | sudo /usr/bin/gammu sendsms TEXT +4917********

versenden, jedoch nicht über FHEM. Wenn ich bei FHEM im Befehlfeld das eingebe

{system("echo "sms test" | sudo /usr/bin/gammu sendsms TEXT +4917********")}

Dan erhalte ich folgende Meldung

syntax error at (eval 15) line 1, near ""echo "sms test"  :o

Was mache ich falsch?


Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: Rince am 20 Juli 2014, 09:26:46
Hast du es so mal versucht?

Zitat{ system(`echo "Mein SMS Text" | sudo gammu --sendsms TEXT 079xxxxxxx`) } 
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: fiedel am 20 Juli 2014, 09:42:59
Bei mir funktioniert es seit Langem so:

# System- SMS versenden; Benutzung: set Dum_SMS_D Text der in der SMS stehen soll
# Auslösen: set Dum_SMS_D text der in der sms stehen soll

define Dum_SMS_D dummy

define Func_SMS_N notify Dum_SMS_D { \
\
  my $SMSText = (Value("Dum_SMS_D"));;\
\
    {system("echo $SMSText. | sudo gammu --sendsms TEXT 016xxxxxxxxxx &")};;\
    Log 1, "SMS wurde versendet: $SMSText";; \
}
Titel: Antw:SMS über Fhem senden via raspi mit gammu
Beitrag von: west2107 am 24 August 2014, 17:34:59
Hallo,

also das klappt wirklich sehr gut. Aber man muss dem Benutzer fhem auf dem Raspi der Gruppe sudo und dialout zuordnen und die Berechtigung zum
Ausführen von gammu erteilen!

Ich benutze einen Vodafone-Stick (Huwai K32772). Da er auch ziemlich verbreitet ist Folgendes:
Der wird von gammu nicht unterstützt. Deshalb bin ich auf gnokii 0.69 ausgewichen. Funktioniert genau
wie gammu, die Syntax aus fhem heraus ist fast identisch.

{system(`echo "SMS über FHEM" | sudo gnokii --sendsms +4917????????`)}