Regenerfassung mit KS300

Hallo Franz,

zu früh gefreut. Heute hat es wieder geregnet. Die WS300 zeigt jetzt 101 l/m²,IPS-script 177l/m².
Da bisher die Werte synchron liefen, gehe ich davon aus, daß es daran liegt, weil der Wert über 100 liegt.
Kann das sein?

Mfg Klaus :confused:

Ok, ich habe das Problem erkannt:

Letzte nacht hatte es nicht geregnet. Mein KS300 Wippenzähler stand auf 77, was nach Nibble Change dann 212 macht. Ich habe die Log Datei durchsucht, und alles war ok, ja bis…ja bis um 4h00. Da bekam die FHz sicherlich ein fehlerhaftes Telegramm vom KS300, und der Wippenzähler gab 1792 wieder.
Auch die anderen Sensordaten waren falsch. Fakt ist, danach wurden falsche Werte addiert, und schon kriegt man dann Regenmengen à la 200 l/m².

Also, das Ziel ist, fehlerhafte Sensordaten rauszufiltern. Angenommen, es regnet, und die Sensordaten kommen quasi alle 5 Minuten rein, dann dürfte man davon ausgehen dass in 5 Minuten keine 100 l auf den m² fallen.
Ich werde mal ein paar Zeilen Code dazu schreiben, um mal zu sehen, ob dann das Problem gelöst ist.

mfG Franz

Hallo,

ich habe den Thread in der vergangenen Woche leider nicht verfolgen können, so dass ich erst jetzt wieder teilnehmen kann.

Zum Gültigkeitbereich des Skripts:
Da nur das unterste Byte des Wippenzählers ausgewertet wird, kann es innerhalb des Melde-Intervalls der Wetterstation zu einem doppelten Überlauf des Zählers kommen. Dieser kann wegen der Beschränkung auf 8 Bit prinzipiell nicht erkannt werden.
Ein solcher Überlauf tritt nur ein, wenn in dieser Zeit mehr als 256 * 3.8ml durch den Trichter laufen. Diese Menge entspricht einer Niederschlagsmenge von ca. 63 l/qm. Eine derart riesige Menge in einem Zeitraum von nur 155 Sekunden (Melde-Intervall) wird vermutlich nicht einmal unter einer voll aufgedrehten Dusche erreicht.
Man kann also davon ausgehen, dass das Skript in der Praxis keinerlei Einschränkungen unterliegt.

Zu den Sprüngen:
Die von bauhaus gezeigten Tabellen und Grafiken zeigen, dass die KS300 eindeutig inkonsistente Daten liefert. Der Wippenzähler kann immer nur ansteigen, niemals absteigen. In der Tabelle ist der zweite Wert aber eindeutig kleiner als der vorausgegangene erste Wert. Ich vermute daher, dass alle diese Sprünge auf solche Inkonsistenzen zurückzuführen sind. Mir ist nicht bekannt, ob die KS300 eine Checksumme sendet, die man zur Überprüfung heranziehen könnte.

Zusammenfassend lässt sich sagen: Franz (guyabano) hat mit seiner Vermutung Recht. Bisweilen scheint die KS300 auszurasten. Falls dies regelmäßig geschieht, steckt vielleicht eine Systematik dahinter, die helfen könnte, die Falschmeldungen zuverlässig auszublenden. Hier hilft nur weiteres Beobachten.

Gruß
HJH

Das Problem habe ich auch mit dem WS2000-Regensensor (S2000R). Deshalb habe ich in meinem Ladeskript für jeden Sensor eine Gültigkeitsprüfung der Werte. Für den Regensensor sieht es so aus, das (nach Berücksichtigung des Zähler-Überlaufes) die Differenz zum Vorgängerwert < 20l sein muss. Alle anderen Werte werden ignoriert und beim nächsten Wert wird dann wieder mit dem letzten gültigen Vorgänger-Zählerstand gerechnet. Möglicherweise hat man dann zwar die Summe von 2 Messintervallen, aber immer noch besser als totalen Schrott.

Tommi

Ich habe mich jetzt mal darauf basiert:

Auszug Wikipedia:

Als Niederschlagsintensität bezeichnet man den Quotienten aus Niederschlagsmenge und Zeit, und wird in Millimeter pro Minute oder pro Stunde angegeben. Sie bildet zusammen mit der Niederschlagsmenge die Charakteristik eines Niederschlags.

Ein mittelstarker Regenschauer in Mitteleuropa hat eine Intensität um 5mm/h (entsprechend 5 Liter/m² pro Stunde), ein Starkregen um 30mm/h. Bei einem heftigen Unwetter kann die Regenmenge auf 50mm/h und mehr zunehmen.[1] Tropenstürme erreichen Werte von 130mm/h und weit darüber.

