Variable in der Vergangenheit fehlerhaft

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

Antworten
Benutzeravatar
Mado
Beiträge: 821
Registriert: 21 Apr 2006 20:40
Wohnort: 89584 Ehingen
Hat sich bedankt: 1 mal
Danksagung erhalten: 19 mal
Kontaktdaten:

Variable in der Vergangenheit fehlerhaft

Beitrag von Mado »

Möchte für den Wetterdatenvergleich der Temperatur die Durchschnittstemperatur in WSWin automatisch erzeugen lassen.

Habe hier folgende Variable gefunden:

%avgvalpast[id~dd~mm~yyyy]%

Habe dann eine Datei erstellt mit folgendem Inhalt:

<!-- %customfile=temperatur.txt% -->
%unit_off%%alwaysseppoint_on%
Datum;y2003;y2004;y2005;y2006;y2007;y2008;y2009;y2010
01.01.;%avgvalpast[2~01~01~2003]%;%avgvalpast[2~01~01~2004]%;%avgvalpast[2~01~01~2005]%;%avgvalpast[2~01~01~2006]%


Heraus kommt folgender Mist:

Datum;y2003;y2004;y2005;y2006;y2007;y2008;y2009;y2010
01.01.;6.1;-2.1;1.3;%avgvalpast[2~01~01~2006]%


Kann WSWin nicht mehr als drei Werte mit dieser Variable, der Durchschnitt-Temperatur des Tages ausgeben? Wenn ich bis 2010 die Zeichenfolge ergänze, werden mir von den anderen Jahren, die Werte nicht geschrieben.
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
joergeli
Beiträge: 669
Registriert: 30 Aug 2006 17:32
Wohnort: 61279 Grävenwiesbach (Hessen)
Kontaktdaten:

Beitrag von joergeli »

Hallo Manfred,
Kann WSWin nicht mehr als drei Werte mit dieser Variable....
Ich glaube (kann mich aber auch irren), WsWIN kann leider nicht mehr als drei gleiche Variablen in einer Zeile ausgeben.
Schreib die Ausgabevariablen mal probehalber untereinander, d.h. jeweils in eine neue Zeile und teste dann noch mal.

