SMS empfangen (und senden) mit SMSTools

Begonnen von Carsten, 10 Mai 2013, 16:19:54

Vorheriges Thema - Nächstes Thema

Carsten

Hallo zusammen,

für ein Bastelprojekt brauche ich die Möglichkeit, SMS zu empfangen und auszuwerten.

Zu diesem Zweck habe ich mir auf einem Raspberry mit UMTS-Stick neben FHEM auch SMSTools installiert.

Die SMSTools ( oder SMS Server Tools ), schreiben und lesen die SMS als Textfiles in verschiedene Verzeichnisse. Eine empfangene SMS sieht z.B. so aus:

From: 4917612345678
From_TOA: 91 international, ISDN/telephone
From_SMSC: 491760000443
Sent: 13-05-10 11:43:43
Received: 13-05-10 11:44:01
Subject: GSM1
Modem: GSM1
IMSI: 1234567890
Report: no
Alphabet: ISO
Length: 8

Test SMS


Um nicht in dutzenden Funktionen mit den Files hantieren zu müssen, habe ich mir mit viel abgucken, googlen und ausprobieren ein kleines Modul zusammengeschustert. Das Empfangen und Senden von SMS funktioniert bei mir auch ganz gut. Da es mir aber sowohl im Linux- als auch im Perl-Umfeld an Erfahrung mangelt und ich irgendwie auch keine FHEM-Programmierreferenz finden konnte, ist bestimmt einiges an Blödsinn drin und ich wäre froh, wenn mal jemand mit mehr Erfahrung drüber schauen könnte.

Außerdem habe ich zwei Saschen, bei denen ich nicht weiß, wie ich sie umsetzen kann:

Im Moment suche ich alle <Interval> Sekunden nach neuen SMS-Dateien. SMSTools hat in der .conf aber auch einen Parameter um aktiv ein Skript zu starten, wenn Post kommt. Wie kann ich darüber den Einlese-Prozess in FHEM von außen anstoßen?

Da ich eine Prepaidkarte nutze, suchte ich außerdem nach einer Möglichkeit, das Guthaben unter Linux abzufragen. Ging laut Congstar nur mit Handy oder Windows-Software. Ich habe jetzt herausgefunden, dass das mit dem Programm "Gammu" und dem Befehl
gammu getussd '*100#'
in der Konsole funktioniert. Kann ich das Ergebnis irgendwie in FHEM einlesen?

Viele Grüße

Carsten

*edit* veralteten Anhang entfernt

Carsten

Okay,

bevor sich jetzt doch noch jemand die Mühe macht zu antworten ;) : Hat sich erledigt.

Ich starte den SMS-Fetch jetzt mit wget aus einem Shellscript. Unschön, aber funktioniert.
Für Gammu werde ich Webmin nutzen.

Danke trotzdem.

fiedel

Hi Carsten,

viel helfen kann ich dir wahrscheinlich nicht, aber ich möchte dich gern motivieren hier ab und zu deinen Entwicklungsstand zu posten. Es gibt scheinbar doch noch mehr Leute, die kein Smartphone mit Internetflat haben und gern per SMS benachrichtigt werden möchten, bzw. etwas steuern wollen.

Ich hab so ähnlich begonnen wie du und hab einen E220 (USB) am Dreamplug hängen, der per FHEM und Gammu SMSe schicken kann. Einfach ohne Perlmodul nur über Kommandozeilenaufruf aus FHEM:

...

    {system("echo $SMSText. | sudo gammu --sendsms TEXT 01621234567890 &")};;\
    Log 1, "SMS wurde versendet: $SMSText";; \

...

Für das Empfangen und Auswerten hatte ich bisher nichts gefunden, was mit meinem Kenntnisstand halbwegs zu bewerkstelligen war und hab das Thema also erst mal beiseite gelegt.

