FHEM Forum

FHEM => Sonstiges => Thema gestartet von: McShire am 02 Dezember 2022, 00:23:24

Titel: [gelöst] fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 02 Dezember 2022, 00:23:24
Hallo zusammen

bei Stromausfall läuft mein fhem auf dem Rasperry mit einem Akku noch eine Zeit lang weiter.
Nicht jedoch meine Fritzbox, für die ich keine Notstromversorgung habe.
Wenn ich längere Zeit unterwegs bin, möchte ich gern auf mein Handy eine Nachricht bekommen,
dass zu Hause der Strom ausgefallen ist.
Bei anderen Ereignissen, z.B. Fensteralarm, Rauchmelder o.a. habe ich das mit SIP und myT25 gelöst.
Aber dazu muss die Fritzbox funktionieren.

Deshalb möchte ich ein altes Mobiltelefon mit Multisimkarte und natürlich geladenem Akku irgendwie
mit fhem verbinden (nicht WLAN, FB ist aus) und bei Stromausfall soll das Handy mich anrufen und / oder eine Mail senden.

Hat das schon einmal jemand gemacht oder hat jemand einen Lösungsvorschlag?

Viele Grüße
Werner
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Wernieman am 02 Dezember 2022, 09:00:42
Es kommt darauf an, was das Handy so kann.
- Datenzugang
- Steuern des Handys vom Rechner aus ...
- Anschlüsse des Handys
- ....

Freunde hatten das damals mal gemacht, das malige Handy musste dazu an eine Serielle Schnittstelle angeschlossen werden. Solange man den Typ des Handys nicht weiß, kann man wenig Hilfe geben .....
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 02 Dezember 2022, 09:11:41
Du könntest auch an deinen Raspberry einen Mobilfunk Stick anschliessen, und dann bei Stromausfall über den Mobilfunkstick eine sms schicken.
Einrichtung z.B. hier beschrieben: https://www.datenreise.de/raspberry-pi-sms-per-kommandozeile-versenden/
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 02 Dezember 2022, 17:46:09
ZitatEs kommt darauf an, was das Handy so kann.
- Datenzugang
- Steuern des Handys vom Rechner aus ...
- Anschlüsse des Handys
- ....

Freunde hatten das damals mal gemacht, das malige Handy musste dazu an eine Serielle Schnittstelle angeschlossen werden. Solange man den Typ des Handys nicht weiß, kann man wenig Hilfe geben .....

Samsung Galaxy5 oder HuaweiP20

mfg
Werner
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 02 Dezember 2022, 17:57:31
ZitatDu könntest auch an deinen Raspberry einen Mobilfunk Stick anschliessen, und dann bei Stromausfall über den Mobilfunkstick eine sms schicken.
Einrichtung z.B. hier beschrieben: https://www.datenreise.de/raspberry-pi-sms-per-kommandozeile-versenden/
« Letzte Änderung: Heute um 16:21:03 von Jamo »

Danke für die Info,
das ist eine sehr gute Lösung.
werde ich auf jeden Fall ausprobieren, einen alten Telekom-Stick habe ich noch.

mfg
Werner


Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 02 Dezember 2022, 21:04:07
Die Installation und der sms Versand war mit der Anleitung im Lnk einfach und hat sofort funktioniert. Ich hatte aber ab und zu das Problem (1 x im Monat), das der sms Daemon Prozess 100% Prozessorlast verursacht hat. Ich bin dann drauf gekommen, das der smsd (also der sms daemon) nur dazu dient, das man auch sms empfangen und lesen kann und anhand dessen dann z.B. auch Aktionen in fhem ausloesen kann. Da ich diese Funktion nicht nutzen wollte, hab ich den sms Versand dann nicht über gammu-smsd, sondern nur über gammu gemacht, und den Daemon erst gar nicht gestartet.

Seitdem habe ich keine Probleme mehr mit dem sms versand / Prozessorlast.
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 02 Dezember 2022, 22:25:09
Ich habe gammu-smsd ohne große Probleme installiert,
da ich an meinem Testsystem keine weiteren USB Anschlüsse belegt habe, gab es auch mit der Stromversorgung keine Problem. Auch die Änderung der init Datei und der restart war ohne Fehler.