Ich hatte ähnliche Probleme, als ich meinen "Wetter-Monatsvergleich" ( http://www.joergeli.de/longtime.php ) erstellt habe.
Das wollte ich zuerst via %templatebegin% realisieren, aber da traten dann die gleichen Effekte auf.
Jetzt mache ich es so, daß ich mühsam die Werte manuell ergänze.

Gruß
Jörg
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
Mado
Beiträge: 821
Registriert: 21 Apr 2006 20:40
Wohnort: 89584 Ehingen
Hat sich bedankt: 1 mal
Danksagung erhalten: 19 mal
Kontaktdaten:

Beitrag von Mado »

Habe Testweise eine neue Zeile unterhalb erstellt, und es werden auch nur drei Zeilen erstellt. Mehr wie vier sind nicht möglich.

Wäre schön, wenn man dies mit den Variablen realisieren kann. Muss hier einen anderen Weg versuchen, da das manuelle Eintragen recht Zeitintensiv ist.
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
joergeli
Beiträge: 669
Registriert: 30 Aug 2006 17:32
Wohnort: 61279 Grävenwiesbach (Hessen)
Kontaktdaten:

Beitrag von joergeli »

Hallo Manfred,

mit untereinander meinte ich wie folgt:

Code: Alles auswählen

<!-- %customfile=temperatur.txt% -->
%unit_off%%alwaysseppoint_on%


2003&#58; %avgvalpast&#91;2~01~01~2003&#93;%;2004&#58; %avgvalpast&#91;2~01~01~2004&#93;%;2005&#58; %avgvalpast&#91;2~01~01~2005&#93;%;2006&#58; %avgvalpast&#91;2~01~01~2006&#93;%;2007&#58; %avgvalpast&#91;2~01~01~2007&#93;%;2008&#58; %avgvalpast&#91;2~01~01~2008&#93;%;2009&#58; %avgvalpast&#91;2~01~01~2009&#93;%;2010&#58; %avgvalpast&#91;2~01~01~2010&#93;%

__________________________________________________________________


2003&#58; %avgvalpast&#91;2~01~01~2003&#93;%
2004&#58; %avgvalpast&#91;2~01~01~2004&#93;%
2005&#58; %avgvalpast&#91;2~01~01~2005&#93;%
2006&#58; %avgvalpast&#91;2~01~01~2006&#93;%
2007&#58; %avgvalpast&#91;2~01~01~2007&#93;%
2008&#58; %avgvalpast&#91;2~01~01~2008&#93;%
2009&#58; %avgvalpast&#91;2~01~01~2009&#93;%
2010&#58; %avgvalpast&#91;2~01~01~2010&#93;%
Im ersten Teil ist die Zeile durchgängig geschrieben (wird hier durch die Forumsdarstellung umgebrochen) --> funktioniert nicht wie gewünscht.
Im zweiten Teil stehen die gleichen Variablen jeweils in einer neuen Zeile --> Ergebnis stimmt.

Ausgabe (temperatur.txt):

Code: Alles auswählen

2003&#58; ;2004&#58; ;2005&#58; ;2006&#58; %avgvalpast&#91;2~01~01~2006&#93;%;2007&#58; %avgvalpast&#91;2~01~01~2007&#93;%;2008&#58; %avgvalpast&#91;2~01~01~2008&#93;%;2009&#58; %avgvalpast&#91;2~01~01~2009&#93;%;2010&#58; %avgvalpast&#91;2~01~01~2010&#93;%

__________________________________________________________________


2003&#58; 
2004&#58; 
2005&#58; 
2006&#58; 0.0
2007&#58; 6.8
2008&#58; -1.7
2009&#58; -4.8
2010&#58; -0.8
(Hinweis: Bei mir liegen die Daten erst ab 01.06.2006 vor, deshalb fehlen Werte aus früheren Jahren.)

Gruß
Jörg
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
Mado
Beiträge: 821
Registriert: 21 Apr 2006 20:40
Wohnort: 89584 Ehingen
Hat sich bedankt: 1 mal
Danksagung erhalten: 19 mal
Kontaktdaten:

Beitrag von Mado »

Diesen Vorschlag für die Wetterdaten kann ich so für das Flash-Diagramm so nicht verwenden, da die Zeichenfolge alle in einer Reihe stehen müssen, sonst werden die im Diagramm nicht korrekt angezeigt.
Datum;y2006;y2007;y2008;y2009;y2010
01.01.;6.1;-2;1.5;0.5;6.5;-2.9;0.6;1.4
02.01.;9.8;-4.1;2.5;0.1;1.9;-3.6;-2.7;-3.2
03.01.;6.7;-7.5;1.5;0.2;2.9;-3.9;-5.9;-5.4
04.01.;5.3;-5.4;1.3;-0.9;3.5;-3.3;-6.5;-6.7
05.01.;-0.9;-1.4;2.1;-1.4;4.3;0.8;-4.8;-6.9
06.01.;-3.3;0.7;4;-1.9;5.9;2.5;-5.1;-4.8
07.01.;-4.4;0.9;3.6;-3.1;4.6;3.1;-6.8;-4.3
08.01.;-7.2;0.2;3.3;-4;5;0.9;-8;-4.0
09.01.;-9;2;5.2;-5.3;8.5;1;-10.9;-5.5
10.01.;-8.6;1.8;2.5;-6.6;6.9;2.8;-11.4;-4.8
11.01.;-7.1;5.1;2.5;-8.1;8;1.5;-10.5;-4.1
12.01.;-9.4;4.8;3;-5.9;6.6;1.5;-10.1;-4.0
13.01.;-6.3;7.2;2.6;-8.5;6.1;0.4;-8.4;-4.3
Für diese Erstellung der oberen Daten, müsste die Variable hier so aussehen:
<!-- %customfile=temperatur.txt% -->
%unit_off%%alwaysseppoint_on%
Datum;y2006;y2007;y2008;y2009;y2010
01.01.;%avgvalpast[2~01~01~2006]%;%avgvalpast[2~01~01~2007]%;%avgvalpast[2~01~01~2008]%;%avgvalpast[2~01~01~2009]%;%avgvalpast[2~01~01~2010]%
02.01.;%avgvalpast[2~02~01~2006]%;%avgvalpast[2~02~01~2007]%;%avgvalpast[2~02~01~2008]%;%avgvalpast[2~02~01~2009]%;%avgvalpast[2~02~01~2010]%
03.01.;%avgvalpast[2~03~01~2006]%;%avgvalpast[2~03~01~2007]%;%avgvalpast[2~03~01~2008]%;%avgvalpast[2~03~01~2009]%;%avgvalpast[2~03~01~2010]%
So mit diesen eingetragenen Variablen, werden nur Daten bis 2008 ausgegeben in der Datei, aber für 2009 und 2010 werden keine Daten eingetragen.
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
Benutzeravatar
Werner
Site Admin
Beiträge: 6091
Registriert: 04 Dez 2001 01:00
Wohnort: Lackenhäuser
Danksagung erhalten: 145 mal
Kontaktdaten:

Beitrag von Werner »

@Manfred,

in der Doku steht eindeutig:
Die gleiche Variable darf max. 2x in einer Zeile vorkommen V2.83.0
... Du hast da sogar einen BONUS erhalten.

Was soll das mit Deiner Aussage?

Werner
joergeli
Beiträge: 669
Registriert: 30 Aug 2006 17:32
Wohnort: 61279 Grävenwiesbach (Hessen)
Kontaktdaten:

Beitrag von joergeli »

Hallo Manfred,

mein obiges Geschreibsel war kein Vorschlag, sondern eine Feststellung :wink:
Diesen Vorschlag für die Wetterdaten kann ich so für das Flash-Diagramm so nicht verwenden,
da die Zeichenfolge alle in einer Reihe stehen müssen, sonst werden die im Diagramm nicht korrekt angezeigt.
Nicht unbedingt - ich gehe mal davon aus, dass Du die Werte mit den amCharts darstellen möchtest ?

Eine Möglichkeit wäre, die amLine-Charts zu verwenden.
Das zugehörige Template, um daraus eine Daten-XML-Datei für die Charts zu erstellen, könnte so aussehen:

Code: Alles auswählen

<!-- %customfile=amline_data.xml% --> %ws_delline%
%unit_off%%alwaysseppoint_on%  %ws_delline%
<?xml version="1.0" encoding="UTF-8"?>
<chart>
	<series>
		<value xid="0">01.01</value>
		<value xid="1">02.01</value>
		<value xid="2">03.01</value>
		<value xid="3">04.01</value>	
	</series>
	<graphs>
		<graph gid="2010">
			<value xid="0">%avgvalpast&#91;2~01~01~2010&#93;%</value>
			<value xid="1">%avgvalpast&#91;2~02~01~2010&#93;%</value>
			<value xid="2">%avgvalpast&#91;2~03~01~2010&#93;%</value>
			<value xid="3">%avgvalpast&#91;2~04~01~2010&#93;%</value>			
		</graph>
		<graph gid="2009">
			<value xid="0">%avgvalpast&#91;2~01~01~2009&#93;%</value>
			<value xid="1">%avgvalpast&#91;2~02~01~2009&#93;%</value>
			<value xid="2">%avgvalpast&#91;2~03~01~2009&#93;%</value>
			<value xid="3">%avgvalpast&#91;2~04~01~2009&#93;%</value>			
		</graph>
		<graph gid="2008">
			<value xid="0">%avgvalpast&#91;2~01~01~2008&#93;%</value>
			<value xid="1">%avgvalpast&#91;2~02~01~2008&#93;%</value>
			<value xid="2">%avgvalpast&#91;2~03~01~2008&#93;%</value>
			<value xid="3">%avgvalpast&#91;2~04~01~2008&#93;%</value>			
		</graph>
	</graphs>
</chart>
Dann hast Du das jeweilige Datum auf der X-Achse und die entspr. Tageswerte auf der Y-Achse.
Dieses Beispiel-Template ist aber nicht vollständig, denn man muss natürlich jeden Tag des Jahres definieren,
also insgesamt 365 Einträge im Abschnitt <series>

Im jeweiligen <graph> Abschnitt müssen natürlich auch 365 Variablen für jedes Jahr definiert werden.

Unmöglich ist es also nicht, ob es so allerdings Sinn macht (Zeit die WsWIN braucht, um das Template abzuarbeiten und resultierende Dateigröße),
steht auf einem anderen Blatt :wink:

Gruß
Jörg
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
Mado
Beiträge: 821
Registriert: 21 Apr 2006 20:40
Wohnort: 89584 Ehingen
Hat sich bedankt: 1 mal
Danksagung erhalten: 19 mal
Kontaktdaten:

Beitrag von Mado »

Vermutlich muss ich dies übersehen haben, dass hier nur 2 Werte pro Zeile erstellt werden. Aber mit der Lösung die ich nun erstellt habe, kann ich mal so arbeiten.
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
joergeli
Beiträge: 669
Registriert: 30 Aug 2006 17:32
Wohnort: 61279 Grävenwiesbach (Hessen)
Kontaktdaten:

Beitrag von joergeli »

Hallo Manfred,

lass uns nicht dumm sterben, wie sieht Deine jetzige Lösung aus :?:

Gruß
Jörg
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
Mado
Beiträge: 821
Registriert: 21 Apr 2006 20:40
Wohnort: 89584 Ehingen
Hat sich bedankt: 1 mal
Danksagung erhalten: 19 mal
Kontaktdaten:

Beitrag von Mado »

Nun habe ich hier eine folgende Lösung gemacht:

Zwar ist es mit WSWin nicht mehr möglich, mehr als drei Zeilen in einer Reihe zu stellen. Hier ist es recht Zeitaufwendig, die Werte manuell zu ergänzen für die amLine-Charts zu verwenden. Also habe ich schon eine bestehenden Zahlenwert aus den Durchschnitts-Temperaturen des jeweiligen Tages der vergangenen Jahren, in die Vorlage eingefügt.

Nur musste ich hinter den Zahlen noch die Variable einfügen, die dann auch dann so erstellt wird. Aber nur für dieses Jahr habe ich eine Variable am Schluss eingefügt. Für nächsten folgenden Tagen, muss ich bloß die Variable dementsprechend anpassen, dies ist in ein paar Minuten erledigt.

Unter Einstellungen "CFG Custum Datei" wurde hier noch ein Eintrag hinzu gefügt. Um zu vermeiden, dass diese Variable alle fünf Minuten abgearbeitet wird, habe ich vor dem Dateinamen ein # eingefügt. Hier kann ich dann wenn ich diese Daten aktuell halten will, dieses Zeichen wieder entfernen. Auch bei den Min-Max-Werten habe ich eine andere Variable eingefügt, und wird ohne Probleme abgearbeitet.
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
joergeli
Beiträge: 669
Registriert: 30 Aug 2006 17:32
Wohnort: 61279 Grävenwiesbach (Hessen)
Kontaktdaten:

Beitrag von joergeli »

@Manfred,
Also habe ich schon eine bestehenden Zahlenwert aus den Durchschnitts-Temperaturen des jeweiligen Tages der vergangenen Jahren, in die Vorlage eingefügt.

Nur musste ich hinter den Zahlen noch die Variable einfügen, die dann auch dann so erstellt wird. Aber nur für dieses Jahr habe ich eine Variable am Schluss eingefügt. Für nächsten folgenden Tagen, muss ich bloß die Variable dementsprechend anpassen, dies ist in ein paar Minuten erledigt.
Ist also- wenn ich's recht verstehe - "halbautomatisch" :wink:
Vorjahreswerte trägst Du manuell ein und nur die Werte für das aktuelle Jahr werden per Variable generiert.
Das heißt, Du musst beim nächten Jahresbeginn die Werte des Vorjahres dann wieder manuell eintragen und die Variable auf das neue Jahr anpassen
(bzw. Du könntest auch die Werte für die letzten 3 Jahre per Variable generieren lassen, denn max. 3 gleiche Variablen funktionieren ja in einer Zeile).

Guter Workaround !
____________________________________________________

Noch ein Tipp, damit die Datei nicht alle 5 Min. erstellt wird:
Falls Du ein Monats-, oder Jahrestemplate (template_m.txt / template_y.txt ) verwendest, "häng" Dein Template einfach an diese Datei an.
(Das funktioniert genau so, wie mit der custom.txt).

z.B. template_m.txt :

Code: Alles auswählen

<!-- %customfile=.html% -->
<!-- %openfile=temperatur.txt% -->
...
Code für die Monats-HTML-Datei ...
...
...
Hier wird zuerst die Monatsdatei erstellt und anschließend Deine temperatur.txt abgearbeitet.

Sieht also genau so aus, wie in der custom.txt, der Vorteil ist aber, daß Du die Häufigkeit, mit der das Monats-, bzw. Jahrestemplate abgearbeitet wird, in WsWIN einstellen kannst:
Unter "Internet" --> "Einstellungen" bei "automatisch Internet-Dateien aktualisieren" kannst Du (neben einem Offset) festlegen, ob das Monats-Template z.B. alle 1, 2, 3, 6, 12, 24 h aktualisiert werden soll.

Falls Du kein Monats-/Jahrestemplate verwendest, könntest Du auch anstatt dessen Dein Template abarbeiten lassen, in dem Du Dein Template einfach template_m.txt benennst, der Inhalt aber Deinen Code enthält. Dann wird anstatt der Monatsdatei alle x Stunden Deine temperatur.txt abgearbeitet:

template_m.txt :

Code: Alles auswählen

<!-- %customfile=temperatur.txt% -->
...
Dein Code ...
...
...
...
Gruß
Jörg
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
Antworten