Die FHZ erhält im 5 Minutentakt neue Daten. Ich nehme als Ausgangspunkt für unsere Gegenden ‚heftiges Unwetter‘. In 5 Minuten kann also ein Zuwachs von max. 50/12 (Intervalle à 5 minuten/h) = 4,16 erreicht werden, wohlgemerkt mm nicht Wippenschläge ! Ich runde mal auf 5 auf.
Ich habe das jetzt mal in meine Skript eingebaut, und beobachte das jetzt mal über ein paar Tage.

mfG Franz

so, meiner ist heute morgen auch wieder gesprungen.

Zählerstand alt 1745/29 und nach dem Sprung 1745/29, also genau 256.

ergibt eine Anzeige von 79,21 mm bei einem Faktor von 0.3094. Exakt das selbe wie am vergangenen Dienstag.

Vielleicht kann HJH ja was damit anfangen.

so, selbiges heute morgen wieder. Genau wieder einen Wischer von 256.

Wie kann ich das jetzt zuerst hier mal unterbinden. So das zumindest mal die Regenmenge stimmt. Der Rest gehört ja dann in eine andere Kategorie.

Der Wischer dauert ja so wie es aussieht nur ein paar Millisekunden.

Man müsste also die Zeit vergleichen. Wenn innerhalb von sag ich jetzt mal 1 Minute der Zähler wieder 256 zuaddiert hat, ignorieren.

Im Moment steht er immer noch bei 1745/29. Irgendwann springt er dann auf den nächsten Zählerüberlauf, aber das passt ja.

Franz, wie sieht es bei dir aus?

Hallo Forum,

kann mir jemand eine Log-Datei zur Verfügung stellen?

Sie sollte folgenden Inhalt haben:

  1. lückenlose Aufzeichnung des Wippenzählers (so, wie er von der KS300 kommt, also ohne Korrektur);
  2. sie sollte einen Zeitraum von mindestens 3 Tagen umfassen;
  3. es sollte auch mindestens eine Phase mit Regen enthalten sein;
  4. jeder Eintrag muss mit Zeitstempel versehen sein;

Falls jemand soetwas hat oder erzeugen kann: bitte Nachricht an mich (evtl. per PM).

Ich warte auch gerne ab, bis wieder Regen gefallen ist. :wink:

Gruß
HJH

Meine Sprünge sind weg. ich warte jetzt nur noch auf regen, ob zu sehen, ob das so gut ist was ich als Vorgabe gegeben habe.
Das Skript sieht bei mir jetzt so aus:

<?
/*
*******************************
IP-SYMCON Event Scripting
*******************************
File     : KS300_Regenerfassung.ips.php
Trigger  : Regenzaehler_neu
Interval : OnUpdate
Author   : HJH
Date     : 25.05.07

Das Skript wir durch die Integer Variable "Regenzaehler_neu" OnUpdate getriggert.
"Regenzaehler_neu" ist der Zählerstand, den die KS300 ca. alle 3 Minuten meldet.
*/



define("UMRECHNUNGSFAKTOR", 0.2469); // Faktor für die Umrechnung der Wippenschläge in Millimeter



// aktuelle Werte einlesen
$rza = GetValueInteger("Regenzaehler_alt"); // vorausgegangene Messung
$rzn = GetValueInteger("Regenzaehler_neu"); // aktuelle Messung

// zur Fehlerbereinigung die unteren Nibbles vertauschen
$rzn = (($rzn & 0x00f0) >> 4)  // oberes  Nibble des LSB 4x rechts schieben (entspricht Division durch 16)
     + (($rzn & 0x000f) << 4); // unteres Nibble des LSB 4x links schieben  (entspricht Multiplikation mit 16)

// Zählerüberlauf abfangen
if ($rza > $rzn) $rzn += 256;

// Zuwachs (Wippenschläge) seit der letzten Messung
$Zuwachs = $rzn - $rza;