Da kommt mir doch dein Modul wie gerufen... ;o)
Irgendwas unsinniges konnte ich darin nicht entdecken, das Meiste verstehe ich aber ohnehin noch nicht.
Ganz unten schreibst du die Variablen mit den Daten der empf. SMS in Readings und weißt nicht wozu das gut ist? Ich glaube die Readings stehen dann FHEM- weit zur Verfügung und können im Programmcode überall verwendet werden, ähnlich wie globale Variablen, die aber immer zu einem bestimmten Gerät gehören:

z.B. hier die Werte von Temperatursensoren:

...

my $T_aussen = (ReadingsVal("Sens_TF_Aussen", "temperature", " "));;\
my $T_innen = (ReadingsVal("Sens_TF_Wohnz_UG", "temperature", " "));;\
\
  if (($T_aussen <= 15.0) and OldValue("Fenster_Status") eq "Closed") {\
  fhem("define Lueft_beend_A at +00:03:00 trigger Func_Fenster_Pruef_zu_N");;\

...

Also vielen Dank für das Modul, das mich einen großen Schritt weiter bringt in Richtung SMS- Steuerung und natürlich weiter so! ;o)

Viele Grüße

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Carsten

Hallo Frank,

danke für das Feedback.

Bei mir ist der Grund nicht fehlendes Internet am Handy sondern am Raspi :)
Außerdem will ich damit Alarm-SMS auswerten, die eben nur als SMS kommen. Daher brauchte ich die Möglichkeit, SMS zu empfangen. Das Senden ist eher willkommenes Abfallprodukt.

Zitat von: fiedel schrieb am So, 12 Mai 2013 09:54Ganz unten schreibst du die Variablen mit den Daten der empf. SMS in Readings und weißt nicht wozu das gut ist? Ich glaube die Readings stehen dann FHEM- weit zur Verfügung und können im Programmcode überall verwendet werden, ähnlich wie globale Variablen, die aber immer zu einem bestimmten Gerät gehören:

Danke, ich weiß schon, wozu die Readings gut sind. Das funktioniert auch. Was ich nicht weiß, ist der Unterschied zwischen der Verwendung von ReadingsBulkUpdate() und dem direkten Schreiben in die Readings. Meine Vermutung ist, das die Bulk-Geschichte nur ein Event triggert, aber ich konnte keine Doku dazu finden.

Was ich z.B. auch nicht weiß, ist, wie man es hinkriegt, dass es so ein Dropdown mit den möglichen Set-Befehlen gibt. Für die Attribute habe ich was gefunden, für die Befehle bisher nicht.
Auch das zusammenkleistern der SMS beim Senden ist eine Krücke, weil ich nicht weiß, wie ich an den gesamten Reststring komme. Funktioniert aber scheinbar. :)

Ich häng den aktuellen Stand nochmal an, an dem sich wohl auch nicht mehr viel ändern wird. Für mich funktioniert das so ganz gut, allerdings ist es vermutlich nicht sehr fehlertolerant, da es quasi kein Fehlerhandling gibt. Mir fehlt aber das Know-How um das allgemein gültig zu machen.

Neu im Vergleich zur Vorversion ist, dass man mit
set <Name> FetchSMS
das Suchen nach SMS-Files manuell anschubsen kann und den Automatismus mit
attr <Name> Interval 0
abschalten kann.
Mit set <Name> SendSMS <Nummer> <Text> kann man SMS senden.
Die Nummer muss dabei mit dem Ländercode ohne + oder 00 beginnen. Also z.B.
set SMS SendSMS 4917612345678 Dies ist eine SMS
Kann sein, dass die Nummer auch anders geschluckt wird, aber so stand es in der Doku und so funktionierts auch.

Im Attribut "ReceivedDir" muss man ein Verzeichnis angeben, in das bereits eingelesene SMS verschoben werden, damit dieselbe SMS nicht immer wieder eingelesen wird. Der default ist /var/spool/sms/received.

Gruß

Carsten

CQuadrat

Hallo Carsten,

ich habe smstools auf Linux-Ebene am laufen und würde SMS-Benachrichtigungen nun gerne in FHEM einbinden. Dazu scheint mir dieses Modul gerade richtig zu sein. Nur kann ich leider keine Doku finden, wie ich das Modul einbinden kann. Gibt es dazu irgendetwas? Wäre schade, wenn daher dieses Modul keine Anwender finden würde.


