Vorstellung: "SMSWitch"

Cooles Feature.

Ja, werd ich auf jeden Fall notieren.

Toni

Einige wird es freuen, dass ich ein wenig am SMSWitch getuned hab. Bitte beachtet den überarbeiteten ersten Beitrag. Dort könnt ihr auch das Modul downloaden.

Im SMSWitch kann man nun seine PIN hinterlegen (Vorsicht, die wird in Klartext gespeichert). Beim Start von IPS wird SMSWitch nun also, wenn die Static PIN - so hab ich sie mal genannt - angegeben wurde, versuchen die PIN gleich automatisch ans Modem zu übergeben. Die Angabe der Static PIN ist absolut freiwillig und wird aus Sicherheitsgründen von mir nicht empfohlen. Ich schaffe lediglich die Möglichkeit, spreche keine Empfehlung dafür aus.

Dann bekommt man noch den Hersteller und den Typ des Modems im Setup (Startbildschirm) angezeigt. Dies funktioniert freilich nur, wenn das Modem diese Funktion unterstützt.

Ich versuche auch die eigene Telefonnummer aus der Karte auszulesen. Das geht aber meinen Tests nach nur mit Siemens Geräten. Müsst ihr ausprobieren.

Desweiteren kann man jetzt auch SMS per Script senden und bekommt von empfangenen SMS den Absender und den Inhalt der SMS in einer Variable.

Ich hab euch mal ein Beispiel getippt:


// nur overhead zum Datumsformat
// geht bestimmt eleganter, aber darum gehts hier nicht...
   $now = getdate();

   $Tag = $now['mday'];
   if (strlen($Tag) < 2)
      $Tag = '0'.$Tag;

   $Monat = $now['mon'];
   if (strlen($Monat) < 2)
      $Monat = '0'.$Monat;

   $Jahr = $now['year'];

   $Stunde = $now['hours'];
   if (strlen($Stunde) < 2)
      $Stunde = '0'.$Stunde;

   $Minute = $now['minutes'];
   if (strlen($Minute) < 2)
      $Minute = '0'.$Minute;

   $SMSTime = $Stunde.':'.$Minute;
   $SMSDate = $Tag.'.'.$Monat.'.'.$Jahr;


// hier wird interessant!
   if ($IPS_SENDER == 'SMSWitch')
   {
      $Text = $SMSWitch_Content.' am '.$SMSDate.' um '.$SMSTime.' verarbeitet';
      $Erfolg = SMSWitch_SendMessage(28448, $SMSWitch_Sender, $Text);
 
      if ($Erfolg)
         SetValueString("SMSStatus", "SMS versendet")
      else
         SetValueString("SMSStatus", "Senden fehlgeschlagen");
   }

Euer Toni

… 3 Worte …

Du bist spitze!!! :smiley: :smiley: :smiley:

Danke

OKay… Ich hatte ja schon von der Auto-Freisprecheinrichtung gesprochen, die man für kleines Geld benutzen könnte. Ich habe grade eine Nokia 6080/6081 getestet und muss sagen, dass das nicht funktioniert.

Liegt vielleicht auch daran, dass der COM-Port an dem Gerät keine RS232 Schnittstelle ist :smiley: Kann ja nicht gehen…

Okay aber das 6090 sollte funktionieren. Das setzen wir erfolgreich in der Firma ein. Der Nachfolger, Nokia 810, hat eine Firmware, die „einen schlechten Ping“ hat. Das ist zumindest der Grund warum wir es in der Firma nicht einsetzen. Mit dem SMSWitch hab ich allerdings nicht getestet.

Toni

Hallo Toni, ich habe SMSwitch mit dem Siemens Handy S35 getestet.
Grundsätzlich klappte es auf Anhieb.Die stationäre Anbindung über ein Power Supply (5V 2A) habe ich recht einfach gelöst. Das S35 hat ein Acku mit drei Anschlüsse. Die Spannung für den dritten Anschluß wird über ein kleine Elektronik, die sich in der Batterie befindet, erzeugt. Ich habe einfach die Seite des Plastikgehäuses der Batterie, wo die Elektronik an Minus angeschlossen ist, geöffnet, und dann den Minuspol von der Elektronik getrennt.
Anschließend zwei Kabel ,einmal Plus und das Minuskabel am Ausgang der Elektronik angelötet. Batterie eingebaut und die Kabel an 5Volt angeschlossen. Hat den Vorteil, das man keinen Eingriff am Handy machen muß.
Jetzt meine Frage, alle 10 sec wechselt die Handy Anzeige von T D1 nach Netzwerksuche. Das stört den Empfang und die SMS wird verzögert empfangen. Ist das normal, oder habe ich ein anderes Problem.
Ich habe das gleiche Phänomen mit einem Siemens S45, original Batterie und original Serielles Kabel.
Gruß Gerd