if ($Zuwachs <= 20) // basierend auf max. Regenmenge in 5 minuten, d.h. 5mm was dann beim UMRECHNUNGSFAKTOR gleich (rund) 20 Wippenschläge ausmachen
   {
    // Zählerstand abspeichern
    SetValueInteger("Regenzaehler_alt", $rzn);

    // Berechnung der aktuellen Regenmenge in mm (entspricht l/m²) für den laufenden Tag
    $lpd = GetValueFloat("Liter_heute");
    $lpd += $Zuwachs*UMRECHNUNGSFAKTOR;
    SetValueFloat("Liter_heute", $lpd);
?> 

So, bin gerne bereit mir Kritiken resp. Verbesserungsvorschläge anzuhören. Bis jetzt auf jeden fall wurden falsche Werte ignoriert.

mfG Franz

Hallo Franz,

schön das Du dich mit beteiligst.

Mit den Sprüngen meinte ich, das es einen Wischer innerhalb von…ms gibt/gab.

Da er ja zählt muss ja was angekommen sein, auf allen Ebenen des KS300-2

Welcher innerhalb dieser Zeit unabhäning ob eine Situation eingetreten ist eine Meldung aufruft.

Dieses betrifft sowohl Regenmenge, Temp, Feuschte und Wind.

Daher meine Frage an alle die eine Referenz haben mitKS300-2.

In wieweit stimmen die Anzeigen überein…Wetterwilli…usw…Temp…Feuchte…

Andernfalls würde ich auf einen Bug vom Modul tippen.

Oder die Software der Geräte weiss was sie zu machen hat :confused:

Fehlt da noch eine Klammer ? „}“

Hallo,

ja wie gaesagt, ich bin noch am testen. Gestern hat es kräftig geregnet, und bie diesem ‚Platzregen‘ reagiert das Skript nicht. Ich habe somit den Wert mal auf 50 erhöht. Bis jetzt scheint es zu klappen.

@Audi: Du hast Recht, die scheint beim COPY/PASTE abhanden gekommen zu sein

mfG Franz

Hallo Ihr Regenforscher :rolleyes:

Lleider habe ich auch hin und wieder die „Ausreißer“. Die Daten sind im wiips dann unbrauchbar, da sich die bombastischen Werte nicht einzeln löschen lassen. (mit vertretbarem Aufwand) Also habe ich mein Script auch um den Vergleich ergänzt.

Beim Durchsehen meiner Aufzeichnungen ist mir aufgefallen, dass diese Fehler nur bei warmem Wetter auftreten. Übers gesamte Winterhalbjahr hatte ich nicht einen einzigen Ausfall. Erst seit ein paar Wochen sind wieder die Fehlmessungen drin.

Dabei ist mir heute aufgefallen, dass sich die Werte zur WS300 stark unterscheiden. Während auf der WS 0.8mm angezeigt wurden, waren es mit dem Script nur ca. 0.6mm. Ich glaube mich erinnern zu können, dass wir mal über einen Wert des Faktors um die 3,7 diskutiert haben.

Gruß
Fabian

Lass uns mal schauen :slight_smile:

Lleider habe ich auch hin und wieder die "Ausreißer". Die Daten sind im wiips dann unbrauchbar, da sich die bombastischen Werte nicht einzeln löschen lassen. (mit vertretbarem Aufwand) Also habe ich mein Script auch um den Vergleich ergänzt.

Beim Durchsehen meiner Aufzeichnungen ist mir aufgefallen, dass diese Fehler nur bei warmem Wetter auftreten. Übers gesamte Winterhalbjahr hatte ich nicht einen einzigen Ausfall. Erst seit ein paar Wochen sind wieder die Fehlmessungen drin.

Dabei ist mir heute aufgefallen, dass sich die Werte zur WS300 stark unterscheiden. Während auf der WS 0.8mm angezeigt wurden, waren es mit dem Script nur ca. 0.6mm. Ich glaube mich erinnern zu können, dass wir mal über einen Wert des Faktors um die 3,7 diskutiert haben.

Es müssten eigenlich auch alle anderen Daten zunichte sein? Wind…

Hat mit der Wetterlage nix am Hut

Ich habe ja auch nicht davon gesprochen, dass nur die Regendaten falsch sind. :wink:

Hat mit der Wetterlage nix am Hut

Meine Aussage war, dass die extremen Werte in der gesamten Winterperiode nicht ein einziges Mal aufgetreten sind. Es gab sie letzten Sommer und eben wieder seit ein paar Wochen, wobei sie in der besonders warmen Zeit wieder zunehmen.

Hi Fabian,

Ich habe ja auch nicht davon gesprochen, dass nur die Regendaten falsch sind.

Ok. Falsch verstanden :slight_smile:

Dabei ist mir heute aufgefallen, dass sich die Werte zur WS300 stark unterscheiden. Während auf der WS 0.8mm angezeigt wurden, waren es mit dem Script nur ca. 0.6mm. Ich glaube mich erinnern zu können, dass wir mal über einen Wert des Faktors um die 3,7 diskutiert haben.