Danke und Gruß

Christoph
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Carsten

#5
Hallo Christoph,

sorry für die späte Antwort, ich war die letzten Tage nicht im Forum.

Eine Doku gibt es leider nicht. Mangels Resonanz sah ich auch keinen Grund, das zu ändern. Eigentlicher Sinn des Threads war ja, jemanden mit Perl-Know-How über den Code schauen zu lassen.

Man muss aber auch gar nicht soviel machen, um das zu nutzen.

Mit Define <MyName> SMSTOOLS legt man wie bei den meisten anderen Modulen auch eine Instanz von SMSTools an.

Wenn die SMSTools so konfiguriert sind, wie bei mir, war es das im Grunde schon.
Das Modul braucht drei Verzeichnisse:

  • IncomingDir für eigehende SMS. Default "/var/spool/sms/incoming/"
  • ReceivedDir für eingelesene SMS. (Werden nach dem Einlesen aus IncomingDir in ReceivedDir verschoben.) Default "/var/spool/sms/received/"
  • OutgoingDir für zu sendende SMS. Default "/var/spool/sms/outgoing"

Wenn die Verzeichnisnamen anders lauten, als der Default, sollte man Sie über die gleichnamigen Attribute ändern können.
Also z.B.
attr MyName IncomingDir /etc/incoming
Das habe ich allerdings nie ausprobiert.  ::)

In allen drei Verzeichnissen braucht FHEM die entsprechenden Rechte.

Außerdem gibt es noch ein Attribut "Interval", in dem man hinterlegen kann, in welchen Intervall nach neuen SMS im Verzeichnis <IncomingDir> geschaut werden soll. Alternativ kann man das einlesen mit set <MyName> FetchSMS
manuell anstoßen.

*edit*
Das Senden hatte ich ja oben schonmal beschrieben. Der Vollständigkeit halber aber hier auch nochmal:
Zitat von: Carsten am 12 Mai 2013, 11:57:41
Mit set <Name> SendSMS <Nummer> <Text> kann man SMS senden.
Die Nummer muss dabei mit dem Ländercode ohne + oder 00 beginnen. Also z.B.
set SMS SendSMS 4917612345678 Dies ist eine SMS
Kann sein, dass die Nummer auch anders geschluckt wird, aber so stand es in der Doku und so funktionierts auch.


Gruß

Carsten

CQuadrat

Hallo Carsten,

vielen Dank für Deine ausführliche Antwort.

Ich will, dass FHEM unabhängig vom Internetzugang ist und mir die Möglichkeit schaffen, dass mir mein FHEM Warn-SMS zuschickt. Zusätzlich möchte ich es ermöglichen, per SMS an FHEM diverse Aktionen auszulösen. Dies sollte mit Deinem Modul möglich sein.

Leider kämpfe ich noch damit, meinen UMTS-Stick auf meinem FHEM-Raspberry zum Laufen zu bringen. Allerdings läuft der Stick sowohl auf meinem Ubuntu-Notebook als auch auf einem zweiten Raspberry mit xmbc ohne Probleme. Wegen der Stromversorgung habe ich auch schon die verschiedensten USB-Hubs ausprobiert. 

Irgendjemand hier eine Idee, wo das Problem liegen könnte?



Viele Grüße

Christoph
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Carsten

Hallo,

wie sieht denn das Fehlerbild aus?

Ist ne Weile her, dass ich das eingerichtet habe. An meinem Raspi (Raspbian) läuft ein Tchibo USB-Stick (Huaweii irgendwas) mit Congstar SIM an einem aktiven USB-Hub (auch Tchibo) ohne Probleme.
Davor hatte ich einen Vodafone Websessions Stick dran, der auch problemlos funktionierte. Allerdings musste ich feststellen, dass der Vodafone-Tarif keinen SMS-Versand beinhaltete.