Hallo Gerd

Freut mich, dass das SMSWitch in dir nen neuen Anwender gefunden hat.

Ich hab das SMSWitch für und mit einem Siemens M20 entwickelt. Ich selbst hab es mit meinem SL45i und meinem SE K700i getestet. Das von dir geschilderte Problem trat hier nie auf. Auch bei den oben genannten, getesteten Handytypen hat keiner über diesen Effekt berichtet. Es gibt auch keinen festen Intervall, ich hab grad nachgesehen, der 10 Sekunden beträgt. Hast du vielleicht den User-Intervall auf 10 Sekunden stehen (in den Properties)? Tritt das immer auf oder nur bei geöffnetem Settings-Fenster?

Wenn ich genauer wüsste wann genau das Problem auftritt würde mir das bei der Suche helfen.

BTW:
Kannst du mal ein Foto von deinem Konstrukt machen? Würd mich mal interessieren. :smiley:

Toni

Hallo Toni,
hier mein Konstrukt. Das erste ist eine „Blanko“ Batterie ohne Gehäuse. Das zweite Bild das fertige Konstrukt.
Zu deiner Frage, dieses „Pollen“ passiert auch beim geschlossenen SMSwitch Fenster.
Ich bin mir garnicht sicher, ob das vom Switch kommt,
werde ip-Symcon mal „klein“ machen, also alles rauskonfigurieren. Möglicherweise liegt es auch am Kabel, die original Siemens Kabel unterscheiden sich ja da etwas von den standard Kabel. Ich werde mal ein RS232 Sniffer zwischen schalten, mal sehen was da so rüber geht. Dauert aber ein paar Tage.
Gruß Gerd

Normalerweise belegt eine Applikation einen Com-Port ja komplett. Das heisst da kann ansich nix anderes als die Witch drin hängen. Was mich verwunder ist, dass es bei geöffnetem alsauch bei geschlossenem Fenster passieren soll. Denn bei geöffnetem Fenster sollte wesendlich mehr Traffic auf dem Bus sein als bei geschlossenem.

Stell doch mal testweise den Poll-Intervall auf 120 Sekunden oder so. Dann müsste sich ja bei geschlossenem Witch-Fenster zumindest die Frequenz der Netzsuche deutlich verlangsamen.

Toni

Hallo,

ich versuche das Siemens SL55 mit SMSWitch 1.1 zum Laufen zu bringen. Angeschlossen habe ich das SL55 über das Siemens USB-Kabel an den virtuellen COM-Port 4. Das Ansprechen des Modems über Com-Port 4 funktioniert und habe ich über Hyperterminal getestet.

SMSWitch erkennt das SL55 und auch die Tests funktionieren. Möchte ich jedoch eine SMS verschicken, dann geht das noch nicht und im Kernel Fenster bekomme ich zwei Fehlermeldungen:

Execute Thread … Error executing Script: Listenindex überschreibt das Maximum (0)
Execute Thread … ScriptError:.currentscript ~Sender: Execute ~ Result:

und im LogFile
09.11.2006 20:49:24.187 | DEBUG | ExecuteThread ID: 2664 | Executing Script: .currentscript ~ Sender: Execute
09.11.2006 20:49:24.250 | WARNING | ExecuteThread ID: 2664 | Error executing Script: Listenindex überschreitet das Maximum (0)
09.11.2006 20:49:24.250 | ERROR | ExecuteThread ID: 2664 | ScriptError: .currentscript ~ Sender: Execute ~ Result:
09.11.2006 20:49:24.250 | DEBUG | ExecuteThread ID: 2664 | Executed, Ret: -1, Successful:False

Versuche ich dann im Instanzfenster SMSWitch nochmals die Tests aufzurufen, kommt die Meldung „Modem busy“.

Den Befehl den ich absetzte ist ganz simpel:
SMSWitch_SendMessage(15820, „08999xxxxxx“, „SMS Test“);

Weiss jemand Rat?
Johannes

Nur ne Vermutung:
Verwende mal Internationale Nummern, also mit +498999xxxxxx

Wenn das nichts hilft werd ich mich mal todesverachtend in die Quellcode-Abgründe stürzen.

geht denn empfangen? Benutzt du die IPS-Beta?

Toni

Hallo Toni,

