Weather: Yahoo, readings wind_direction und wind_condition in DBLog falsch

Begonnen von blofield, 19 März 2016, 11:26:11

Vorheriges Thema - Nächstes Thema

blofield

Hallo Community,

ich nutze Weather mit den Daten von Yahoo. Zudem ist bei mir DBLog aktiviert.
Ich wollte jetzt aus den Daten einen Plot erzeugen, der mir Windstärke und Windrichtung anzeigt.
Dabei ist mir aufgefallen, dass in der Datenbank beim Logging der Readings die beiden Readings:
wind_condition und wind_direction in das Reading wind_direction geloggt werden.

wind_condition liefert aber anders als wind_direction auch Text z.B. Wind: NNW 1 km/h
wind_direction nur numerische Werte z.B. 330

Wenn man jetzt einen Plot macht, der wind_direction als input verwendet, dann sind leider auch wind_condition Werte dabei, weil die in der DB in das selbe reading geloggt werden.
Dieses wird im Plot als Nulllinie ausgewertert - und sieht dann nicht wie gewünscht aus.

Ein DBLogExclude auf wind_condition.* war mein erster Lösungsansatz, das funktioniert aber nicht !?
Wer hat noch einen anderen Vorschlag?

Danke!
blofield

betateilchen

Zitat von: blofield am 19 März 2016, 11:26:11
Wer hat noch einen anderen Vorschlag?

einfache Lösung: ein userreading anlegen.
komplizierte Lösung: eine regexp verwenden, die bei der Ploterstellung den benötigten Wert aus dem reading extrahiert.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

blofield

Danke!
Userreading funktioniert prima :D

Regexp im gplot hatte ich auch versucht, da wurde dann auch bei "show preprocessed input." richtig herausgefiltert, jedoch waren die Zeilen im processed Log dann NULL (durch die Regexp) und das sah dann im Plot leider genau so aus wie ohne Regexp...

Zudem interessiert mich, ob es ein Fehler im DBLog ist, oder im Weather Modul. Ich würde ja lieber den Fehler korrigieren, als die Symptome kaschieren.

blofield

atueting

Hallo!

Das Module bringt die Events 'wind_condition' und 'wind_direction' durcheinander!  Er legt hierfür jeweils die gleichen Readings 'wind_direction' an!  Somit ist es unmöglich einen Plot zu erzeugen!

atueting

harmuel

Hallo,

hatte das gleiche Problem, bei mir gab es im plot zu jedem Zeitwert zwei unterschiedliche Werte für die Windrichtung...

Daraufhin habe ich in meiner MySQL-Datenbank ein event eingerichtet, das regelmäßig das fehlerhafte reading korrigiert:

UPDATE current SET reading = 'wind_condition' WHERE event LIKE 'wind_condition%' AND reading LIKE 'wind_direction';
UPDATE history SET reading = 'wind_condition' WHERE event LIKE 'wind_condition%' AND reading LIKE 'wind_direction';

Funktioniert einwandfrei, die MySQL muß allerdings mindestens v5.1 haben und die den event_scheduler aktivieren mit:

SET GLOBAL event_scheduler = ON;