Das nächste Problem, über das ich gestolpert bin, war, dass die Huawei Sticks sich erstmal als Datenträger anmelden. Unter Windows schaltet die der Treiber dann in den Modemmodus, unter Linux muss man das ggf. selber machen. Dafür gibt es usb_modeswitch

Eingerichtet habe ich den Stick nach SMSTools-Doku bzw. -Forum. Da gibt es ja für fast jeden Stick die nötigen Einstellungen.
Soweit ich mich erinnere schreiben die SMSTools auch ein Log, wenn irgendwas nicht funktioniert.

nochmal zusammengefasst aus dem Gedächtnis mögliche Fehlerquellen(, die ich alle mitgenommen habe):
- Stick hat zu wenig Strom -> aktives USB-HUB nutzen
- SMSTools verbindet sich zu falschem Port -> Prüfen, ob der Stick auch am konfigurierten Port hängt.
- Stick ist im Datenträgermodus -> usb_modeswitch
- SMSTools ist falsch konfiguriert -> Prüfen, ob der daemon läuft und Log checken
- SMSTools hat keine Rechte im Zielverzeichnis -> Rechte prüfen, sollte auch im Log stehen
- Tarif lässt keinen SMS-Versand zu -> tjoa... Empfang ging bei dem zumindest trotzdem

Viele Grüße

Carsten

kud

Tolle Geschichte.
Hast Du etwas vorgesehen wenn eine SMS eintrifft und einen bestimmten Inhalt hat?
Also quasi FEHM reagiert auf eingende SMS mit bestimmten Aktionen.

Gruss
Kai-Uwe

Carsten

Hallo Kai-Uwe,

ich habe das bei mir so gemacht, dass ich über ein notify bei jeder eingehenden SMS eine Prozedur in meiner myUtils triggere, die die SMS auswertet.
Ob man direkt im Notify schon per Regexp auf den Inhalt prüfen kann, weiß ich leider nicht. Ich finde es übersichtlicher, nicht zuviel Logik in die notifys selbst zu packen.
Im besten Fall würde wahrscheinlich jedes Wort der SMS als einzelner EVTPART interpretiert. Habe ich aber noch nicht ausprobiert.

Gruß

Carsten

CQuadrat

Hallo Carsten,

Zitat von: Carsten am 21 Januar 2014, 12:16:48
wie sieht denn das Fehlerbild aus?
(...)
Das nächste Problem, über das ich gestolpert bin, war, dass die Huawei Sticks sich erstmal als Datenträger anmelden. Unter Windows schaltet die der Treiber dann in den Modemmodus, unter Linux muss man das ggf. selber machen. Dafür gibt es usb_modeswitch

Der Stick wird in der Tat als Datenträger erkannt. Leider hatte ich noch keine Zeit gefunden, das mit usb_modeswitch zu ändern. Ich hoffe aber, dass ich mir das die nächsten Tage nochmal vornehmen kann.


Viele Grüße

Christoph
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

kud

Nochmal zurück zur eingehenden SMS.
Habe ich richtig verstanden, dass nach einer "Interval"-zeit oder per Hand eine eingehende SMS zur Verfügung steht. Also nicht zeitgleich.
Wie sieht denn der entsprechende NOTIVY aus?  Kannst Du bitte ein Beispiel einstellen.

Danke und Gruss

Carsten

Hallo,

wie im zweiten Post geschrieben, habe ich das bei mir so gelöst, dass ich per Linux-Script das "manuelle" abrufen starte, sobald eine SMS eingegangen ist. In der Config von SMSTools kann man einstellen, dass ein Programm oder Script gestartet werden soll, sobald eine SMS eingeht. Da habe ich das Script hinterlegt, dass per WGET den Befehl zum Abrufen triggert. Dadurch wird die SMS sofort eingelesen.

Sorry, aber für eine elegantere Lösung fehlt mir das Know How und in Ermangelung besserer Tipps musste ich mir halt so behelfen.  :-[

Ich hab im Moment keinen Zugriff auf den betr. Raspi, aber ich werde versuchen das zwecks Beispiel die nächsten Tage zu ändern.

Gruß

Carsten

Carsten

Hallo,

habe jetzt mal den Raspi wieder in den Fingern gehabt.

In /etc/smsd.conf habe ich eingetragen:
eventhandler = /usr/local/bin/smsscript/fetchsms.sh
Dadurch wird bei jeder eingehenden SMS das Script fetchsms.sh gestartet.

Das Script sieht so aus:
wget "localhost:8083/fhem?cmd=set+SMSGateway+FetchSMS";
rm fhem?cmd*

SMSGateway ist der Name meiner SMSTools-Instanz. Dadurch wird das einlesen der SMS gestartet.

Mit
define act_OnSMS notify SMSGateway {DoOnSMSReceived()}
habe ich ein notify definiert, dass die Verarbeitung der SMS startet.
Die Funktion DoOnSMSReceived ist in meiner 99_myUtils und verarbeitet über
ReadingsVal("SMSGateway", "MsgText", "" );
direkt das Reading MsgText.

Gruß

Carsten

no_Legend

#14
Hi ich hab auch gerade probiert mit dem Modul eine SMS abzusetzen.
Leider startet jedesmal, wenn ich probiere eine sms zu verschicken FHEM neu.
Hat einer ne Idee dazu?

Edit: Nun gehts. Scheint nur dann abzustürzen wenn smstools nicht richtig konfiguriert ist.
IntelNUC mit Ubuntu mit FHEM immer aktuell,2x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
HM-SEC-KEY,HM-LC-BL1-FM,HM-SEC-SD,HM-Sen-DB-PCB,HM-Sec-RHS,HM-Sec-SC-2,HM-WDS10-TH-O,Harmony,Netamo, 433MHz Steckdosen uvm.

Carsten

Hi,

freut mich, dass es funktioniert. Wie erwähnt, ist das ganze mangels Erfahrung vermutlich nicht sehr fehlertolerant. Sorry!

Was war denn nicht richtig konfiguriert?

Gruß

Carsten

kenn-i-di

Hallo miteinander,
ich bin schon seit ein paar Tagen dran das SMSTool von Carsten zum laufen zu bekommen.
Leider funktioniert es leider nicht wie ich das eingerichtet habe  >:(

Im Terminal geht es ohne Probleme eine SMS zu versenden :)

Laut FHEM Logfile geht die SIMS dort raus:
2014.08.25 14:52:51 1: /var/spool/sms/outgoing/1408971171.0.639988806137023.sms written (hopefully)

lsusb sagt aus:
Bus 001 Device 007: ID 12d1:1003 Huawei Technologies Co., Ltd. E220 HSDPA Modem / E230/E270/E870 HSDPA/HSUPA Modem

Gammu-detect sagt:
[gammu]
device = /dev/ttyUSB0
name = Phone on USB serial port HUAWEI_Technologies HUAWEI_Mobile
connection = at

Ich denke es liegt an dem Datenträgermodus -> usb_modeswitch

Laut > tail -n 10 -f /var/log/syslog < tut sich da was...aber da hören meine Linuxkenntisse auf
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: 1 "AT+CSQ"
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: 2 "+CSQ: 11,99"
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: 3 "OK"
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: Checking line: OK
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: AT reply state: 1
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: RECEIVED frametype 0x00/length 0x1C/28
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: 41A|54T|2B+|43C|53S|51Q|0D |0D |0A |2B+|43C|53S|51Q|3A:|20 |311 AT+CSQ...+CSQ: 1
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: 311|2C,|399|399|0D |0A |0D |0A |4FO|4BK|0D |0A                  1,99....OK..   
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: Signal quality info received
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: Parsing +CSQ: 11,99 with +CSQ: @i, @i
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: Parsed int 11
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: Parsed int 99
Aug 25 17:02:22 raspberrypi gammu-smsd[31361]: gammu: Leaving GSM_GetSignalQuality

wie kann ich feststellen ob der Huawei-Stick in dem Modem-Modus ist ?

Oder habe ich dort noch einen weiteren Hund vergraben ?

Wäre super wenn mir jemand weiterhelfen könnte

Carsten

Hallo,

wenn du im Terminal SMS verschicken kannst, muss der Stick ja eigentlich im Modem-Modus sein.
Womit hast du die SMS denn getestet? SMSTools, Gammu oder was anderes?

Wenn du es nicht mit SMSTools getestet hast, versuch das mal und schau mal in dessen Log, ob da villeicht was falsch konfiguriert ist.

Das Ding von mir schreibt und liest ja nur Dateien. Landen die Dateien denn auch im /var/spool/sms/outgoing/ ?
Und ist dieser Ordner auch in SMSTools als Outgoing definiert?

Gruß

Carsten

kenn-i-di

Hallo Carsten,
getestet habe ich es über Terminal  (raspi/gammu), SMSTOOL und direkt über Kommandozelle.
SMS werden ins /var/spool/sms/outgoing/ geschrieben...
Terminal funktioniert , die anderen funktionieren leider aus FHEM nicht.

Nach weiterer suche bin ich auf diesen Eintag gestossen....von west2107
http://forum.fhem.de/index.php/topic,15408.msg194418.html#msg194418

Nur leider auch bisher ohne Erfolg  :'(
Hättet ihr noch einen Tip für mich, das ich das SMSTOOL zum laufen bekomm ?

fiedel

Hi,

wenn du von der Shell SMS über Gamu senden kannst, sollte es nur ein Rechteproblem von FHEM sein. In dem anderen Beitrag steht ja:
ZitatAber man muss dem Benutzer fhem auf dem Raspi der Gruppe sudo und dialout zuordnen und die Berechtigung zum
Ausführen von gammu erteilen!

Hattest du das mal probiert und verifiziert? Mein Beispiel im Post darüber kannst du zum probieren übernehmen.

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Carsten

Hi,

ich werd leider nicht so ganz schlau aus Deiner Antwort und es ist über ein Jahr her, dass ich mich mit SMSTOOLS beschäftig habe. Seitdem musste ich mich nicht mehr drum kümmern. Darum hab ich das leider auch nicht mehr alles im Kopf.

Dir ist aber klar, dass SMSTools ( Link ) ein eigenständiges Programm ist, das du installieren musst?

Wenn die Datei in das Verzeichnis geschrieben wird und dort liegenbleibt sieht es danach aus, dass SMSTools nicht läuft oder nicht in dem Verzeichnis läuft oder z.B. Rechte fehlen um in dem Verzeichnis die Daten abzuholen. Hast du mal ins Log von SMSTools geschaut?

Viele Grüße

Carsten

CQuadrat

#21
Hallo Zusammen,

wird dieses Modul noch gewartet?

Ich hatte es längere Zeit nicht mehr in Gebrauch und da ich nun eine lange geplante Fhem-Steuerung per SMS endlich angehen will, habe ich mir das Modul wieder eingerichtet.

Im Prinzip läuft es auch wieder.  :)

