Nebelwarnung mit Tendenz mittels Variablen

Fragen, Anregungen zur PC-Wetterstations-Software

Moderatoren: Werner, Tex, weneu

Benutzeravatar
Tex
Moderator
Beiträge: 2013
Registriert: 04 Aug 2014 17:47
Wohnort: Woldegk
Hat sich bedankt: 3 mal
Danksagung erhalten: 46 mal
Kontaktdaten:

Beitrag von Tex »

Nimm das hier, dann klappt es auch:
%ws_setmem[7]=%ws_calc[+]=%ws_maxbaro24h%~%curminmaxhour[4,6,33]%~1%%
%ws_setmem[1]=%ws_calc[-]=%cloudline%~%ws_getmem[7]%~1%%
%ws_setmem[2]=%ws_compare[2]=%ws_getmem[1]%~510,0~1~0%%
%ws_setmem[3]=%ws_compare[2]=%ws_getmem[1]%~528,0~1~0%%
%ws_setmem[4]=%ws_compare[2]=%ws_getmem[1]%~680,0~1~0%%
%ws_setmem[5]=%ws_compare[2]=%ws_getmem[1]%~700,0~1~0%%
%ws_setmem[6]=%ws_calc[+]=%ws_getmem[2]%~%ws_getmem[3]%~1%%
%ws_setmem[7]=%ws_calc[+]=%ws_getmem[4]%~%ws_getmem[5]%~1%%
%ws_setmem[8]=%ws_calc[+]=%ws_getmem[6]%~%ws_getmem[7]%~1%%
%ws_compare[3]=%ws_getmem[8]%
%ws_getmem[1]%

----------------------
Sorry, hier kommt die Summe raus - ist ein Sonderfall:
%curminmaxhour[4,24,34]%


%curminmaxhour[3,24,34]% hier kommt immer Null raus, die geht für den Regen so gar nicht, egal welche Stundenwert Du da einsetzt.
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 »

@Tex,

Irgendwie ist mit dieser Variable ein Bug enthalten, weil diese z.B.: die Regenmenge falsch berechnet.

Als Beispiel habe ich gerade folgende Messwerte der letzten Stunden überprüft, was hier WSWin in der Test-Datei herausgibt.

Variablen:

Regen letzte Stunde %curminmaxhour[4,1,34]%
Regen letzte 2 Stunde %curminmaxhour[4,2,34]%
Regen letzte 3 Stunde %curminmaxhour[4,3,34]%
Regen Tag %curminmaxhour[4,0,34]%

Aktuell = Messzeit 11:00 Uhr - Niederschlag bei 09:00 mit 2 mm eingetragen:
Regen letzte Stunde 0,0 l/m²
Regen letzte 2 Stunde 0,0 l/m²
Regen letzte 3 Stunde 2,0 l/m²
Regen Tag 2,0 l/m²
Niederschlag versetzt, weil oben die Ausgabe nicht passt. Nun ist der Niederschlag auf 09:15 eingetragen
Regen letzte Stunde 0,0 l/m²
Regen letzte 2 Stunde 2,0 l/m²
Regen letzte 3 Stunde 2,0 l/m²
Regen Tag 2,0 l/m²
Irgendwie passt das auch nicht, weil in den letzten 3 Stunden kein Niederschlag gefallen ist.

Nun bleibt der Niederschlagswert bei 09:15 für die letzten 2 Stunden die WSWin mit 2 mm angibt. Nun wird für die letzten 3 Stunden noch ein Wert von 5 mm eingetragen, bei Uhrzeit = 08:15 Uhr.
Regen letzte Stunde 0,0 l/m²
Regen letzte 2 Stunde 2,0 l/m²
Regen letzte 3 Stunde 7,0 l/m²
Regen Tag 7,0 l/m²
Das passt auch nicht.

Versetze das Ganze auf 09:00 und 08:00 Uhr
Regen letzte Stunde 0,0 l/m²
Regen letzte 2 Stunde 0,0 l/m²
Regen letzte 3 Stunde 2,0 l/m²
Regen Tag 7,0 l/m²
Also hier passt irgend was nicht, oder der Wert wird falsch berechnet.

Nun wird der Niederschlagswert der letzten 2 Stunden auf 5 mm erhöht, Eintrag des Niederschlagswertes bei 09:00 Uhr und die Variable umgestellt:

Regen letzte Stunde %curminmaxhour[3,1,34]%
Regen letzte 2 Stunde %curminmaxhour[3,2,34]%
Regen letzte 3 Stunde %curminmaxhour[3,3,34]%
Regen Tag %curminmaxhour[3,0,34]%

3 = Durchschnitt
Regen letzte Stunde 0,0 l/m²
Regen letzte 2 Stunde 0,2 l/m²
Regen letzte 3 Stunde 0,1 l/m²
Regen Tag 0,0 l/m²
Was ist das für ein Wert ??? Von was ein Durchschnitt und wie kommt WSWin auf dieses Ergebnis ?

Nun bleibt der Niederschlagswert der letzten 2 Stunden auf 5 mm Eintrag des Niederschlagswertes bei 09:00 Uhr und die Variable umgestellt:

Regen letzte Stunde %curminmaxhour[2,1,34]%
Regen letzte 2 Stunde %curminmaxhour[2,2,34]%
Regen letzte 3 Stunde %curminmaxhour[2,3,34]%
Regen Tag %curminmaxhour[2,0,34]%

2 = Max
Regen letzte Stunde 0,0 l/m²
Regen letzte 2 Stunde 5,0 l/m²
Regen letzte 3 Stunde 5,0 l/m²
Regen Tag 0,0 l/m²
Somit gibt diese Variablen-Art nicht richtige Werte aus, die auch bei anderen Sensoren, falsche Ergebnisse liefert !
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
Benutzeravatar
Tex
Moderator
Beiträge: 2013
Registriert: 04 Aug 2014 17:47
Wohnort: Woldegk
Hat sich bedankt: 3 mal
Danksagung erhalten: 46 mal
Kontaktdaten:

Beitrag von Tex »

Irgendwie passt das auch nicht, weil in den letzten 3 Stunden kein Niederschlag gefallen ist.
Wieso paßt das nicht? Wenn Du um 11 Uhr die Meßzeit nimmst und für 9:15Uhr 2mm Regen einträgst, dann ist in den letzten 3h doch 2mm Regen gefallen, solbst um 12:15Uhr sind es dann in den letzten 3h immer noch 2mm.

Hier wird der Durchschnitsswert aller Einzelwerte der letzten 3h berechnet:
%curminmaxhour[3,3,34]%
Die ist für Deine Zwecke unbrauchbar. Je nach Meßintervall kommt da eben nur 0,1 oder auch 0 raus. (Im 5-Minutenintervall wären das bei 3h 36 Messungen. 2,0mm/36=0,05mm. Da diese Variable bei Regen aber nur eine Kommastelle hat.... wird es halt 0,1mm. Wenn Du jetzt 4h nimmt, kommt sogar nur 0,0mm raus).

Auch diese Variable funktioniert bei mir einwandfrei:
%curminmaxhour[2,3,34]%
Sie wirft den maximalen Einzelwert des Betrachtungszeitraumes raus.

Ich kann leider nicht sehen, wo Du die eingebaut hast, oder ob diese Variablen nur separat getestet wurden.
Hast Du die beim testen in einen anderen Variablenkontext eingebaut, hast Du da einen Wurm drin.
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 »


Wieso paßt das nicht? Wenn Du um 11 Uhr die Meßzeit nimmst und für 9:15Uhr 2mm Regen einträgst, dann ist in den letzten 3h doch 2mm Regen gefallen, solbst um 12:15Uhr sind es dann in den letzten 3h immer noch 2mm.
Die Aufzeichnung wurde um 11:00 Uhr gestoppt, nur Manuell die letzten 2 Stunden ein Niederschlagswert von 2 mm um 09:00 Uhr eingetragen:

Zeit von 11:00 bis 09:00 = 2 Stunden !
Zeit von 11:00 bis 09:15 = 01 h 45 m !

Somit ergibt sich dieses Ergebnis:
Regen letzte Stunde %curminmaxhour[4,1,34]%
Regen letzte 2 Stunde %curminmaxhour[4,2,34]%
Regen letzte 3 Stunde %curminmaxhour[4,3,34]%
Regen Tag %curminmaxhour[4,0,34]%

Aktuell = Messzeit 11:00 Uhr - Niederschlag bei 09:00 mit 2 mm eingetragen:
Zitat:

Regen letzte Stunde 0,0 l/m²
Regen letzte 2 Stunde 0,0 l/m²
Regen letzte 3 Stunde 2,0 l/m²
Regen Tag 2,0 l/m²


