Zurück   IP-Symcon Community Forum > IP-Symcon 2.x > Anleitungen / Nützliche PHP Skripte

Antwort
 
LinkBack Themen-Optionen Thema durchsuchen
  #1 (permalink)  
Alt 01.11.08, 15:32
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 3,387
Lightbulb Wetterwarnung

... ein "IPS-Klassiker" im neuen Gewand:

PHP-Code:
//Einstellungen in px - Oben-Links ist 0,0
$homeX 250;     // 250
$homeY 140;     // 140
$homeRadius 15;

$remoteImage "http://www.dwd.de/bvbw/portlets/WarnPortlet/jsp/getwarningmaps.jsp?src=SG_x_x_0.gif&mimeType=image/gif";
$localImage IPS_GetKernelDir()."\\media\\unwetter.gif";
$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);

$warnung[4] = imagecolorresolve  ($im1750100);  // dunkel rot
$warnung[3] = imagecolorresolve  ($im2552550);  // rot
$warnung[2] = imagecolorresolve  ($im250,  1500); // orang
$warnung[1] = imagecolorresolve  ($im255,  2550); // gelb

//Pixel durchgehen
$warnstufe 0;
for(
$x=$homeX-$homeRadius$x<=$homeX+$homeRadius$x++) {
   for(
$y=$homeY-$homeRadius$y<=$homeY+$homeRadius$y++) {
      
$found array_search(imagecolorat($im$x$y), $warnung);
      if(!(
$found === FALSE)) {
         
$warnstufe+=$found;
      }
   }
}
SetValue(40729 /*[Wetter\Unwetterwarnung]*/$warnstufe);    

// Bereich zeichnen
$schwarz ImageColorAllocate ($im000);
$rot ImageColorAllocate ($im25500);
imagerectangle($im$homeX-$homeRadius$homeY-$homeRadius$homeX+$homeRadius$homeY+$homeRadius$rot);
imagesetpixel($im$homeX$homeY$rot);
imagegif($im$localImage);
imagedestroy($im);

echo 
"Unwetter: $warnstufe\r\n";

if (
$warnstufe 100){

// ALARM


MST
Miniaturansicht angehängter Grafiken
unwetter.gif  
Mit Zitat antworten
  #2 (permalink)  
Alt 02.11.08, 06:51
Senior Member
 
Registriert seit: Jul 2007
Beiträge: 403
Standard

Hallo Steiner,

schön gemacht. Evtl. geht es aber auch einfacher. Über die Seite Warntabelle kann man direkt kontrollieren, ob der betreffende Landkreis vorhanden ist und falls ja, dann kann auch gleich der Grund für die Warnung mit eingelesen werden.

Ich wünsche einen schönen Tag.

Christoph.
Mit Zitat antworten
  #3 (permalink)  
Alt 02.11.08, 08:20
Administrator
 
Registriert seit: Feb 2005
Ort: Sarkwitz
Beiträge: 3,387
Standard

Hallo Christoph,

manchmal sieht man die Bits vor lauter Bytes nicht
Danke für den Hinweis.
So wird ein Schuh draus - Siehe Bild und hier
Das passende Skript:
PHP-Code:
$warnung GetValue(52760 /*[Wetter\Wetter Warnung]*/);
//echo "Warnung: $warnung\n";

$pos strpos($warnung"keine Warnung");
if (
$pos === False){

    echo 
"Wetter - ALARM";


MST
Miniaturansicht angehängter Grafiken
add_rule.png  

Geändert von steiner (02.11.08 um 08:31 Uhr)
Mit Zitat antworten
  #4 (permalink)  
Alt 25.01.09, 11:13
Benutzerbild von ewo
ewo ewo ist offline
Member
 
Registriert seit: Oct 2006
Ort: Kressbronn
Beiträge: 43
Standard

wie bekommt man das denn für die Region BadenWürttemberg hin

Gruß Ewald
__________________
____________________________
Wago 750-841, (50DO, 66DI)
IrTrans, FS 20 und natürlich IPS
____________________________
Mit Zitat antworten
  #5 (permalink)  
Alt 25.01.09, 13:19
Member
 
Registriert seit: Oct 2006
Beiträge: 36
Standard

http://www.dwd.de/bvbw/portlets/Warn...Type=image/gif

und im Script Rot auf 255,0,0 ändern hatten gestern eine Rote Warnung und zeigte sie falsch an.

Gruß Michi
Mit Zitat antworten
  #6 (permalink)  
Alt 25.01.09, 18:34
Benutzerbild von ewo
ewo ewo ist offline
Member
 
Registriert seit: Oct 2006
Ort: Kressbronn
Beiträge: 43
Standard

Danke Michi für die Hilfe !

Gruß Ewald
__________________
____________________________
Wago 750-841, (50DO, 66DI)
IrTrans, FS 20 und natürlich IPS
____________________________
Mit Zitat antworten
  #7 (permalink)  
Alt 25.01.09, 18:56
Member
 
Registriert seit: Jan 2009
Beiträge: 75
Standard

Zitat:
Über die Seite Warntabelle kann man direkt kontrollieren,......... Grund für die Warnung mit eingelesen werden.
Zitat:
wie bekommt man das denn für die Region BadenWürttemberg hin

Wie bekommt man das überhaupt hin?
Welches der beiden Scripte ist denn das bessere?
Die Seite "[Exercise] TextParser" habe ich gelesen und getestet, hat auch fuktioniert. Nur diesesmal klappt es nicht.

Gibt es eine Anleitung für Anfänger, so Schritt für Schritt?

Gruß
K.-H.
Mit Zitat antworten
  #8 (permalink)  
Alt 26.01.09, 12:17
Benutzerbild von agotthold
Senior Member
 
Registriert seit: Feb 2006
Ort: Hannover
Beiträge: 258
Standard

Ich löse das Problem direkt im Designer.
Habe ein Web eingebettet, und den link zu meiner regionalen Wetterwarnung hinterlegt.

http://www.dwd.de/bvbw/portlets/Warn...de#WS_ANCHOR_0
Mit Zitat antworten
  #9 (permalink)  
Alt 11.04.09, 18:15
Junior Member
 
Registriert seit: Apr 2007
Beiträge: 28
Standard

Der "Kassiker" gibt bei mir folgende Fehlermeldung aus:

"Fatal error: Call to undefined function ImageCreateFromGIF() in [www Reader\DWD\Wetterwarnung] on line 25"

Was mache ich falsch?
Mit Zitat antworten
  #10 (permalink)  
Alt 11.04.09, 18:27
Benutzerbild von Horst
WebFront Developer
 
Registriert seit: Aug 2008
Ort: Sereetz
Beiträge: 1,641
Standard

Du musst noch die php_gd2.dll in Deiner php.ini mit einladen.
__________________
Horst
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 08:56 Uhr.


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