danke für deine Antwort. Ich verwende die aktuelle IPSymcon-Version, nicht die Beta.
Eingabe der internationalen Nummer bringt leider auch nicht den gewünschten Erfolg. Empfangen habe ich noch nicht ausprobiert, ich dachte Senden wäre einfacher.
Du entwickelst in Delphi? Dann wird dir www.smslib.org nicht viel helfen. Ich habe damit über ein Consolenprogramm SMS-Versand mit dem SL 55 getestet. Das funktioniert auch, was ich jedoch festgestellt habe, ist dass das SL55 in Kombination mit dem USB-Kabel empfindlich auf die Baudrateneinstellung reagiert. Deshalb teste ich jetzt erst einmal mit 9600 Baud. Geht aber leider auch nicht. Ich habe den Eindruck, dass ein Senden versucht wird, es zu einem Fehler kommt und der Port nicht mehr geschlossen wird.

Gibt es eine Möglichkeit über den IPSDebugger Nachrichten auszugeben, damit man erfährt was innerhalb von SMSWitch passiert?

Viele Grüsse Johannes

Ansich ist die Senden-Funktion mal nachgepflegt worden. Darum kann ich dir da aus dem stehgreif keine Antwort geben was passiert wenn du ein SMSWitch ohne Settings laufen lässt…

Die Library hilft tatsächlich nicht. Ich verwende eine selbstgeschriebene Lib. Aber ich denke der Fehler ist viel banaler - garnicht so tief in den Eingeweiden. Das „Listenindex überschreibt das Maximum (0)“ deutet darauf hin. Es kommt halt nur darauf an, dass ich ihn hier nachstellen kann…

Ich werd mir das heute noch ansehen, wenn ich es zeitlich schaffe.

Hallo Toni,

ich habe einmal das Empfangen getestet. Verstehe ich die Arbeitsweise von SMSWitch richtig, gemäss der Intervall-Eistellung in Global Settings pollt SMSWitch das Handy und sucht nach neuen SMS?

Also wenn eine SMS ankommt, dann sehe ich kurz Signale auf der Datenleitung (TXD und RXD). Die SMS enthält das Prefix und den Event. Der entsprechende Event ist in SMSWitch mit einem zu triggerdem Skript gesetzt, aber das Skript wird nicht getriggert. Vermutlich kommt die SMS an, wird aber nicht ausgewertet. Versuche ich anschliessend die Tests auszuwerte, kommt wieder die Meldung „Modem busy“ und der Handytyp sowie Signalstärke werden nicht mehr angezeigt.

Grüsse Johannes

Genau…

Wenn eine SMS vom modem (also dem Handy) kommt, dann wird als allererstes ein Eintrag im ips-Log geschrieben. Logging eingeschaltet?

Das Script wird offenbar auch angestoßen. Im log schreibst du steht „Executing Script“. Und dabei kommt der Fehler…

Ich bin noch nicht weiter dazu gekommen, sry…

Toni

Meinen recherchen nach ist das Gerät SL55 nicht GSM-kompartibel :o

Nee, spass bei Seite…

Ich konnte den Fehler nicht nachstellen. Aber ich glaube eine Bekannte von mir hat dies Handy… Vielleicht borgt sie es mir ja mal zum testen… Nur für den Fall, dass es tatsächlich am Gerät liegen sollte…

Toni

Hallo Toni,

ich habe schon alles mögliche ausprobiert, Ports rauf und runter, alle Baudraten und die neuste Firmware eingespielt. NADA …
Wenn es hilft, kann ich dir das S55 zur Verfügung stellen… Hatte ich SL55 geschrieben?

Grüsse Johannes

Ähm, an ein S55 komme ich sonst nicht ran…

Wenn du es mir zuschicken magst, könnte ich dir zumindest sagen obs an dem Modul liegt oder an deinem Handy… garantieren kann ich leider nix :frowning:

Toni

Hi,
erst mal super Sache das SMSwitch. :slight_smile:

Ich bin gerade dabei das Ganze mit einem Nokia 5110 auszuprobieren. Aber es will noch nicht so ganz, ich bekomme keine Verbindung zum Handy.

Hat da einer vielleicht schon Erfahrungen gemacht ?

Ich habe es an meinem Com Port angeschlossen, an einem PC mit Windows XP.

Gruß :smiley:

Hallo,
bin gerade dabei ein Nokia 6210 einzubinden. Habe es an einem comport angeschlossen. Mit dem Button Testsettings klappt es, der Button wird grün.Beim zweiten button klappt es leider nicht, bleibt rot. Auch nach mehrmaligen drücken.
Schade komme nicht weiter. Hat schon jemand ein 6210 getestet ?

cu uwe

Hallo,
bin auch gerade dabei ein Nokia Handy einzubinden, ein 6310 mit einem seriellen DLR-3P.

Senden funktioniert super.

Allerdings beim Empfangen bekomme ich überhaupt kein Event getriggert, keinen Log Eintrag einfach keine Reaktion.
Mit PDUSpy konnte ich rauskriegen, dass die SMS auf der SIM Karte gespeichert wird.

Irgendeine Idee weshalb das Empfangen nicht funktioniert?

Grüsse, :slight_smile: