[gelöst] fhem soll Anruf über Mobiltelefon ausführen

Begonnen von McShire, 02 Dezember 2022, 00:23:24

Vorheriges Thema - Nächstes Thema

McShire

Hallo zusammen,
Ich habe heute auch einiges probiert.
Ergebnis zu gammu-smsd genauso wie oben von Euch beschrieben.
Die gammu-Dateien in /var/spool und im/var/log auf chmod 777 gesetzt und
es geht ohne sudo. Jetzt kann man schrittweise einschränken, um zu sehen,
welche Berechtigungen wirklich notwendig sind.
Damit ist auch die Verwendung in fhem ganz einfach, z.B. die Eingabe in die Kommandozeile
"echo ""Text SMS von fhem"" | gammu-smsd-inject TEXT ""+49151xxxxxxxx""" sendet die SMS
an das Handy.
Genauso kann man es auch in modulen verwenden,wie DOIF oder notify
{fhem(" echo ""....""")};

Nur gammu ohne daemon geht bei mir überhaupt nicht.
Ich habe alles versucht
sudo apt-get install gammu
sudo apt --fix-missing update
sudo apt install -f
funktioniert auch alles ohne Fehler
Aber in /etc/init.d steht nur die Datei gammu-smsd und nicht gammu.
Damit laßt sich gammu nicht starten.

mfg
Werner


Jamo

Hallo Werner,
gammu find ich bei mir hier
jamo@inuc:~$ which gammu
/usr/bin/gammu
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

McShire

Hallo Jamo,

danke für den Tip. Ich hatte mit der remoteDesktopverbindung im Dateiexplorer das gesamte Dateisystem auf gamma durchsuchen lassen, aber aus irgendeinem Grund wurde gamma nicht angezeigt.
Trotzdem hatte ich versucht, gammu aufzurufen, ging aber  nicht. Da nahm ich an, es war nicht richtig
installiert, weil ich davon ausgegangen bin, dass die installierten Programme von überall ohne Dateipfad
ausgeführt werden können.

Der Aufruf mit sudo/usr/bin/gammu funktioniert. Ich habe die Datei jetzt mit
sudo chmod +x /usr/bin/gammu
eingestellt und kann diese jetzt von überall ohne Dateipfad aufrufen.
in gammu-config die cofiguration Port, Connection, Log file und Log format angepasst und
nun kann ich senden mit

echo "gammu smstest" | sudo gammu --sendsms TEXT +49151xxxxxxxxx
Ergebnis: Sende SMS 1/1 ....warte auf Netzbestätigung..OK, Nachrichen-Referenz=21
pi@Raspi3B:~ $
Die Nachricht ist auf meinem Handy angekommen.
Das sudo wird sicherlich überflüssig, wenn ich die Berechtigungen (wie bei Gammu-smsd) anpasse.

Damit habe ich jetzt alles, was bei Netzausfall brauche, um mit einem notify eine Meldung auszugeben

mfg
Werner

McShire

Hallo Jamo,

ZitatDas sudo wird sicherlich überflüssig, wenn ich die Berechtigungen (wie bei Gammu-smsd) anpasse.

Ich habe jetzt so ziemlich alles versucht und alle Dateien und Verzeichnisse, die mit gammu beginnen,
auf chmod 777 gesetzt.
Aber als Normaluser funktioniert es nur mit sudo, ansonsten kommt die Fehlermeldung
Kann gewählte Datei nicht öffnen.
Wenn ich als superuser (sudo su) arbeite, dann geht es auch ohne sudo, war zu erwarten.

Hast Du eine Idee?

mfg
Werner

Jamo

Hallo Werner,
den Fehler "Kann gewählte Datei nicht öffnen." hatte ich auch, siehe Antwort #12 und Antwort #14 hier im Thread.
Im .gammurc gibt es den Eintrag zum Logfile, bei mir: logfile /var/log/gammu.log
Nachdem ich die Rechte für /var/log/gammu.log entsprechend angepasst hatte, ging es auch ohne sudo.

Grüsse!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

McShire

Hallo Jamo,
nachdem nun gammu-smsd mit und ohne sudo funktionierte und gammu mit sudo funktionierte, aber ohne sudo nicht, habe ich jetzt an der Rechteverwaltung alles Mögliche versucht mit dem Ergebnis,
dass jetzt gar nichts mehr funktioniert.

gammu-smsd läuft mit und ohne sudo ohne Fehlermeldung durch, legt laut Monitor die outbox an und schreibt die Nachricht in die outbox, aber die Nachricht wird nicht gesendet. spool/gammu/Error ist leer.

sudo gammu meldet auf dem Monitor: Konnte keine SMSC-Nummer vom Telefon lesen.

Den Stick habe ich am Laptop probiert, sendet SMS einwandfrei ans Handy, daran kann es nicht liegen.
shutdowm und restart hilft auch nicht weiter.

Wo kann dann der Fehler liegen.

Wenn ich gar nicht mehr weiterkomme, werde ich in den nächsten Tagen alles löschen und noch einmal ganz von vorn installieren.

mfg
Werner

Icinger

ZitatWo kann dann der Fehler liegen.
Ich würde mal behaupten, der betroffene User, mit dem du testest, ist nicht Mitglied von dialout.
Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

rudolfkoenig

Bei Problemen dieser Art verwende ich strace.

