Temperaturtendenz

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

Antworten
Klaus Grube

Temperaturtendenz

Beitrag von Klaus Grube »

Hallo ich habe gesehen das in der Orginaldatei current.html unter Luftdruck - aktueller Wert noch zusetzlich eine Tendenzanzeige gibt die mittels gelben Pfeil anzeigt ob der Druck fällt oder Steigt.

Die variable dazu finde ich leider nicht.

Ich hätte gerne sowas ähnliches aber auch mit der Temperatur ermöglicht. Dabei ist es egal ob ein Pfeil als Image oder "text" in Form von 0 oder 1 oder was auch immer ausggeben wird.

Gruß Klaus
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo,
Die variable dazu finde ich leider nicht.
%ws_baro_icon%
Du solltest dazu aber evtl auch meine Hinweise lesen bei
http://faqvar.wernerneudeck.de/
und dort bei "Variable zur Text- und Bildausgabe"
Übrigens:
Alle Variablen sind in der ws_variables.txt im Programmverzeichnis aufgeführt.
Klaus Grube

Beitrag von Klaus Grube »

weneu hat geschrieben:Hallo,
Die variable dazu finde ich leider nicht.
%ws_baro_icon%
Du solltest dazu aber evtl auch meine Hinweise lesen bei
http://faqvar.wernerneudeck.de/
und dort bei "Variable zur Text- und Bildausgabe"
Übrigens:
Alle Variablen sind in der ws_variables.txt im Programmverzeichnis aufgeführt.
Danke Werner,
Teils war mir das bekannt. Trotzdem finde ich trotz deiner Tips auf deiner Seitekeine Lösung für eine Temperatur-Tendenz.
Auch die hier im Forum eingetragenen Beiträge bringen mich nicht wirklich weiter. Das Variablenmit einander z.B. Zeit kombinierbar ist habe ich schon verstanden. Nur ich arbeite leider mit einen Aussentemperaturfühler. Ichhabe mir sogar ein Script geschrieben womit ich alle bekannten %variablen% auslesen kann. auch hier war nichts plausibles für mich zu erkennen.
Ein Ansatz wäre schön...
Klaus
Benutzeravatar
Sprite01
Beiträge: 890
Registriert: 06 Sep 2006 16:34
Wohnort: Dessau
Hat sich bedankt: 3 mal
Kontaktdaten:

Beitrag von Sprite01 »

PHP eine Lösung ?
Ich rechne die aktuelle Temperatur - Temperatur vor einer Stunde =

wenn negativ zeige Pfeil_down;
else
...

:D
Grüße aus Dessau (Stadt Dessau-Roßlau)

Dirk
http://www.Regionalwetter-SA.de
http://www.DessauWetter.de
Bild
Klaus Grube

Beitrag von Klaus Grube »

Sprite01 hat geschrieben:PHP eine Lösung ?
Ich rechne die aktuelle Temperatur - Temperatur vor einer Stunde =

wenn negativ zeige Pfeil_down;
else
...

:D
Hallo spirit mit php kann ich gut umgehen. Nur welche %variable% benutzt du.
Ich kenne eine Variable mit dem Ergebnis z.b "+ 2,7 C" . Damit kann man nicht wirklich rechnen. bzw ich müsste die Variable zerbröseln.

Die aktuelle Temperatur-Variable habe. Doch wie kommst du an die
Variable bzw. den Temperatur-Wert vorder aktuellen Zeit?
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo,
vor der aktuellen Zeit?
Das Zauberwort ist
%curminmaxhour[a,h,x]%
Auch hier möchte ich auf die von mir bereits genannte ws_variables.txt verweisen, da hier einige wesentliche Dinge dazu gesagt werden, die man beachten muss.
Aber vielleicht ist Dirk ja so lieb und präsentiert Dir gleich sein Variablenkonstrukt :D
Klaus Grube

Beitrag von Klaus Grube »