Nur ist mir aufgefallen, dass das Attribut Interval scheinbar keine Funktion mehr aufweist. Der entsprechende Befehl
set <SMS> FetchSMS
funktioniert allerdings.

Man könnte natürlich damit regelmäßig per at nach eingehenden SMS prüfen, aber wenn das Modul so eine Funktion schon impliziert anbietet ... ::)


Danke und Gruß

Christoph
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Carsten

#22
Hi,

gewartet wurde das Modul in dem Sinne noch nie.  ;D
Ich habs aktuell selbst nicht laufen und den Interval habe ich auch nur ganz am Anfang selbst benutzt.
Kann also zur Zeit nicht testen.

Da ich nur grob weiß, was ich da überhaupt tue, hab ich auch auf die Schnelle keine Idee, was schiefläuft. Geändert habe ich jedenfalls nichts. Evtl. hat sich an der InternalTimer-Geschichte was geändert.

Sorry, kann Dir im Moment nicht sagen, wann ich dazu komme, mir das mal anzuschauen. Evtl. schaut ja mal jemand mit Plan von Perl und FHEM drüber. Hab aber wenig Hoffnung, denn das war ja schon vor zwei Jahren mal der ursprüngliche Sinn diese Threads.   ::)

Gruß
Carsten

*edit* Hast du dir mal diesen Kommentar von mir angeschaut. So hab ich das letztendlich gemacht. Vorteil: Die SMS wird immer sofort verarbeitet, unabhängig von Timern.