In diesem Fall z.Bsp. wuerde ich
echo "gammu smstest" | strace -e openat  gammu --sendsms TEXT +49151xxxxxxxxx

probieren. Ich erwarte (unter anderem) eine Zeile der Art:
Zitatopenat(AT_FDCWD, "XXXXX", O_RDONLY) = -1 EACCES (Permission denied)
wobei XXXXX ist dann die Datei, was das Problem verursacht.

McShire

ZitatIn diesem Fall z.Bsp. wuerde ich
Code: [Auswählen]
echo "gammu smstest" | strace -e openat  gammu --sendsms TEXT +49151xxxxxxxxx
probieren. Ich erwarte (unter anderem) eine Zeile der Art:
Zitat
openat(AT_FDCWD, "XXXXX", O_RDONLY) = -1 EACCES (Permission denied)
wobei XXXXX ist dann die Datei, was das Problem verursacht.

Auch mit der obigen anweisung kommt der Fehler: Konnte keine SMSC-Nummer vom Telefon erhalten.
Das heißt für mich, das Programm versucht die Nummer der SMS-Zentrale aus dem Stick zu lesen und bekommt diese nicht. Der Stick selbst funktioniert im Laptop, d.h. die richtige Nummer ist im Stick und auch
auslesbar.

Was ich nicht verstehe, ist, das ja alles funktioniert hat, gammu-smsd mit und ohne sudo, gammu nur mit sudo. Erst nachdem ich alle betreffende Dateien für alle freigegeben habe, geht nichts mehr.
Das Problem scheint mir keine Zugriffsberechtigung auf eine Datei zu sein zu sein.
Diese sind alle freigegeben und bei sudo gibt es das Problem nicht.

ZitatIch würde mal behaupten, der betroffene User, mit dem du testest, ist nicht Mitglied von dialout.
Da ja vorher alles funktioniert hat, kann es daran eigentlich nicht liegen.

mfg
Werner

Jamo

Hallo Werner,
ich erinnere mich, das mit der smsc Nummer (Rufnummer der sms mitteilungszentrale) hatte ich auch mal, aber ich weiss nicht mehr wie ich das geloest hatte, und ich weiss auch nicht mehr ob der fehler nur ohne sudo auftrat.

Ich hatte damals 2 Sachen gemacht:
1) update der gammu version (ich habe jetzt 1.42.0)
2) https://hilfe-center.1und1.de/mobilfunk-c83940/sms-und-mms-c84442/rufnummer-der-sms-mitteilungszentrale-smsc-aktualisieren-a792100.html

Ich meine 2) hatte nicht geholfen, und auch die smsc nummer im config file einzutragen, brachte keine Abhilfe. Vielleicht komme ich noch drauf, aber ich hatte wie Du auch viel Sachen probiert.....

Sorry das ich hier nicht mehr helfen kann.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

rudolfkoenig

ZitatAuch mit der obigen anweisung kommt der Fehler: Konnte keine SMSC-Nummer vom Telefon erhalten.
Wenn es damit funktionieren wuerde, dann waere das ein mittleres Wunder.

strace zeigt nur die Systemcalls mit Argumenten, und hilft damit die Datei zu lokalisieren, die die Ursache der "Kann gewählte Datei nicht öffnen." Fehlermeldung ist.

McShire

Zitatstrace zeigt nur die Systemcalls mit Argumenten, und hilft damit die Datei zu lokalisieren, die die Ursache der "Kann gewählte Datei nicht öffnen." Fehlermeldung ist.

kann die Datei nicht öffnen, wurde durch die Berechtigungen gelöst, danach dann die SMSC Meldung

mfg
Werner

McShire

#27
Hallo zusammen,

jetzt geht alles, mit und ohne sudo.

ich habe alles gelöscht.
sudo apt-get --purge remove gammu-smsd
sudo spt-get --purge remove gammu
sudo apt-get autoremove

Danach update und upgrade (ich bin auf meinem Testsystem, da kann ich alles machen und ggf. restore aus der Sicherung.

Dann neu installiert, nach Anleitungen, wie vorher auch.
erst sudo apt-get install gammu-smsds
sudo /etc/gammu-smsdrc bearbeitet ( Pin, Port usw.)
Berechtigungen für dieSPool-Dateien und die KOnfiguration gesetzt.
Testlauf: es funktioniert

dann sudo systemctl stop gammu-smsd

dann sudo apt-get install gammu
Testlauf: es funktioniert

Das System ist genau wie vorher, aber jetzt geht plötzlich alles. Warum?
Theorie ist, wenn jeder alles weiß, und nichts funktioniert,
Praxis ist, wenn alles funktioniert und keiner weiß warum

Eine mögliche Erklärung:
Bei der Installation von gammu wurde /gammurc (nicht /etc/gammurc) angelegt. Die Werte hierin
wurden offenbar aus /etc/gammu-smsdrc übernommen, woher sollten sonst Pin und Port kommen.
Bei vorigen Installation von gammu hatte ich danach gammu-config ausgeführt, das hat wohl
irgendetwas kaputt gemacht.

Vielen Dank für Eure Hilfestellung
mfg
Werner


Wernieman

Hast Du Dir eventuell auch aufgeschrieben, bei welchen Dateien Du Berechtigungen angepasst hast, damit es auch ohne sudo funktioniert?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

McShire

Ja.
/etc/gammu-smsdrc
und das Verzeichnis /var/spool/gammu einschließlich der Dateien darin

mfg
Werner