Bei der Ausgabe der Test-Nachricht wurde nach der Returntaste jedoch nicht die
Nachricht versendet sondern es kam ein Eingabeprompt >
Strg + C beendet die Eingabe
Strg + P  gibt die Meldungen aus: Created oubox message ...sms0.smsbackup
                                                  written message with ID /var/...sms0.smsbackup
aber gesendet wurde nichts. Was muss ich tun damit die Nachricht an die Telefonnummer gesendet wird. Strg + ???

mfg
Werner

Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 02 Dezember 2022, 23:23:02
Hallo Jamu,
jetzt funktioniert alles.
Nach der Fehlermeldung im Log SIM .....
habe ich die Karte (Multisim brandneu von der Telekom) in ein Handy eingeschoben.
Dort SMS entsperrt, PIN war korrekt, und einmal benutzt, alles ging.
SMS zurück in den Stick, Nachricht gesendet, nichts ging.
Log geprüft, Device not found.
durch das neue Einstecken des Sticks war eine Änderung von ..TTY0 auf TTY1.
In der Konfiguration geändert, alles geht.
Ich schreibe dies ausführlich, falls jemand anders gleiche Probleme hat ist dieses Vielleicht hilfreich.

Was muss ich einstellen, dass der Versand nur über SMS statt smsd läuft?

Viele Dankt für Deine Tips und Unterstützung.
mfg
Werner

Vielen Dank für deine Tips
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 02 Dezember 2022, 23:46:15
ZitatWas muss ich einstellen, dass der Versand nur über SMS statt smsd läuft?
Einfach den smsd stoppen (mit sudo /etc/init.d/gammu-smsd stop).
Dann die sms mit gammu versenden (anstatt mit gammu-smsd-inject) also sudo gammu sendsms TEXT +491781234567  -text "Test sms"
Ich glaube gammu wird mit dem gammu-smsd mit installiert, falls nicht, mit "sudo apt-get install gammu" installieren.

Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 03 Dezember 2022, 10:29:10
Hallo Jamo,
wo steht für Gammu die Konfigurationsdatei.
Ich bekomme immer den Fehler:
No cofiguration file found
Keine Konfiguration eingelesen, verwende eingebaute Standards!
Konnte keine SMSC-Nummer vom Telefon erhalten.

Was ist zu tun?
noch eine Frage:
wie starte ich das von fhem aus.
In fhem ist kein sudo erlaubt.

mfg
Werner

Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 03 Dezember 2022, 12:20:32
Die gammu configurationsdatei liegt bei mir unter ~root/.gammurc, das List unten.
Aufruf aus fhem:
sub sendSMS {
# {sendSMS("Fritzbox DSL ausgefallen IP-Adress=box_ipExtern")}
# {sendSMS("Fritzbox DSL ausgefallen IP-Adress=box_ipExtern",'+491712345678')}
# https://www.datenreise.de/raspberry-pi-sms-per-kommandozeile-versenden/
  my $string = shift // return "Error, sendSMS: we need string as parameter!";
  my $number = shift // '+491712345678';

  fhem("\"/opt/fhem/mySMS.sh $number '$string' &\"");
}


die dazugehörige shell datei:jamo@inuc:/opt/fhem$ cat mySMS.sh
#!/bin/bash
# exit immediately if no parameters supplied
if [ $# -lt 2 ] ; then
    echo "UNDEF, keine nummer und/oder text spezifiziert"
    echo "USAGE: ./mySMS.sh +491712345678 'text hier'"
  exit 1
fi

NUMMER=$1
TEXT=$2

# Use daemon gammu-smsd for sending
# echo "Test von mySMS.sh" | sudo gammu-smsd-inject TEXT "+491712345678"
# echo "$2" | sudo gammu-smsd-inject TEXT "$1"

# Use plain gammu for sending
# sudo gammu sendsms TEXT +491712345678 -text "Test von mySMS.sh"
gammu sendsms TEXT "$1" -text "$2"


Der .gammurc:
# This is a generated gammurc file.
# It was generated by Gammu configurator 0.4

# In Unix/Linux  : copy it into your home directory and name it .gammurc
#                  or into /etc and name it gammurc
# In Win32       : copy it into directory with Gammu.exe and name gammurc

# Port           : in Windows/DOS: "com*:",
#                  (instead of "*" please put "1", "2", etc.)
#                  in other (Linux/Unix) "/dev/ttyS%"
#                                     or "/dev/ircomm%" ("irda" connection)
#                  (instead of "%" please put "0", "1", "2", etc.)
# Model          : use only, when Gammu doesn't recognize your phone model.
#                  Put it here. Example values: "6110", "6150", "6210", "8210"
# Connection     : type of connection. Use "fbus" or "mbus" or "dlr3" or
#                  "irda" (Infrared over sockets) or "infrared" (DirectIR)
#                  or "at19200" (AT commands on 19200, 8 bits, None parity,
#                  1 stop bit, no flow control) or "at115200" (AT commands on
#                  115200, 8 bits, None parity, 1 stop bit, no flow control)
#                  or "atblue" (AT over BlueTooth) or "dlr3blue" (FBUS
#                  over BlueTooth)
# SynchronizeTime: if you want to set time from computer to phone during
#                  starting connection. Do not rather use this option when want
#                  to reset phone during connection (in some phones need to
#                  set time again after restart)
# Logfile        : Use, when want to have logfile from communication.
# Logformat      : What debug info and format should be used:
#                  "nothing" - no debug level, "text" - transmission dump in
#                  text format, "textall" - all possible info in text format,
#                  "errors"  - errors in text format, "binary" - transmission
#                  dump in binary format
# Use_Locking    : under Unix/Linux use "yes", if want to lock used device
#                  to prevent using it by other applications
# GammuLoc       : name of localisation file

[gammu]

port = /dev/serial/by-id/usb-HUAWEI_Technology_HUAWEI_Mobile-if00-port0
connection = at
synchronizetime = yes
logfile = /var/log/gammu.log
logformat = textdate
use_locking = yes
gammuloc =
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Wernieman am 03 Dezember 2022, 12:29:03
Brauchst Du für SMS Versand wirklich root-Rechte? Oder müsste der Stick "nur" für den User benutzbar sein?
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 03 Dezember 2022, 13:16:28
ok, das Rätsels Lösung, hab den .gammurc gefunden. Der .gammurc file findet sich auf ~root/.gammurc, deswegen auch das sudo.
Aber komischerweise, wenn ich den .gammurc file nach ~fhem/.gammurc kopiere, funktionierts ohne sudo trotzdem nicht. Dann kommt immer eine Fehlermeldung "Can not open specified file."
Hab die Info mit dem .gammurc oben ergaenzt, dort auch das list.
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Wernieman am 03 Dezember 2022, 13:54:36
Berechtigung, d.h. darf der User denn das File lesen?
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 03 Dezember 2022, 14:07:07
OK, sobald man die Rechte für /var/log/gammu.log entsprechend anpasst, gehts auch ohne sudo. Habs oben in dem shell file korrigiert.

PS: Habe heute schon 2 Euro fuer test sms ausgegeben :-)
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 04 Dezember 2022, 00:29:32
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

Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 04 Dezember 2022, 09:25:30
Hallo Werner,
gammu find ich bei mir hier
jamo@inuc:~$ which gammu
/usr/bin/gammu
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 04 Dezember 2022, 21:30:31
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
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 04 Dezember 2022, 22:40:35
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
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 05 Dezember 2022, 08:09:24
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!
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 05 Dezember 2022, 23:56:32
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
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Icinger am 06 Dezember 2022, 03:37:48
ZitatWo kann dann der Fehler liegen.
Ich würde mal behaupten, der betroffene User, mit dem du testest, ist nicht Mitglied von dialout.
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: rudolfkoenig am 06 Dezember 2022, 12:56:28
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.
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 06 Dezember 2022, 14:54:56
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
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Jamo am 06 Dezember 2022, 17:25:21
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.
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: rudolfkoenig am 06 Dezember 2022, 17:32:07
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.
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 06 Dezember 2022, 19:13:21
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
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 07 Dezember 2022, 10:26:42
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

Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Wernieman am 07 Dezember 2022, 10:30:57
Hast Du Dir eventuell auch aufgeschrieben, bei welchen Dateien Du Berechtigungen angepasst hast, damit es auch ohne sudo funktioniert?
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 07 Dezember 2022, 10:47:54
Ja.
/etc/gammu-smsdrc
und das Verzeichnis /var/spool/gammu einschließlich der Dateien darin

mfg
Werner
Titel: fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 07 Dezember 2022, 11:44:47
Aus fhem funktioniert auch alles, z.B. in der Kommandzeile:
"echo ""gammu Test in fhem 2022-12-07 11:07"" | /usr/bin/gammu --sendsms TEXT +49151xxxxxxxx"

Damit kann man jetzt aus jeder Anwendung heraus eine SMS senden, auch wenn der Router ausgefallen ist,
z.B. wenn Stromausfall durch einen geeigneten Sensor (z.B. umgebauten Homematic Fensterkontakt) ein event erzeugt.

{fhem ("echo $myTextnachricht | /usr/bin/gammu --sendsms TEXT +49151xxxxxxxx")}

mfg
Werner
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Wernieman am 07 Dezember 2022, 12:46:40
Ich muß gestehen, das ich das in ein externes Script auslagern würde. Dieses könntest Du dann in fhem mit "" aufrufen und es würde dann "non blocking" funktionieren ...
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 07 Dezember 2022, 21:57:38
ZitatIch muß gestehen, das ich das in ein externes Script auslagern würde.

Ich nehme an, Du meinst ein bash-skript und nicht eine procedure in  myUtils.

Zum zyklischen Löschen der älteren Logfiles und Backup-files habe ich ein Script erstellt,
das von einem at device regelmäßig gestartet wird. Backups werden dabei auch auf einem Stick gesichert.
Dies verhindert, dass irgendwann der Speicher überläuft. Dafür halte ich ein Script für sinnvoll.

Für ein paar SMS-Versendungen halte ich das nicht für notwendig. Das Skript wird dann beim
Backup von fhem nicht mitgesichert, und man muss sicherstellen, dass es im Zusammenhang
mit der fhem Sicherung mitgesichert wird und bei einem Transfer oder Neuinstallation Sorge tragen,
dass es mit installiert wird.
Den zu versendenden Text stellt man sowieso in einer Variablen oder einem Reading ein und die
Telefonnummer ebenfalls.
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: Wernieman am 08 Dezember 2022, 08:18:03
ZitatDen zu versendenden Text stellt man sowieso in einer Variablen oder einem Reading ein und die
Telefonnummer ebenfalls.
Sorry aber das ist kein Argument, da man diese auch übergeben kann.

Nicht ohne Grund habe ich geschrieben "das ich das" .. jeder wie er will.
Titel: Antw:fhem soll Anruf über Mobiltelefon ausführen
Beitrag von: McShire am 11 Dezember 2022, 20:31:23
Ich habe den Gedanken jetzt einmal aufgegriffen und eine Script erstellt.

#!/bin/bash
#
# SMS mit Text in Parameter1 an Telefonnummer in Parameter2 senden


#Kommandozeilen-Parameter einlesen
Text=$1
TelNr=$2

echo "SMS $Text an $TelNr senden"

#jetzt  SMS senden
echo $Text | /usr/bin/gammu --sendsms TEXT $TelNr

#End of Program


Der Aufruf kann dann aus fhem beliebig erfolgen mit
""
{qx()}
{system"...&"}

Ein Beispiel für die Def in einem notify mit Namen SMS_act, Text und Telefonnummer werden in Readings von SMS_act eingestellt.

SMS_send {
   my $Text = ReadingsVal("SMS_act","mySMS_text"," ");
   my $Number = ReadingsVal("SMS_act","mySMS_number"," ");
   system "bash SMS_senden.sh $Text $Number&";
}


mfg
Werner