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 22.08.06, 20:11
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 3,378
Lightbulb IP-Symcon-Unwetterzentrale

Für alle, die keinen FS20-Regenmelder haben, aber dennoch nicht im Regen stehen wollen,
hier der ultimative Tipp: die IP-Symcon-Unwetterzentrale

Es müssen lediglich die Koordinaten angepaßt werden. Dazu wird das Radar-Bild über die
Zwischenablage in z.B. „Paint“ kopiert und die X-Y- Koordinaten (mit dem Mauszeiger)
über dem Heimatort ablesen und in das Skript ($homeX, $homeY) übernehmen (Oben-Links ist 0,0).

Da nicht alle IP-Symcon-User im schönen Schleswig-Holstein wohnen, müssen die
z.B. die Bayern darauf achten: „dbay“ satt „dsch“ in „$remoteImage = "http:...“ einzutragen (verschiedene Regionen).

Was macht das Skript?

Im Regenradar von „Wetteronline“ werden Pixels in einem bestimmten Bereich mit der
Funktion: „ImageColorAt“ auf ihen Farbwert hin verglichen.
Nähert sich eine Regenwolke dem „Zielgebiet“, so wird Alarm ausgelöst.
- Es wird keine Haftung übernommen –

MST

PHP-Code:
<?
/*
*******************************
 IP-SYMCON Event Scripting
*******************************
File     : UnwetterZentrale.ips.php
Trigger  : 
Interval : 
*/

//Einstellungen in px

$homeX 324;
$homeY 179;
$homeRadius 10;

//Zum testen der X,Y,Radion Angaben auf true setzen und Bild hinerher angucken
$debugFalse;
//$debug = True;

//Auf 15 Minuten Takt Synchronisieren

$offset = (integer)date("s") + ((integer)date("i") % 15) * 60;

if(
$offset != 0) {
   
IPS_SetScriptTimer("UnwetterZentrale",900 $offset);
} else {
    
IPS_SetScriptTimer("UnwetterZentrale",900);
}

//Zeit berechnen

$minute=Floor(date("i") / 15) * 15 30;
$dateline=mktime(date("H"), $minute0date("m"), date("d"), date("y"));

$year=gmdate("Y"$dateline);
$month=gmdate("m"$dateline);
$day=gmdate("d"$dateline);
$time=gmdate("Hi"$dateline);

$remoteImage "http://www.wetteronline.de/daten/radar/dsch/$year/$month/$day/$time.gif";
$localImage IPS_GetKernelDir()."\\radar.gif";

//Radarbild Downloaden

$remoteFile fopen("$remoteImage",'rb');
$localFile fopen($localImage,'wb');

if(!
$remoteFile || !$localFile) {
   exit; 
//Error erzeugen!
}

while (!
feof($remoteFile)) {

  
$chunk fread($remoteFile,1024);

  
fwrite($localFile,$chunk);

}

fclose($localFile);
fclose($remoteFile);

//Radarbild auswerten

$im ImageCreateFromGIF ($localImage);

//Stärken

$regen[6] = imagecolorresolve  ($im255,   0255);
$regen[5] = imagecolorresolve  ($im153,  51153);
$regen[4] = imagecolorresolve  ($im,  28,  126217);
$regen[3] = imagecolorresolve  ($im,  42,  170255);
$regen[2] = imagecolorresolve  ($im,  83,  210255);
$regen[1] = imagecolorresolve  ($im170,  255255);

//Pixel durchgehen

$regenmenge 0;

for(
$x=$homeX-$homeRadius$x<=$homeX+$homeRadius$x++) {

   for(
$y=$homeY-$homeRadius$y<=$homeY+$homeRadius$y++) {

      
$found array_search(imagecolorat($im$x$y), $regen);

      if(!(
$found === FALSE)) {

         
$regenmenge+=$found;

      }
   }
}


//Im DebugModus Rechteck einzeichnen

if($debug) {

   
$schwarz ImageColorAllocate ($im000);

   
$rot ImageColorAllocate ($im25500);

   
imagefilledrectangle($im$homeX-$homeRadius$homeY-$homeRadius$homeX+$homeRadius$homeY+$homeRadius$schwarz);
   
imagesetpixel($im$homeX$homeY$rot);
   
imagegif($im$localImage);
 }

imagedestroy($im);
//Regenmenge der jeweiligen Stärken im Radius aufsummiert
echo $regenmenge;
if (
$regenmenge >= 50) {
   
// include(IPS_GetScriptFile("Doorbell")); // DingDong-Sound
   
DXMedia_Open(62704"d:/daten/sounds/regenradar.wav");
   
DXMedia_SetVolume(62704100);
   
DXMedia_Play(62704);
}
?>
Voraussetzung:

"php_gd2.dll" - Download: GidF.de, da wechselnde Links

... und einen Eintrag in die PHP.ini:
PHP-Code:
.
.
.
extension_dir "D:\Source\IPSExport\"
max_execution_time = 150
extension = "
php_gd2.dll"
.
.