Niederschlag versetzt, weil oben die Ausgabe nicht passt. Nun ist der Niederschlag auf 09:15 eingetragen (Aufzeichnung weiterhin gestoppt!!!)
Zitat:

Regen letzte Stunde 0,0 l/m²
Regen letzte 2 Stunde 2,0 l/m²
Regen letzte 3 Stunde 2,0 l/m²
Regen Tag 2,0 l/m²
Somit stimmt das nicht, wobei in den letzten 3 Stunden überhaupt kein Niederschlag gefallen ist. Nur der um 09:00 Uhr, indem dann dann der Regenwert auf 09:15 versetzt wurde. (manuelles Editieren in WSWin)

Der Niederschlag bei 09:15 der bei dieser Uhrzeit gefallen ist, sind somit bei der Ausgabe keine 3 Stunden mit 2 mm. Weil somit genau um 08:15 kein Niederschlag gefallen ist. Da dürfte eigentlich nicht bei "Regen letzte 3 Stunde 2,0 l/m²" nicht so stehen.
Wenn der Regen vor 09:00 Uhr gefallen ist, wäre das Ergebnis vielleicht richtig, dass der Niederschlag zurückgerechnet (3 Stunden) 2 mm ausgeben würde.

Somit wäre begreiflich, wenn die Angabe
Regen letzte Stunde = 1 mm
Regen letzte 2 Stunden = 0 mm
Regen letzte 3 Stunden = 2,4 mm
Regen letzte 4 Stunden = 0 mm
somit Richtig. Wenn das anders berechnet wird, wobei alle 4 Stunden die Differenz berechnet wird, kann das nicht stimmen.
Ich kann leider nicht sehen, wo Du die eingebaut hast, oder ob diese Variablen nur separat getestet wurden.
Hast Du die beim testen in einen anderen Variablenkontext eingebaut, hast Du da einen Wurm drin.
Kannst du selber testen, indem du diese Variablen in der Datei "template_test~.txt" einbauen, wobei du oben in der 1.Zeile
"<!-- %customfile=C:\Programme\WSWin\test.txt% -->"
einträgst.

Wie du diese Datei in WSWin erzeugen kannst, musst du ja wissen.

Somit ist die Angabe wie schon oben erwähnt irreführend, was diese Variable ausgibt.[/quote]
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
Benutzeravatar
Tex
Moderator
Beiträge: 2013
Registriert: 04 Aug 2014 17:47
Wohnort: Woldegk
Hat sich bedankt: 3 mal
Danksagung erhalten: 46 mal
Kontaktdaten:

Beitrag von Tex »

Nimms mir bitte nicht übel: aber Du scheinst hier das Prinzip überhaupt nicht begriffen zu haben, wie diese Variable funktioniert.

Das Ergebnis ist einwandfrei richtig! In dem von Dir berechnetem Zeitraum von (Regen letzten 3 Stunde %curminmaxhour[4,3,34]%) stimmt das Ergebnis doch exakt. Von 8:00 bis 11:00Uhr (das sind doch 3h - oder etwa nicht) sind selbstverständlich auch dann 2mm gefallen, wenn diese um 8:02Uhr, 8:15Uhr oder 9:15Uhr gefallen sind.

Dieses von Dir erwünschte Ergebnis, ist mit dieser Variablen absolut unmöglich:
Regen letzte Stunde = 1 mm
Regen letzte 2 Stunden = 0 mm
Regen letzte 3 Stunden = 2,4 mm
Regen letzte 4 Stunden = 0 mm
Wenn das anders berechnet wird, wobei alle 4 Stunden die Differenz berechnet wird, kann das nicht stimmen.
NEIN! Hier wird die Summe berechnet, nicht die Differnz!
Besonderheit:
bei 4=Differenz und Regen, ET, Solarzeit und Zeit Zeitsensor:
hier wird die Summe des Zeitraumes ausgegeben (ohne Vorzeichen)
bei 3=Durchschnitt und Windrichtung = dominierende Richtung V2.94.0
benötigt in der Regel die 24 Stunden Anzeige:
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 »

@Tex,
Das Ergebnis ist einwandfrei richtig! In dem von Dir berechnetem Zeitraum von (Regen letzten 3 Stunde %curminmaxhour[4,3,34]%) stimmt das Ergebnis doch exakt. Von 8:00 bis 11:00Uhr (das sind doch 3h - oder etwa nicht) sind selbstverständlich auch dann 2mm gefallen, wenn diese um 8:02Uhr, 8:15Uhr oder 9:15Uhr gefallen sind.
Das Ergebnis bezieht sich nicht auf die 3 Stunden, es geht mir um den Wert in 2 Stunden.

Regen letzte Stunde %curminmaxhour[4,1,34]%
Regen letzte 2 Stunde %curminmaxhour[4,2,34]%
Regen letzte 3 Stunde %curminmaxhour[4,3,34]%
Regen Tag %curminmaxhour[4,0,34]%

Mit "Rot" markiert soll WSWin mir ausgeben, was an Regenmenge der letzten 2 Stunden gefallen ist !

Wie schon erwähnt, wurde die Aufzeichnung gestoppt um 11:00 Uhr genau und bei Uhrzeit 09:00 und 09:15 ein Niederschlagswert von 2 mm editiert, der nicht derzeit gefallen ist, indem ich sehen will was für ein Ergebnis heraus kommt.

Wenn das Ergebnis für 09:00 Uhr (Differenz 11:00 Uhr - 09:00 Uhr = 2 Stunden) muss bei "Regen letzte 2 Stunden" = 2 mm rauskommen.

Aber wenn ich die Regenmenge bei 09:00 lösche und diese bei 09:15 versetze, darf nicht "Regen letzte 3 Stunden" = 2 mm heraus kommen, wobei bei Uhrzeit 08:00 oder 08:15 überhaupt kein Niederschlag gefallen ist.
Stundenwerte
*%curminmaxhour[a,h,x]%
a: 0=aktuell,1=min,2=max,3=Durchschnitt,4=Differenz,
a: 5=genaue Stunde aktueller Wert
a: 6=Differenz zur vorherigen Stunde (genaue Stunde)
h: 0, 1..24; x: id (-1..46)
So steht es in der ws_variables.txt

Nimms mir bitte nicht übel: aber Du scheinst hier das Prinzip überhaupt nicht begriffen zu haben, wie diese Variable funktioniert.
Regen letzte Stunde %curminmaxhour[4,1,34]%
Regen letzte 2 Stunden %curminmaxhour[4,2,34]%
Regen letzte 3 Stunden %curminmaxhour[4,3,34]%

4=Differenz
h = 1, 2, 3 , 4 = Uhrzeit (letzte Stunde, vor 2 Stunden, vor 3 Stunden ...
x = ID 34 (Regensensor)
Somit ist bei "a" der Wert "4=Differenz" für Regen "letzte letzte Stunde, Regen letzte 2 Stunden, Regen letzte 3 Stunden" als Differenz falsch !

Wenn um 08:15 kein Regen gefallen ist, sondern um 09:00 b.z.w. 09:15, von welchem Wert wird hier eine Differenz gebildet ?

Von 2 kann ich nichts abziehen. Auch ist die Angabe in ws_variables.txt falsch, wenn das Ergebnis anders berechnet wird !

Somit habe ich diese Variable mit dem Taupunkt ausprobiert:
Taupunkt letzte Stunde %curminmaxhour[4,1,43]%
Taupunkt letzte 2 Stunden %curminmaxhour[4,2,43]%
Taupunkt letzte 3 Stunden %curminmaxhour[4,3,43]%

Taupunkt letzte Stunde -0,2 °C
Taupunkt letzte 2 Stunden +0,4 °C
Taupunkt letzte 3 Stunden +0,6 °C

4=Differenz

Das hier ausgegeben wird, ist genau eine Differenz, zwischen den letzten Stunden, (15:00 - 14:00 - 13:00 Uhr) keine Angabe des Taupunktes!
Und genau bei der Regenmenge bildet WSWin eine Differenz zu den letzten Stunden.

Richtig formuliert wäre die Ausgabe:
Regen Differenz - letzte Stunde %curminmaxhour[4,1,34]%
Regen Differenz - 2 Stunden %curminmaxhour[4,2,34]%
Regen Differenz - 3 Stunden %curminmaxhour[4,3,34]%

Weil Berechnung (2 mm(letzte 2 Std.) - 0 mm (letzte 3 Std) = 2 mm))
wurde in Excel nachgerechnet, auch das mit dem Taupunkt.

Wenn ich genau die Regenmenge vor 1 Stunde, 2 Stunden, 3 Stunden ermitteln will, die müssen genau 60 Minuten entsprechen, wird über

%curminmaxhour[0,2,34]%%

Die Regenmenge um z.B.: 15:00 Uhr = 2 mm; 14:00 Uhr = 1,5 mm 13:00 Uhr = 5,3 mm ausgegeben. Mit einer Differenz bei der Regenmenge sagt das nicht viel aus.(Je nach Variablen-Anwendung)
Deswegen meine ich immer Vertrauen ist gut - Kontrolle ist besser ! Genau verhält sich das wenn ich was Einkaufe, ob das was da Berechnet wird auch wirklich stimmt ! Man muss auch das was WSWin berechnet, nach kontrollieren können, ob hier kein Fehler vorliegt oder das Ganze soweit stimmt.
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
Benutzeravatar
Tex
Moderator
Beiträge: 2013
Registriert: 04 Aug 2014 17:47
Wohnort: Woldegk
Hat sich bedankt: 3 mal
Danksagung erhalten: 46 mal
Kontaktdaten:

Beitrag von Tex »

Das Ergebnis bezieht sich nicht auf die 3 Stunden, es geht mir um den Wert in 2 Stunden.

Regen letzte Stunde %curminmaxhour[4,1,34]%
Regen letzte 2 Stunde %curminmaxhour[4,2,34]%
Regen letzte 3 Stunde %curminmaxhour[4,3,34]%
Regen Tag %curminmaxhour[4,0,34]%

Mit "Rot" markiert soll WSWin mir ausgeben, was an Regenmenge der letzten 2 Stunden gefallen ist !
Das Ergebnis ist vollkommen logisch. Wenn Du um 11:00 Uhr die Aufzeichnung stoppst und 2mm für 9:00 Uhr einträgst und dann die Aufzeichnung wieder startest...
Was soll denn da dann Deiner Meinung nach bei "letzten 2 Stunden" rauskommen? Bestimmt nicht 2mm, sondern 0mm!!!
Vesetzt Du jetzt unmittelbar danach die 2mm auf 9:15Uhr und startest die Aufzeichnung neu, dann kann das Erbenis doch nur für die "letzten 2 Stunden" 2mm sein und für die "letzten 3 Stunden" auch 2mm.
Wenn um 08:15 kein Regen gefallen ist, sondern um 09:00 b.z.w. 09:15, von welchem Wert wird hier eine Differenz gebildet ?
Von gar keinem! Bei a=4 und ID34 (Regen) gibt es keine Differenzbildung, sondern ausschließlich die Summe des Betrachtungszeitraumes.
Wenn ich genau die Regenmenge vor 1 Stunde, 2 Stunden, 3 Stunden ermitteln will, die müssen genau 60 Minuten entsprechen, wird über

%curminmaxhour[0,2,34]%%
Diese Variable wirft NUR exakt den Wert raus, der vor 2h (120 Minuten) gemessen wurde. Also keinen Stundenwert, Stundenmittelwert, Durchschnitswert, oder sonstwas!
Hat die Wippe des Regenmesser um 14:35Uhr 0,5mm anzeigt, wird NUR exakt 2h später um 16:35Uhr auch 0,5mm angezeigt - ansonsten kommt null, egal, ob es 10 Minuten davor oder danach nochmal einen Wert von Xmm gegeben hat. Der kommt dann erst 10 Minuten später um 16:45Uhr dran.

Bei mir funktioniert das 100%ig genau - auf die Minute.

Ich kann Dir da jetzt auch leider nicht mehr weiterhelfen, weil Du etwas willst, was per Definition eben nicht geht.
Benutzeravatar
Tex
Moderator
Beiträge: 2013
Registriert: 04 Aug 2014 17:47
Wohnort: Woldegk
Hat sich bedankt: 3 mal
Danksagung erhalten: 46 mal
Kontaktdaten:

Beitrag von Tex »

Ich habe zwei komplett neue Versionen in einem neuen Thema eingestellt, da das sonst zu unübersichtlich wird.

http://www.pc-wetterstation.de/forum/vi ... php?t=8997

http://www.pc-wetterstation.de/forum/vi ... php?t=8996
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 »

Bleibe somit bei meiner Version, nur habe ich festgestellt dass einige Sachen nicht so ganz passten.

Die neue ist unter http://www.pc-wetterstation.de/forum/vi ... 0&start=30
Gruß
Manfred
------------------------------------------------------
Wetterstation: Nexus TE923 HW4

http://www.sternwarte-ehingen.de
Antworten