Zurück   IP-Symcon Community Forum > IP-Symcon 1.0 > Archiv > Anleitungen / Nützliche PHP Scripte

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
  #1 (permalink)  
Alt 11.04.05, 20:53
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 3,378
Standard Praxis - E-Mail versenden / SMS aufs Handy

Das folgende Beispiel zeigt, wie man eine E-Mail versendet.

Aufgabe:
Bei Ausfall der Zentralheizung, soll eine Alarmmeldung auf ein Handy geschickt werden.

Lösung:
Im folgenden Skript wird die Vorlauftemperatur einer Zentralheizung überwacht.
Fällt diese während der Heizperiode unter 30°C wird eine E-Mail generiert und an ein Handy versandet.
Das Skript die durch die Variable vom HMS 100 T, der am Vorlauf der Zentralheizung
(mit etwas Wärmeleitpaste) befestigt ist, getriggert.

Vorraussetzung:
Der E-Mail Empfang des Handy muss mit erlaubt sein (bei T-Mobile: SMS Text „OPEN“ an die 8000) und Alias einrichten z.B.: ipsuser@t-mobile-sms.de
Achtung nicht vergessen ein Empfangslimit einzustellen! Die Kosten pro empfangene Mail betragen € 0,19

PHP-Code:
<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
*/
//(C) bY CSS - M&M April 2005
//File: EMail.ips.php
//Trigger: TEMP_Vorlauf
//*** Achtung ***
//Wenn das Script per Execute aus den Event Scripts gestartet wird
//kann ein Script Timeout vorkommen
//Das beeinflusst aber nicht die Funktion im Timer Modus,
//sondern nur die fehlende Ausgabe im "Output" Fenster
//------------------------------------------------------------------------------

//Mail konfiguration
$mailserver "mail.ipsymcon.de";
//Benutzername/Passwort
$username "web123";
$password "pw456";
//Absender
$sendermail "info@ipsymcon.de";
$sendername "IP-SYMCON";
//Empänger
$receivemail "mail@mein-name.de";
$receivename "Martin Mustermannn";
//Betreff
$subject "IPS-ALARM";
//Meldung
$message ="ALARM von IP-Symcon,\r\n\r\n";
$message.="Die Zentralheizung ist ausgefallen.\r\n\r\n";

//Status - Vorlauf Temperatur
$temperatur GetValueFloat("TEMP_Vorlauf");
//Status - Heizung an
$z_heizung GetValueBoolean("OUT_Heizung");
//Letzte aktualisierung Variable "Heizung An"
$wann_an IPS_GetUpdateTime("OUT_Heizung");

//Ist die Heizung an, aber nicht warm > Alarm
//ACHTUNG: Der Heizung noch etwas Zeit (hier 15 Minuten) zum Aufwärmen geben !!
if (($z_heizung == True) && ($temperatur <= 30) && (time() >= $wann_an 60 15)) {

   
//--- Script für Mailversand ---
   //* Keine weitere Konfiguration nötig

   //Klasse für Mailversand importieren
   //(c) by http://phpmailer.sourceforge.net/
   
include("scripts/class.smtp.php");

   
//Object erstellen
   
$mail = new SMTP();

   
//Zum SMTP Server verbinden
   
if(!$mail->Connect($mailserver)) {
       echo 
"Error connecting to MAIL SERVER";
      exit;
   }

   
//Handshake
   
if(!$mail->Hello()) {
       echo 
"Error in HELO";
       exit;
   }

   
//Anmelden
   
if(!$mail->Authenticate($username$password)) {
       echo 
"Error in AUTH";
       exit;
   }

   
//Mail generieren
   
$CRLF "\r\n";
   
$header ="From: \"$sendername\" <$sendermail>".$CRLF;
   
$header.="To: \"$receivename\" <$receivemail>".$CRLF;
   
$header.="Subject: $subject".$CRLF;
   
$header.=$CRLF;

   
//Absender angeben
   
if(!$mail->Mail($sendermail)) {
       echo 
"Sender not Accepted";
   } else {      
//empänger
       
if(!$mail->Recipient($receivemail)) {
         echo 
"Receptor not accepted!";
      } else {
           if(!
$mail->Data($header.$message)) {
                 echo 
"Error Sending MAIL!";
           }
      }
   }

}  
// Heiung-Überwachung

?>
Angehängte Dateien
Dateityp: zip classsmtp.zip (5.8 KB, 523x aufgerufen)

Geändert von steiner (16.08.07 um 15:32 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 14.08.05, 15:19
Benutzerbild von Kappe-Online
Member
 
Registriert seit: Jul 2005
Ort: Obernkirchen
Beiträge: 44
Standard SMS direkt

Zitat:
Zitat von steiner
Hinweis:
Im Mai 2005 wird es für IP-Symcon ein Modul für die Siemens Gigaset Telefone geben,
die dann direkt eine SMS versenden können.
Hallo

Ist das denn jetzt möglich?
Und wenn ja, wie.

Ich besitze Gigaset SX440 + M34 USB-Adapter.

Danke

Gruß, Andreas
Mit Zitat antworten
  #3 (permalink)  
Alt 20.08.05, 09:51
Benutzerbild von Kappe-Online
Member
 
Registriert seit: Jul 2005
Ort: Obernkirchen
Beiträge: 44
Standard

Kein Tipp?

Dann geht´s wohl nicht? SMS über´s Festnetz

Geändert von Kappe-Online (20.08.05 um 09:56 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 21.08.05, 10:15
Benutzerbild von paresy
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 6,370
Arrow

Es ist möglich. Jedoch kostet eine SMS über das Festnetz mehr als, wenn man eine SMS über das Internet verschickt. Wir wägen deshalb zur Zeit ab, ob es Sinn macht diese Möglichkeit anzubieten.

Grüße, paresy
Mit Zitat antworten
  #5 (permalink)  
Alt 21.08.05, 11:32
Benutzerbild von Kappe-Online
Member
 
Registriert seit: Jul 2005
Ort: Obernkirchen
Beiträge: 44
Standard SMS als Problemmeldung

Zitat:
Zitat von paresy
Es ist möglich. Jedoch kostet eine SMS über das Festnetz mehr als, wenn man eine SMS über das Internet verschickt. Wir wägen deshalb zur Zeit ab, ob es Sinn macht diese Möglichkeit anzubieten.

Grüße, paresy
Ja, das stimmt sicherlich.
Mir kommt´s darauf an, daß mir eine Störung, hoffentlich sehr selten bis gar nicht, sicher gemeldet wird und dabei kommt es nicht darauf an wieviel eine SMS kostet, sondern das es funktioniert.
Die Erfahrung der vergangenen Jahre hat gezeigt, das der direkte Weg immer der ist, der am besten funktioniert. Entweder über´n Modemzugang oder jetzt über´s Festnetz. Der Umweg über´s Internet hat bisher immer zu Verzögerungen in der Übertragung geführt. Obwohl, ich bin Kunde bei Strato und der UMS-Dienst funktioniert ziemlich gut. Dazu kommt noch, daß ich bisher ´ne höhere Verfügbarkeit vom ISDN als vom DSL hatte.
Wenn der Provider die Übertragung aus technischen Gründen verzögert, hat man sowieso Pech gehabt, da hilft nur ein professioneller Dienst.
Ich würde es begrüßen wenn ich T-COM SMS im Festnetz benutzen könnte, wem´s zu teuer ist weil er, warum auch immer, viele SMSn verschicken möchte, der kann ja einen anderen Weg gehen.

Gruß, Andreas
Mit Zitat antworten
  #6 (permalink)  
Alt 21.08.05, 11:43
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 3,378
Standard

Hallo Andreas

Du hast vollkommen Recht, dass das HMS System & IP-Symcon bei Feuer, Einbruch usw. zuverlässig die Alarm-Meldung übermitteln muss und dass hier nicht an der falschen Seite gespart werden soll.
Wir werden kurzfristig eine Lösung bereitstellen.

Gruß MST
Mit Zitat antworten
  #7 (permalink)  
Alt 21.08.05, 12:55
Junior Member
 
Registriert seit: Aug 2005
Beiträge: 13
Standard SMS im Festnetz

Hallo Kappe_Online, Hallo Steiner,

ich hatte das Problem hier gesehen und habe gestern mal was mit
dem T-Online Programm versucht.
Folgende "Quick and dirty"- Lösung ließ sich ohne großen Aufwand
realisieren:

VORBEREITUNGEN:
- ISDN Anschluß mit CAPI 2.0 muß vorhanden sein
- Das Programm "T-Com MMS" muss ständig auf dem IPS Rechner laufen,
es muss bereits konfiguriert sein.
- Download unter:
http://www.telekom.de/etelco/downloa...1373-1,00.html
- sollte man testen und per Hand schon mal SMSe verschicken können

Um die Eingaben automatisieren zu können habe ich ein Tool in Delphi geschrieben, das die Tastertur Codes an T-Com MMS schickt.

- Das Tool "sendsms.exe" muss in dem festzulegenden Pfad liegen.
z.B. "C:/Dokumente und Einstellungen/der User/SMS/";
- Das Programm "T-Com MMS" muß zu laden von Entwürfen auch
auf diesen Pfad eingestellt werden
.
Dazu mit "Datei/Neue SMS" Button "Entwurf laden" einmal im Dateiselktor
eine Datei im festgelegten Pfad laden.
SMS-DATEI:
- Im Prinzip sendet das "sendsms.exe" die notwendigen Tastendrücke
an das "T-Com MMS" Programm um eine SMS zu verschicken.
Dazu liest es die Textdatei mit dem Namen "neu.sms" ein,
erzeugt temporär für "T-Com MMS" einen SMS-Entwurf und
sendet dann die Tastendrücke zum verschicken der SMS.
- Die SMS-Datei muß in der ersten Zeile die Telefonmummer enthalten,
sonst nichts in der ersten Zeile.
- Danach kommen Zeilen mit dem SMS-Inhalt.
DAS-TOOL siehe Anhang
- das Progrämmchen "sendsms.exe" ist ohne alle Absicherungen, das heißt, es wird nicht geprüft ob die sms-Datei existiert, die SMS-Länge (max 160 Zeichen) wird nicht geprüft. Es läuft ein kleiner Counter von 0 bis 10, ab 5
wird die SMS Übertragen sodass man in der Testphase per "Abbruch" evtl. den Versand noch abbrechen kann. Wegen der Verzögerung tritt allerdings ein
"Script Queue Timeout" auf. Was aber weiter nicht stört.

Beispiel Script: Siehe Anhang
PHP-Code:
?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
*/

//File: sendsms.ips.php

// "quick and dirty" Lösung !!
// um mit dem T-Com Programm "T-Com MMS" SMSe zu versenden.
// VORBEREITUNGEN:
// - Das Programm "T-Com MMS" muss auf dem IPS Rechner laufen,
//   es muss bereits konfiguriert sein.
// - Download:
//   http://www.telekom.de/etelco/downloads_navi/1,18139,979_1373-1,00.html
// - Das Tool "sendsms.exe"  muss in dem festzulegenden Pfad liegen.
//   z.B. "C:/Dokumente und Einstellungen/der User/SMS/";
// - Das Programm "T-Com MMS" muß zu laden von Entwürfen auch
//   auf diesen Pfad eingestellt werden.
//   Mit "Datei/Neue SMS" Button "Entwurf laden" einmal im Dateiselktor eine
//   Datei im festgelegten Pfad laden.
// SMS-DATEI:
// - Im Prinzip sendet das "sendsms.exe" die notwendigen Tastendrücke
//   an das "T-Com MMS" Programm um eine SMS zu verschicken.
//   Dazu liest es die Textdatei mit dem Namen "neu.sms" ein,
//   erzeugt temporär für "T-Com MMS" einen SMS-Entwurf und
//   sendet dann die Tastendrücke zum verschicken der SMS.
// - Die SMS-Datei muß in der ersten Zeile die Telefonmummer enthalten,
//   sonst nichts in der ersten Zeile.
// - Danach kommen Zeilen mit dem SMS-Inhalt.
// DAS-TOOL
// - das Progrämmchen "sendsms.exe" ist ohne alle

// eingerichteter Pfad z.B.
$path "C:/Dokumente und Einstellungen/der User/SMS/";
// die Telefonnummer ohne Leerzeichen oder Binde- bzw. Schrägstriche
$telnr '01701234567';

// Nachricht erzeugen
$smsmessage 'test: '.date("j M Y - H:i:s");



// und dann versenden
           
$dir getcwd();   // aktuellen Pfad merken
           // zu SMS pfad wechseln
           
chdir($path );
           
// die datei für neue SMS erzeugen
           // !! Der Dateiname darf nicht geändert werden
           // sendsms.exe liest nur die Datei mit diesem Naemn ein
           
$fh fopen('neu.sms','w');

           
fwrite($fh,$telnr);  // erste Zeile mit Telefonnummer schreiben
           
fwrite($fh,"\n");

           
fwrite($fh,$smsmessage); // die Nachricht schreiben
           
fclose($fh);
           
// sendsms-tool aufrufen
           
exec("sendsms.exe");
           
// zurück zum aktuellen Pfad
           
chdir($dir);


?> 

An das Auswerten der empfangenen SMS-im-Festnetz über dieses "T-Com MMS" werde ich mich in den nächsten Tagen versuchen. Wie ich gesehen habe ist das Datenbank Format simpel und sollte sich per PHP auswerten lassen.

Ich hoffe, daß das bei euch auch so problemlos läuft wie bei mir (getestet unter XP-Pro und WIN2000).

Gruß Stefan
Angehängte Dateien
Dateityp: zip SENDSMS.zip (218.3 KB, 184x aufgerufen)
Dateityp: zip sendsms.ips.zip (1.2 KB, 155x aufgerufen)
Mit Zitat antworten
  #8 (permalink)  
Alt 01.01.06, 20:43
Senior Member
 
Registriert seit: Dec 2005
Ort: Saarland
Beiträge: 233
Standard SMS Gateway

Hallo,

als SMS Gateway kann ich http://www.clickatell.com/.

Die bieten vielen Schnittstellen auch ein COM Objekt inkl. Logging etc.

Läuft bei mir seit 2 Jahre sehr zuverlässig.

Gruss Jürgen
Mit Zitat antworten
  #9 (permalink)  
Alt 02.01.06, 18:05
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 3,378
Standard

Hallo Jürgen,
was kostet eine SMS aufs Handy (T-Com: 15 Cent) bei Clickatell - 4,4 Cent?
Und hast Du schon eine aus IP-Symcon heraus gesendet?
Das „Com Object“ scheint recht komplex zu sein.

Gruß MST
Mit Zitat antworten
  #10 (permalink)  
Alt 02.01.06, 18:38
Senior Member
 
Registriert seit: Dec 2005
Ort: Saarland
Beiträge: 233
Standard SMS versenden

Zitat:
Zitat von steiner
Hallo Jürgen,
was kostet eine SMS aufs Handy (T-Com: 15 Cent) bei Clickatell - 4,4 Cent?
Und hast Du schon eine aus IP-Symcon heraus gesendet?
Das „Com Object“ scheint recht komplex zu sein.

Gruß MST
Hallo,

ja um aus IPS zusenden nutze ich die Email Schnittstelle (Stukturierte EMail).

Es gibt auch ein PHP Script http://www.clickatell.com/brochure/sms_scripts.php

Für das Com Object gibt es eine gute Doku und Beispiel Code..Ist für mich einfacher als PHP.

Achtung die 4,4 Cent sind pro "Credit" für eine SMS an D1 oder D2

zahlt man 2 Credits --> 4,4 x 2x Credits = 8,8 Cent.

http://www.clickatell.com/brochure/c...ntry_id=96&mo=

Gruss

Jürgen
Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an



Alle Zeitangaben in WEZ +1. Es ist jetzt 16:16 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.6.0