Anlage: Sound-Datei
Miniaturansicht angehängter Grafiken
radar_wetteronline.jpg  
Angehängte Dateien
Dateityp: zip regenradar.zip (31.4 KB, 367x aufgerufen)

Geändert von steiner (09.07.09 um 15:08 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 22.08.06, 20:21
Benutzerbild von guyabano
Senior Member
 
Registriert seit: Nov 2005
Ort: Luxemburg
Beiträge: 2,733
Standard

Ich werde da mal versuchen, sieht gut aus.

Ich habe nur einfach dieses Bild bei mir in Designer eingebaut. Ich brauch kein Quadrat da die Millionen Weltstadt Luxemburg leicht zu finden ist, nicht?
Nur dieses "Start" stört ein wenig.



Zitat:
Was macht das Skript?

Im Regenradar von „Wetteronline“ werden Pixels in einem bestimmten Bereich mit der
Funktion: „ImageColorAt“ auf ihen Farbwert hin verglichen.
Nähert sich eine Regenwolke dem „Zielgebiet“, so wird Alarm ausgelöst.
Das ist zwar super, nur gibt der Designer keine Töne von sich !

mfG Franz
__________________



11x HMS TF - 1x HMS T - 3x FHZ WLAN - 11x FHT80+TF - 4x FS20RST EcoRoll - 1x FS20SIG - 1x Comfort Comfort-Programmiergerät CRSZ-00/01 - 1x USB PC-Schnittstelle CKOZ-00/03 - 3x Dimmer CDAU-01/02 - 7x BIN 230VAC Eingang CBEU-02/01 - 6x Schaltaktor CSAU-01/01 - 1x Analog-Aktor 1-10V CAAE-01/02 - 5x Wandsender CTAA-02/02
Mit Zitat antworten
  #3 (permalink)  
Alt 22.08.06, 20:27
Benutzerbild von Torro
Senior Member
 
Registriert seit: May 2005
Ort: Leipzig
Beiträge: 3,963
Standard

Hallo,

also nachdem ich ja jetzt vergangene Woche im Garten geschuftet habe und es immer wieder regnete, habe ich festgestellt, dass man sich auf die Karte absolut nicht verlassen kann. Das ist einfach viel zu grob. Ca. 10 km entfernt war Sonnenschein, bei mir hats geregnet. Dann gabs Zeiten, da war es gerade andersherum. Ich will damit sagen, dass es in der letzten Zeit sogenannte Regenstreifen oder wie man das auch immer nennt, gibt. Und genau das kann die Karte nicht darstellen - leider. Deshalb konnte ich meine Bauplanung auch nicht auf das Wetter Radar des Niederschlages abstimmen, es stimmte einfach meistens nicht.

Konsequenz: Ich warte auf den selbstkalibrierenden 1-Wire Regenmelder, das duerfte ja nicht mehr lange dauern. Dann habe ich zumindest einen richtigen Wert, ob es regnet oder nicht.


Gruss Torro
Mit Zitat antworten
  #4 (permalink)  
Alt 22.08.06, 20:38
Benutzerbild von guyabano
Senior Member
 
Registriert seit: Nov 2005
Ort: Luxemburg
Beiträge: 2,733
Standard

Ahem, sowieso gibt diese Karte meiner Meinung nach nicht den Niederschlag wieder. Ich bin mir da eher sicher, dass diese Karte Regen-geladene Wolken wiedergibt die gerade vorbeiziehen. Ob die sich dann ergiessen ist 'ne andere Sache.

Torro, der 1-Wire Regensensor wird dir nur sagen "Es regnet jetzt" aber er wird dir nicht sagen "Es wird wahrscheinlich Regen geben"

mfG Franz
__________________



11x HMS TF - 1x HMS T - 3x FHZ WLAN - 11x FHT80+TF - 4x FS20RST EcoRoll - 1x FS20SIG - 1x Comfort Comfort-Programmiergerät CRSZ-00/01 - 1x USB PC-Schnittstelle CKOZ-00/03 - 3x Dimmer CDAU-01/02 - 7x BIN 230VAC Eingang CBEU-02/01 - 6x Schaltaktor CSAU-01/01 - 1x Analog-Aktor 1-10V CAAE-01/02 - 5x Wandsender CTAA-02/02
Mit Zitat antworten
  #5 (permalink)  
Alt 22.08.06, 20:42
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 3,378
Standard

dies hat nichts mir dem Designer oder 1Wire zu tun!
Der Witz hierbei ist, dass man vor dem Regenschauer eine Meldung bekommt.
Bei mir funktioniert es zuverlässig. Es reicht aus, um ein Velux-Fenster zu schließen
oder die Gartenauflagen rein zu nehmen.

MST
Mit Zitat antworten
  #6 (permalink)  
Alt 22.08.06, 20:49
Benutzerbild von guyabano
Senior Member
 
Registriert seit: Nov 2005
Ort: Luxemburg
Beiträge: 2,733
Standard

Zitat:
Zitat von steiner
dies hat nichts mir dem Designer oder 1Wire zu tun!
Der Witz hierbei ist, dass man vor dem Regenschauer eine Meldung bekommt.
Bei mir funktioniert es zuverlässig. Es reicht aus, um ein Velux-Fenster zu schließen
oder die Gartenauflagen rein zu nehmen.

MST
Sicher, aber Torro hat schon irgendwo recht. Wenn eine Regenwolke vorbei zieht, muss es nocht nicht unbedingt regnen. Des weiteren würde ich schon sagen, es könnte was mit dem Designer zu tun, denn mein IPS Rechner steht irgendwo in einer Ecke, wo nicht andernd einer vorbei läuft und irgendeine WAV-Datei hört.
Da wäre ein "Biepen" im Designer schon hilfreich, denn da laufen bei mir andauernd Leute vorbei.

Trotzdem, Super Skript. Jetzt habe ich wieder was zum Spielen und zum Lernen um meine PHP vorwärts zu bringen. Danke

mfG Franz
__________________



11x HMS TF - 1x HMS T - 3x FHZ WLAN - 11x FHT80+TF - 4x FS20RST EcoRoll - 1x FS20SIG - 1x Comfort Comfort-Programmiergerät CRSZ-00/01 - 1x USB PC-Schnittstelle CKOZ-00/03 - 3x Dimmer CDAU-01/02 - 7x BIN 230VAC Eingang CBEU-02/01 - 6x Schaltaktor CSAU-01/01 - 1x Analog-Aktor 1-10V CAAE-01/02 - 5x Wandsender CTAA-02/02
Mit Zitat antworten
  #7 (permalink)  
Alt 22.08.06, 20:53
Benutzerbild von GGGss
Senior Member
 
Registriert seit: Jul 2005
Ort: Roeselare - Belgium
Beiträge: 1,359
Standard

Franz seine beitrage-counter bleibt stehen auf 999
Er ist anscheinend in die IPS aktions-woche einbegriffe (999,-)
Mit Zitat antworten
  #8 (permalink)  
Alt 22.08.06, 20:53
Benutzerbild von Torro
Senior Member
 
Registriert seit: May 2005
Ort: Leipzig
Beiträge: 3,963
Standard

Hallo steiner,

Zitat:
Zitat von steiner
dies hat nichts mir dem Designer oder 1Wire zu tun!
Der Witz hierbei ist, dass man vor dem Regenschauer eine Meldung bekommt.
Bei mir funktioniert es zuverlässig. Es reicht aus, um ein Velux-Fenster zu schließen
oder die Gartenauflagen rein zu nehmen.

MST
tja, heute wieder bei uns das beste "Negativbeispiel": keine Regenwolke, aber es hat beim Betongiessen geregnet. Das hat vielleicht gepanscht dabei. Leider kann man da nicht den Fahrer ne halbe Stunde stehen lassen, bis es aufhoert. Und ich hatte extra vorher nochmal geschaut und es war nix von irgendwelchen Regenwolken (bzw. diese blauen pixel) zu sehen....

Aber wenn es bei Dir klappt, liegt das eher an der Flachheit des Gelaendes. Ich fuerchte, durch Becken, Taeler und Berge laesst sich das Niederschlagsgebiet leider eben nicht so genau vorhersagen.

Gruss Torro
Mit Zitat antworten
  #9 (permalink)  
Alt 22.08.06, 20:59
Benutzerbild von guyabano
Senior Member
 
Registriert seit: Nov 2005
Ort: Luxemburg
Beiträge: 2,733
Standard

hmm, werden diese Daten nicht von Doppler-Radaren geliefert? Hier handelt es sich nicht um Berechnungen !

mfG Franz
__________________



11x HMS TF - 1x HMS T - 3x FHZ WLAN - 11x FHT80+TF - 4x FS20RST EcoRoll - 1x FS20SIG - 1x Comfort Comfort-Programmiergerät CRSZ-00/01 - 1x USB PC-Schnittstelle CKOZ-00/03 - 3x Dimmer CDAU-01/02 - 7x BIN 230VAC Eingang CBEU-02/01 - 6x Schaltaktor CSAU-01/01 - 1x Analog-Aktor 1-10V CAAE-01/02 - 5x Wandsender CTAA-02/02
Mit Zitat antworten
  #10 (permalink)  
Alt 22.08.06, 20:59
Benutzerbild von GGGss
Senior Member
 
Registriert seit: Jul 2005
Ort: Roeselare - Belgium
Beiträge: 1,359
Standard

Jetzt hat's sich geändert ...
hihi -> jetzt kostet er mehr
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


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
ip Symcon Designer bmwm3 Allgemeine Diskussion 24 03.08.06 21:21
Was ich bis jetzt realisiert habe mit IPS SYMCON guyabano Ideen & Anregungen 17 04.01.06 19:47
Umstieg Contronics -> IP Symcon kallewirsch Allgemeine Diskussion 1 18.12.05 19:00
Frage an SYMCON guyabano Allgemeine Diskussion 7 19.11.05 22:42
IP Symcon Update Udo Kralitschek Allgemeine Diskussion 2 08.10.05 19:53


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


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