[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

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

Wernieman

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 .....
- 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

Jamo

#2
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/
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

McShire

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

McShire

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



Jamo

#5
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.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

McShire

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


McShire

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

Jamo

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.

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

McShire

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


Jamo

#10
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 =
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Wernieman

Brauchst Du für SMS Versand wirklich root-Rechte? Oder müsste der Stick "nur" für den User benutzbar sein?
- 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

Jamo

#12
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.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Wernieman

Berechtigung, d.h. darf der User denn das File lesen?
- 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

Jamo

#14
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 :-)
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack