SMS Versand mit gammu-smsd

Begonnen von Alveole, 05 Februar 2017, 18:34:21

Vorheriges Thema - Nächstes Thema

Alveole

Hallo Leute,
durch Zufall habe ich heute gemerkt, das meine SMS-Funktion nicht mehr funktioniert.
Ich möchte mich bei Feuer per SMS benachrichtigen lassen.
Folgendes habe ich erstellt und vor längerem getestet und es funktionierte (glaube ich zumindest).
define Feuer_Heiz_Msg2 notify Feuer_Heiz:on set {system ("sudo gammu-smsd-inject TEXT 01xxxxxxxxx -text 'Feuer im Keller!!!'")}


wenn ich
Zitatsudo gammu-smsd-inject TEXT 01xxxxxxxxx -text 'Feuer im Keller!!!'
als Befehl direkt in Linux eingebe, kommt die SMS erfolgreich an.

Der Dummy "Feuer_Heiz" wird auch erfolgreich auf "on" gesetzt. Es muss also an der Ausführung des Linux-Befehles in fhem liegen.
An was könnte es liegen?

Danke!

viegener

Vielleicht steht ja was im log - das könnte helfen?
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

Thorsten Pferdekaemper

...und was passiert, wenn Du den Befehl in die FHEM-Kommandozeile eingibst?
Gruß,
   Thorsten
FUIP

Alveole

Hallo,
im Log steht:

Zitat
sudo: Kein TTY vorhanden und kein »askpass«-Programm angegeben
2017.02.05 18:03:02 2: stromausfall_P1_msg2: {system ("sudo gammu-smsd-inject TEXT 01xxxxxxxxx -text 'Feuer im Keller!!!'")}

Wir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat.  Normalerweise läuft es auf drei Regeln hinaus:

    #1) Resprektieren Sie die Privatsphäre anderer.
    #2) Denken Sie nach bevor Sie tippen.
    #3) Mit großer Macht kommt große Verantwortung.

sudo: Kein TTY vorhanden und kein »askpass«-Programm angegeben

Wenn ich das bei FHEM eingebe, kommt als Antwort "-1"  zurück.

Thorsten Pferdekaemper

Kann es sein, dass der fhem-User kein sudo darf?
Gruß,
   Thorsten
FUIP

Alveole

Das übersteigt jetzt mein Wissen.
Muss somit der fhem-Nutzer einer speziellen Gruppe zugewiesen werden oder irgendwelche Rechte bekommen?

schka17

Der fhem user muss  sudoers Berechtigungen haben, das bearbeitet man mit visudo.


Sent from my iPad using Tapatalk
M: Thinclient x64 Debian | CUL FS20, HMS100WD, HMS100TF, HMS100T, HMS100CO, S300, S555TH | OWServer DS1420, DS18B20, DS2408 | RFXCOM UVN128, THWR800, THGR228N,RTGR328, PCR800 |Jeelink PCA301 EC3000|CUNO+IR|HMLAN|HMUSB|CUL433 Somfy|mySensors|espEasy
S1:Raspberry mit BPM810, Jeelink EC3000

Alveole

Hallo,
ich habe den fhem-Nutzer in die Gruppe sudo aufgenommen
sudo usermod -aG sudo fhem

leider kein Ergebnis:
ZitatWir gehen davon aus, dass der lokale Systemadministrator Ihnen die
Regeln erklärt hat.  Normalerweise läuft es auf drei Regeln hinaus:

    #1) Resprektieren Sie die Privatsphäre anderer.
    #2) Denken Sie nach bevor Sie tippen.
    #3) Mit großer Macht kommt große Verantwortung.

sudo: Kein TTY vorhanden und kein »askpass«-Programm angegeben

mit "sudo visudo" bekomme ich folgendes angezeigt. Leider sagt mir das als absoluter Linux-Laie nichts. Sorry!!
Zitat# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root    ALL=(ALL:ALL) ALL
# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
pi ALL=(ALL) NOPASSWD: ALL

Thorsten Pferdekaemper

Hi,
ich habe hier was gefunden:
Zitat
The daemon itself will run as root but then the command gammu-smsd-inject will allow to send sms without root permission as far as the spool directory is writable.
Vielleicht geht es auch ohne sudo. Das Spool-Directory ist möglicherweise /var/spool.

Außerdem könnte dieser Thread hilfreich sein:
https://forum.fhem.de/index.php?topic=16628.0
Ich kann mir vorstellen, dass das hier in die sudoers muss:

Defaults requiretty
Defaults:%dialout !requiretty
Defaults:fhem !requiretty


Gruß,
   Thorsten
FUIP

AxelSchweiss

Falls alle Strike reissen ...
Schreib es direkt in die Datenbank  ... so mach ich das.
Zum Beispiel so:
INSERT INTO outbox (textdecoded,destinationnumber,creatorid) VALUES ('Test-Text per SMSD','+490815','Network UPS Daemon');
Der gammu-smsd merkt das dann und sendet den Text.

Ich verwende gammu mit einer MySQL Datenbank da bei mir mehrere Systeme SMS senden können müssen.
So muss ich nicht auf jedem System den gammu installieren ... viel flexibler ... mysqlclient reicht.
Und ... mit der creatorid kann man die Sender auseinanderhalten  ... falls man wissen möchte welches System wieder Mist verzapft hat.