weneu hat geschrieben:Hallo,
vor der aktuellen Zeit?
Das Zauberwort ist
%curminmaxhour[a,h,x]%
Auch hier möchte ich auf die von mir bereits genannte ws_variables.txt verweisen, da hier einige wesentliche Dinge dazu gesagt werden, die man beachten muss.
Aber vielleicht ist Dirk ja so lieb und präsentiert Dir gleich sein Variablenkonstrukt :D
Danke Werner ich werde mich Morgen mit dieser Varible genauer auseinander setzten.

Bei phpkommt es darauf an was in der Variable drin steht um damit zu
rechnen. Steht in der variablen z.B. 2,7 °C ist das zum Berechnen nicht
zu gebrauchen. Besser wäre "2.7" (Man beachte den Punkt :D ) .
Dann könnte ich über eine simple if-Abfrage die Auswertung dazu machen.
Es kommt immer auf den Variableninhalt an. Als Ergebnis willich nicht die Temp-Differenz als Zahl haben sondern
Tendenz:
  • - Temp. steigend,
    - Temp. fallend
    - Temp. gleichbleibend
Vereinfacht
if ($temp_aktuell - $Temp_vor_10min) {
echo "Temp.steigt";}else{
echo "Temp. gleichbleibend";}

Gruß Klaus
Benutzeravatar
Werner
Site Admin
Beiträge: 6091
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 145 mal
Kontaktdaten:

Beitrag von Werner »

Hallo,

nun wie wäre es mit
Trend %ws_trend[x]% x = -1..46 0=gleichbleibend, 1=steigt, -1=fällt

oder als Bettlektüre
http://www.pc-wetterstation.de/wetter/vergleich.html


Werner
Zuletzt geändert von Werner am 11 Mär 2012 16:20, insgesamt 1-mal geändert.
Benutzeravatar
Sprite01
Beiträge: 890
Registriert: 06 Sep 2006 16:34
Wohnort: Dessau
Hat sich bedankt: 3 mal
Kontaktdaten:

Beitrag von Sprite01 »

Ein paar Variablen aus der von Werner genannten Textdatei.

%curminmaxhour[0,1,0]% - Temperatur vor einer Stunde
%curval[0]% - aktuelle Temperatur

%alwaysseppoint_on% - Immer Punkt als "Dezimaltrennzeichen" ein
%unit_off% - ohne Einheiten
Grüße aus Dessau (Stadt Dessau-Roßlau)

Dirk
http://www.Regionalwetter-SA.de
http://www.DessauWetter.de
Bild
Klaus Grube

Temp. Tendenz gelöst mit Tips an euch

Beitrag von Klaus Grube »

Sprite01 hat geschrieben:Ein paar Variablen aus der von Werner genannten Textdatei.

%curminmaxhour[0,1,0]% - Temperatur vor einer Stunde
%curval[0]% - aktuelle Temperatur

%alwaysseppoint_on% - Immer Punkt als "Dezimaltrennzeichen" ein
%unit_off% - ohne Einheiten
Hallo
Heute habe ich mich nocheinmal mit den %variablen% von WsWin befasst und die Tendenz der Temperatur für das PHP-Script wie folgt gelöst.

Eine Datei zb. ws_variblen.txt habe ich in der WsWin eingebunden damit
diese daraus im WsWin/html Verzeichnis als ws_variblen.php
abgespeichert wird und über ftp hochgeladen werden kann.

In der ws_variablen.php habe ich für später die meisten Variablen
ebenfalls schon mit ausgeführt. Dadurch wird die Datei mit Daten von WsWin gefüllt. Dabei muss man wissen das es sich immer um
Dateninhalte handelt, die zuletzt von WsWin in Zusammenhang mit der
voreingestellten Zeiteinstellung (Upload) abgespeichert wurden.

In der neuen PHP-Datei wird die Datei ws_variablen.php mittels include(); dann eingebunden. (Beachte mein Tipp)
Vorsicht hier habe ich bei der Software ftp-Uploader festgestellt das er die
Datei zuerst löscht und dann Lädt. Je nach dem wie eure
Datenverbindung ist, kann das schonmal eine weile dauern. Auch wenn
Ihr das Programm mal stoppen solltet, kann unter Umständen die Datei auf dem Server fehlen!

Findet die neue PHP-Datei den Inhalt von Include() nicht, erzeugt include() eine Warnung und die Seite kann solange nicht eingesehen werden wie
die Datei ws_variablen.php auf dem Server fehlt.
Von daher sollte man überprüfen ob die Datei sich auf dem Server
befindet. Das geht dann so für die neue PHP Datei:

Code: Alles auswählen

//$verz. muss immer der absolute Pfad sein! 
$verz = $_SERVER['DOCUMENT_ROOT']."pfad/html/";
$ordnerhandle = opendir($verz);

while ($dateiname = readdir($ordnerhandle))  {
  if($dateiname == "." || $dateiname == "..")continue; //(..) Übergeordnete Verz. entfernen
  $file[$dateiname] = "$dateiname"; //alle Dateien in ein Array übergeben  
}
closedir ($ordnerhandle);
//Prüfen ob Datei auf Server liegt wenn nicht dann Hinweis ausgeben!
$datei ="ws_variablen.php"; 
if ($file[$datei] == $datei){
	include (pfad/ws_variablen.php'); 
}else {$text_warn = "Die Wetterdaten werden gerade aktualisiert";}
Diesen Code sollte in der neuen PHP-Datei stehen. Die Fehler
Meldung $text_warn wird dann irgendwo im Script mittels echo aufgerufen,
wenn dort eine Meldung erwünscht ist.

Zurück zum Thema Temperatur Trend.
In der Datei ws_variablen.php habe ich u.a. folgende Zeile eingefügt:
Bitte diesen Codeschnipsel nicht in der neuen PHP Datei einfügen
Das würde nicht funktionieren! Dafür habe ich ja extra in der WsWin die Datei ws_variablen.txt eingebunden die dann auf dem Server als variablen.php hochgeladn wird!

Code: Alles auswählen

$ws_temp_stunde   =  '%unit_off%%alwaysseppoint_on%%curminmaxhour[0,1,0]%'; //- Temperatur vor einer Stunde 
$ws_temp_aktuell = '%unit_off%%alwaysseppoint_on%%curval[0]%'; // - aktuelle Temperatur
Die WSWIn Variabeln wurde schon in diesem Tread von Sprite01 näher erklärt.

In der neuen PHP-Datei kommt jetzt folgender Codenipsel rein:

Code: Alles auswählen

  //Temp. Tendenz
			
			if ($ws_temp_stunde == $ws_temp_aktuell)
			&#123;$images_pfeil = '<img src="pfad/ws_pfeil_gruen_15.gif" width="15" height="15" border="0" alt="Temperatur gleichbleibend" />';
			&#125;else&#123;
			 if &#40;$ws_temp_stunde < $ws_temp_aktuell&#41;&#123;$images_pfeil = '<img src="pfad/ws_pfeil_rot_15.gif" width="15" height="15" border="0" alt="Temperatur steigend" />';
			 &#125;else&#123;$images_pfeil = '<img src="pfad/ws_pfeil_blau_15.gif" width="15" height="15" border="0" alt="Temperatur fallend" />';&#125;
			&#125;
Mit dem Codeschnipsel

Code: Alles auswählen

echo '$images_pfeil';
wird dann der Trend ausgegeben.

Noch einige Anmerkungen:
Mit "pfad" solltet ihr immer wissen wo ihr die Datei auf den Server
abgespeichert habt. Dementsprechend müsst ihr den Pfad korrekt eintragen!
Als Beispiel werden hier Gif-Bilder angegeben. Die habt ihr nicht. Ihr könnt
welche selbst erstellen. Achtet auch hier auf den Dateinamen! Ihr könnt
selber andere Dateinamen vergeben. Wichtig ist hierbei das die Datei in dem Code auch vorkommt.

Ihr könnt auch statt Bilder einen Text verwenden. Löscht dann den Eintag im Code

Code: Alles auswählen

 $images_pfeil = '<img src="pfad/ws_pfeil_rot_15.gif" width="15" height="15" border="0" alt="Temperatur steigend" />'; 
und ersetzt dann Folgendes:

Code: Alles auswählen

$images_pfeil = "Temperatur steigend"; 


So das wars erstmal als Dankeschön an Euch allen.
Klaus
joergeli
Beiträge: 669
Registriert: 30 Aug 2006 17:32
Wohnort: 61279 Grävenwiesbach (Hessen)
Kontaktdaten:

Beitrag von joergeli »

Hallo Klaus,

ohne jetzt Deine Arbeit schmälern zu wollen:
Was bringt es Dir, die komplette ws_variables.php - ich nehme an, im Ausleseintervall von WsWIN - hochzuladen ?
OK, Du kannst dann alle Variablen auf dem Server mit PHP weiterverarbeiten,
aber bei z.B. zeitlichen Vergleichen musst Du doch auf die WsWIN-Funktionen wie z.B. curminmaxhour zurückgreifen,
bzw. diese dann in der ws_variables.txt (=ws_variables.php) ergänzen.

Lohnt das den Traffic, der durch Hochladen der kpl. ws_variables.php und die Last,
die durch Auswertung derselben auf dem Server verursacht wird ?

Dann wäre es m.E. besser, die WsWIN-Werte fortlaufend in eine SQL-Datenbank
schreiben zu lassen und diese dann via PHP auszuwerten.

Wie gesagt, soll beileibe keine Kritik sein, nur so meine Gedanken dazu.

Gruß
Jörg

P.S.:
Ein kleines Beispiel:

Code: Alles auswählen

mini_m%ws_calc&#91;-&#93;=%ws_year%~1~0%%ws_month2%r.gif
ergibt: mini_m201103r.gif, also die Mini-Grafik des aktuellen Monats vor einem Jahr, was so alleine mit der ws_variables.php nicht ermittelt werden kann.
OK, mit den vielen Prozentzeichen der verschachtelten WsWIN-Variablen kann man schnell "in's Schleudern" geraten. :wink:
http://www.joergeli.de
WS 2500PC V3.1 mit Superhet-Empfänger HFS302, WsWIN V2.98.7
WS 3001, 2xWS1000, WS2000, WS2500
Wetterstation Heinzenberg/Taunus
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo,
Wie gesagt, soll beileibe keine Kritik sein, nur so meine Gedanken dazu.
Es ist in meinen Augen mit Kanonen auf Spatzen geschossen.
Das hätte mit den von Dirk genannten Variablen + der calc-Variable oder noch besser mit der von Werner ins Spiel gebrachten trend-Variabeln in wenigen Zeilen gelöst werden können.
Aber wer sich in PHP austoben will, das meine ich jetzt nicht negativ, der kann es auch so lösen.
Meine Lösung:
%ws_setmem[1] = %ws_trend[2]%%
Dann enthält die Variabel setmem entweder den Wert 0, 1 oder -1
Und damit kann dann die Grafik generiert werden mit Hilfe von ws_compare
Klaus Grube

Beitrag von Klaus Grube »

weneu hat geschrieben:Hallo,
Wie gesagt, soll beileibe keine Kritik sein, nur so meine Gedanken dazu.
Es ist in meinen Augen mit Kanonen auf Spatzen geschossen.
Das hätte mit den von Dirk genannten Variablen + der calc-Variable oder noch besser mit der von Werner ins Spiel gebrachten trend-Variabeln in wenigen Zeilen gelöst werden können.
Aber wer sich in PHP austoben will, das meine ich jetzt nicht negativ, der kann es auch so lösen.
Meine Lösung:
%ws_setmem[1] = %ws_trend[2]%%
Dann enthält die Variabel setmem entweder den Wert 0, 1 oder -1
Und damit kann dann die Grafik generiert werden mit Hilfe von ws_compare
Hallo Werner und andere
Danke, für euer Statement. Bevor WsWin auf dem Menüplan kam, waren
die Seiten schon längst fertig. Die Seiten wurden damals alle in PHP
geschrieben und sind mit Templates und einheitlichen Design (CSS) schon
fertig gewesen.

WsWin hat Aufgrund seiner unbegrenzten Möglichkeiten
%variablen% geschaffen, die jede noch so erdenkliche
Wetterdatenkombination ermöglicht.

Internet-Seiten in HTM oder PHP mittels WsWin zu kreieren ist eine
weitere Möglichkeit seine Wettterseiten zu gestalten. Spätestens aber
hier sind die Möglichkeiten zumindestens für mein Anliegen begrenzt.

Alle WsWin-Variablen müssen direkt geschrieben werden um direkt an
seinen Inhalt zu bekommen. Das bedeutet nichts anderes das ich alle
WSWin-Variablen jedesmal neu für eine Seite schreiben muss.

In PHP ist das völlig anders. Wenn ich eine php-$variable mittels der
WsWin-%variable% speichere bleibt deren Wert bis zur nächsten
Änderung bestehen. Das schöne daran das ich diese $variable nur ein
einziges mal schreiben muss um diese für alle php-Seiten benutzen
kann.

In WsWin müsste ich jdesmal die %variable% neu schreiben. Von daher
denke ich habe ich nicht mit Kanonen auf Spatzen geschossen, sondern
mir einen Weg gesucht der mir das schnelle Umsetzten und Benutzen der
PHP-Variable in php ermöglicht.

Einer wie du Werner der die WsWin-%variablen% rauf und runter beten
kann ( Danke für dein Angagement) sollte doch mal darüber Nachdenken
was ich wirklich mit meinen Überlegungen, die ich gerne anderen mitteile,
bezwecke. Aufzuzeigen was es noch an Möglichkeiten gibt kann wirklich
niemanden schaden. WSWin betrachte ich als eine spezielle Software
die mir Grafiken, Tabellen und Variablen zur Verfügung stellt um diese
hinterher weiter zu benutzen.

Ich habe mir sehr viele Seiten im Internet von Wetterstationen die mit
WsWin betrieben wird angeschaut um mir Ideen und Anregungen zu
holen. Meistens sind diese reine Wetterseiten. Entäuscht hat mich nur das
viele die Orginal-WsWin Seiten mit nur wenig Änderung übernommen
haben. Auch ist mir aufgefallen, dass sehr viele Wetterseiten nicht den
W3C Standart erfüllen.
Derjenige muss sich nicht wundern wenn er seine Seite mittels
verschiedene Browsern anders dargesstellt bekommt.
Dies versteht aber bitte mal als Tipp, eure Internetseiten sauberer zu schreiben.

Das alles möchte ich als Anregung verstehen. In diesem Sinne Danke an allen und einen schönen Gruß aus Dickerscheid
Klaus
Benutzeravatar
weneu
Site Admin
Beiträge: 11572
Registriert: 22 Feb 2002 01:00
Wohnort: Donauwörth
Danksagung erhalten: 18 mal
Kontaktdaten:

Beitrag von weneu »

Hallo Klaus,
nur damit wir uns richtig verstehen:
Ich kann Deinen"PHP-Gedankengang" schon nachvollziehen und er ist auch einleuchtend.
Ich wollte eigenttlich nur ausdrücken, dass es für den "normalen" WSWIN-Nutzer einfacher ist, für diesen speziellen Zweck (Temperaturtendenzpfeil) einfach auf die trend-Variable zurückzugreifen.
Das soll Deine Ausführungen hier nicht schmälern.
Klaus Grube

Beitrag von Klaus Grube »

weneu hat geschrieben:Hallo Klaus,
nur damit wir uns richtig verstehen:
Ich kann Deinen"PHP-Gedankengang" schon nachvollziehen und er ist auch einleuchtend.
Ich wollte eigenttlich nur ausdrücken, dass es für den "normalen" WSWIN-Nutzer einfacher ist, für diesen speziellen Zweck (Temperaturtendenzpfeil) einfach auf die trend-Variable zurückzugreifen.
Das soll Deine Ausführungen hier nicht schmälern.
Japp, Danke
Klaus
Antworten