CQuadrat

Dann werde ich mal versuchen, da schlau zu werden.

Das größte Problem dabei wird wohl weniger Perl sein, als die ganzen FHEM-Interna.
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Carsten

Zitat von: CQuadrat am 17 Februar 2015, 15:31:44
Das größte Problem dabei wird wohl weniger Perl sein, als die ganzen FHEM-Interna.
Ja, ich hab auch noch nicht ganz durchschaut, wo man sich solche Infos herholt. Das meiste habe ich aus anderen Modulen abgekupfert.
Was ich gesehen habe, ist, dass der Internaltimer einen Parameter waitIfnotDone hat, der bei mir auf 1 steht. Wenn ich nach InternalTimer suche, finde ich viele Updates, wo das von 1 auf 0 geändert wurde. Soweit ich verstehe, blockiert das sonst FHEM. Vielleicht den mal ändern. Gibts eigentlich Meldungen im Log?

okuegerl

Ich würde gerne Dein SMSTools Module für FHEM verwenden - wo darf/kann ich mir dieser herunterladen? Bitte um kurzes Feedback
Danke LG Otto

klausw

Zitat von: Carsten am 10 Mai 2013, 16:19:54
Da ich eine Prepaidkarte nutze, suchte ich außerdem nach einer Möglichkeit, das Guthaben unter Linux abzufragen. Ging laut Congstar nur mit Handy oder Windows-Software. Ich habe jetzt herausgefunden, dass das mit dem Programm "Gammu" und dem Befehl
gammu getussd '*100#'
in der Konsole funktioniert. Kann ich das Ergebnis irgendwie in FHEM einlesen?

So, ich grabe mal weit in der Vergangenheit.

Ich nutze einen Huawai UMTS Stick an einem Pi
Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard
Congstar Prepaid Simkarte

.gammurc:
[gammu]
device = /dev/ttyUSB3
connection = at


Die Ports vom Stick sind:
usb-HUAWEI_HUAWEI_Mobile-if00-port0 -> ../../ttyUSB3
usb-HUAWEI_HUAWEI_Mobile-if02-port0 -> ../../ttyUSB4
usb-HUAWEI_HUAWEI_Mobile-if03-port0 -> ../../ttyUSB5


der Befehl:
sudo gammu -c .gammurc getussd '*100#'
bringt bei mir kein Ergebnis. (habe mit allen 3 Ports getestet)
SMS auslesen über ttyUSB5 funktioniert Beispielsweise Problemlos

Ich nutze Gammu Version 1.33.0 das ich über apt-get installiert habe.

Welche Gammu Version hast du genutzt?
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

Carsten

Zitat von: okuegerl am 09 November 2016, 12:12:29
Ich würde gerne Dein SMSTools Module für FHEM verwenden - wo darf/kann ich mir dieser herunterladen? Bitte um kurzes Feedback
Danke LG Otto
Hi, die Version unter dem 4. Beitrag hier müsste immer noch die aktuelle sein. Hab seitdem eigentlich nichts mehr geändert, da es bei mir problemlos funktioniert.

Zitat von: klausw am 09 November 2016, 13:18:11
Ich nutze Gammu Version 1.33.0 das ich über apt-get installiert habe.

Welche Gammu Version hast du genutzt?


Hi auch dir!
Sorry, ich fürchte, da kann ich dir nicht helfen. Hab zwischendurch auf ALDI gewechselt, da kann man den Kontostand online einsehen und hatte daher keinen Bedarf mehr an gammu. Zumal ich den Stick nur zum Empfang nutze.