Siehe hierzu bitte meinen 3.Post in diesem Thread und auch den neuen Wert, das erklärt dann deine Abweichung.

Hallo Rainer,

die Werte habe ich mir angeschaut.

Erst hatte ich die 0.25… drin, dann die 0.30…

Meine Beobachtung:
Zum Vergleich habe ich die WS herangezogen. Nach dem ersten Zählimpuls ging sie auf 0.4 und nach dem zweiten auf 0.8. Während mit dem Faktor von 0.3… nur eben 0.3 und 0.6 im gleichen Zeitraum errechnet wurden. Ich hoffe, da gibt es nicht noch irgendwelche anderen „Probleme“.

Da es allerdings nur sehr wenig geregnet hat, halte ich meine Beobachtung für keinesfalls repräsentativ! Ich werde also die Sache beim nächsten Regen noch mal beobachten.

Gruß
Fabian

Hallo Fabian,

was mich noch interessieren würde, logt deine Wetterstation auch mit.

Mir geht es ja dann auch noch um die anderen Daten. Kommen diese an der Wetterstation einwandfrei an, müsste ja die Software diese Wischer kompensieren.
Andernfalls würde ich dann vermuten, das doch etwas nicht mit dem IPS-Modul ganz i.O ist.
Sind allerdings nur Vermutungen, nix genaues weiß man net. :slight_smile:

Edit:

Meine Beobachtung:
Zum Vergleich habe ich die WS herangezogen. Nach dem ersten Zählimpuls ging sie auf 0.4 und nach dem zweiten auf 0.8. Während mit dem Faktor von 0.3… nur eben 0.3 und 0.6 im gleichen Zeitraum errechnet wurden. Ich hoffe, da gibt es nicht noch irgendwelche anderen „Probleme“.

Die hätte ja dann einen Faktor von 0,4…drin.

Das wäre, für das Volumen des Trichters aber eigentlich zuhoch :confused:

Hallo Rainer,

wie ich mir schon gedacht habe, war das mit dem Faktor unsinn. >> Lag wohl an der zu geringen Regenmenge. Gestern hat es ergiebig geregnet.
Neueste Werte:
Anzeige IPS: 9.9
Anzeige WS: 9,2

Daraus habe ich jetzt mal einen Korrekturwert von 0.2875 errechnet und eingetragen. Jetzt warte ich einfach auf den nächsten Regen. :rolleyes:

Zu den anderen Werten kann ich leider nix sagen. Natürlich empfängt die WS alle Daten, aber die Anzeige wird bei jeder Übertragung aktualisiert. Daher müsste man gerade davorstehen, wenn ein „Ausreißer“ passiert.

Ich hatte hier im Forum bereits von meinem Script zum Loggen aller Eingangsdaten der FHZ per RegisterVariable geschrieben. Da alles parametrisiert ist, wäre auch ein Logging der WS-Daten kein Problem. Allerdings glaube ich mich zu erinnern, dass pro Durchgang nur ein sehr schmales Datenwort übertragen wird.

Ohne die Hilfe von paresy wird das wohl nix mit der Auswertung… :frowning:

Damit könnte man sehen, ob überhaupt schon unsinnige Werte reinkommen.

Aber wie bereits erwähnt, halte ich es wegen der beobachteten Temperaturabhängigkeit für ein Hardwareproblem des KS.

Meine Überlegungen dazu:
Die Temperaturänderung bewirkt immer einen Drift der Taktgeber. Da ich ja auf die Bitfolge synchronisieren muss gibt es im Normalfall eine Präambel. Nach dieser beginnt die Datenübertragung ohne weitere Synchronisation.

Bei steigender Ablage der Frequenzen von KS und FHZ kommt es nun zu Bitverschiebnungen. Bei den FHTs ist das kein Problem, die haben eine Checksumme. Das Paket wird einfach verworfen, wenn es Müll ist. :rolleyes:

Aber wie sieht es mit der Checksumme bei den KS-Daten aus? :confused:
paresy???

Gruß
Fabian

Zu den anderen Werten kann ich leider nix sagen. Natürlich empfängt die WS alle Daten, aber die Anzeige wird bei jeder Übertragung aktualisiert. Daher müsste man gerade davorstehen, wenn ein „Ausreißer“ passiert.

Musst du nicht. Es gibt doch die Min/Max anzeige. Daran sollte man es erkennen.

Die KS300 Daten werden von der FHZ verarbeitet und ganz normal versendet. IPS wertet dann die Daten ganz normal aus mit Checksumme und allem was dazugehört. Mehr kann ich dazu nicht sagen.

paresy