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!
Vielleicht steht ja was im log - das könnte helfen?
...und was passiert, wenn Du den Befehl in die FHEM-Kommandozeile eingibst?
Gruß,
Thorsten
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.
Kann es sein, dass der fhem-User kein sudo darf?
Gruß,
Thorsten
Das übersteigt jetzt mein Wissen.
Muss somit der fhem-Nutzer einer speziellen Gruppe zugewiesen werden oder irgendwelche Rechte bekommen?
Der fhem user muss sudoers Berechtigungen haben, das bearbeitet man mit visudo.
Sent from my iPad using Tapatalk
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
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
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.