SOLVED: fehlerhafte Darstellung in den einzelnen Zoomstufen?

Begonnen von Grinsekatze, 12 Oktober 2016, 19:17:46

Vorheriges Thema - Nächstes Thema

Grinsekatze

Hm, nun habe ich hier auch mal ein Problem.

Ich habe mir für meine HM-CC-RT-DNs und HM-TC-IT-WM-W-EUs SVG Plots erstellt, die mir die gewünschte und gemessene Temperaturen sowie die Ventilstellungen visualisieren sollen. Bzw. bei den Wandthermostaten statt der Ventilposition die Luftfeuchte anzeigen sollen.

Das klappte soweit auch gut. Jedoch wird nun im Anschluss in der Standard-Ansicht (der Wochentag unterteilt in seine Stunden) nur die gemessene Temperatur visualisiert. Zoome ich eine Stufe heraus (Anzeige der Woche unterteilt in die einzelnen Tage), dann werden mir alle drei Informationen angezeigt.

Ich möchte jedoch dies auch für die jeweiligen Stunden des Tages sehen können - aber wie?

Eine zweite Sache, die mir aufgefallen ist: Die Ventilpositionen werden etwas merkwürdig ausgegeben (s. Screenshot). Ist das bei euch auch so?

Vielleicht als Hinweis: Ich habe für alle Geräte ein "event-on-change .*" definiert um die Datenlast gering zu halten.

Edit:
Ach ja, bevor ich es vergesse: die gplots sind so definiert:
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<TL>'
set ytics
set y2tics
set grid y2tics
set ylabel "Luftfeuchte (%)"
set y2label "Temperatur (°C)"
set yrange [0:100]
set y2range [15:26]

#FileLog_WandthermostatSchlafzimmer 4:measured-temp\x3a::
#FileLog_WandthermostatSchlafzimmer 4:desired-temp\x3a::
#FileLog_WandthermostatSchlafzimmer 4:humidity\x3a::

plot "<IN>" using 1:2 axes x1y2 title 'Gemessen' ls l0fill lw 2 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Gewünscht' ls l1fill lw 1 with lines,\
     "<IN>" using 1:2 axes x1y1 title 'Luftfeuchte' ls l2 lw 1 with lines

Eingebunden ist es dann so:
define Plot_WandthermostatSchlafzimmer SVG FileLog_WandthermostatSchlafzimmer:My_WandthermostatSchlafzimmer:CURRENT
attr Plot_WandthermostatSchlafzimmer room Plots

rudolfkoenig

Fehlerhaft ist so'ne Sache: wenn im betreffenden Zeitraum keine Daten aufgezeichnet wurden, was soll das Plot darstellen?
Fuer Wahrsagen und Raten ist eher logProxy zustaendig.
event-on-change mag nett sein, ich verwende es aber nicht, weil ich die empfangenen Daten halt auch aufzeichnen will.
Vielleicht hilft es, wenn man event-on-change mit event-min-interval kombiniert. Und hoffentlich funktioniert das, sonst muss ich wieder 2 Stunden den Code anstarren, bis ich ihn verstanden habe :)

ZitatDie Ventilpositionen werden etwas merkwürdig ausgegeben (s. Screenshot). Ist das bei euch auch so?
Nein, bei mir schaut es ok aus.
Sowas haengt haeufig von der Definition des Plots ab (Begrenzung der Skala, Zuordnung der Linie nach Links/Rechts, usw.).

justme1968

im plot werden keine werte dargestellt wenn es für den angezeigten zeitraum keine datenpunkte gibt. das kannst du mit logProxy lösen.

ventilposition schaut aus als ob du lines verwendest. steps sollte besser passen.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

dev0

Über das Wahrsagen mußte ich gerade wirklich herzhaft lachen ;)

Zitat von: rudolfkoenig am 12 Oktober 2016, 22:43:43
Vielleicht hilft es, wenn man event-on-change mit event-min-interval kombiniert. Und hoffentlich funktioniert das, sonst muss ich wieder 2 Stunden den Code anstarren, bis ich ihn verstanden habe :)
Bei funktioniert die Kombination aus -on-change und -min-interval so wie es soll.

Grinsekatze

#4
Danke für die Hilfe!
Ich habe jetzt spaßeshalber mal bei einem Zimmer das -on-Change Attribut entfernt und offenbar liegt es tatsächlich daran, dass zuvor zu wenig geloggt wurde.

Ich hatte die Attribute ursprünglich eingepflegt um die Zugriffe auf die SD-Karte des Pis gering zu halten. Vor ein paar Wochen habe ich jedoch die Logs auf ein USB-Stick ausgelagert. Jedoch habe ich, da bis jetzt alles funktionierte (und vorher keine Plots benötigt), die Attribute nicht entfernt.

Ich werde nun mal mit der Kombination -on-change und -min-interval experimentieren.

Zur Ventilposition: Ja das hatte ich als line definiert. Wobei sie auf dem neuen Plot (ohne -on-Change) noch nicht aufgeführt wird. Das kann aber auch daran liegen, dass meine Frau gestern Nacht dort im Raum das Fenster geöffnet hat und die Heizung darum sowieso runtergefahren wurde.


Edit:
Ich habe jetzt erst mal mit diesen Werten getestet:
attr WandthermostatWohnzimmer event-min-interval battery:1800, desired-temp:1800, measured-temp:1800
attr WandthermostatWohnzimmer event-on-change-reading battery, desired-temp, measured-temp
attr WandthermostatWohnzimmer event-on-update-reading .*

Das scheint soweit auch gut zu funktionieren, wobei ich noch experimentiere, ob ich die Intervalle verlängern kann ohne einen "Datenabriss" im Plot zu bekommen.
Nachdem ich mich im event-on-change-reading Wiki umgesehen habe ist mir dann auch folgendes aufgefallen:
ZitatIn der Regel ist es sinnvoll, event-on-change-reading mit min-interval zu kombinieren, min-interval deshalb, damit von Zeit zu Zeit Einträge in das Logfile geschrieben werden (findet FHEM zu wenige Ereignisse pro betrachteter Zeitspanne, bleibt das Diagramm leer oder wird nur teilweise gezeichnet (Plotabriss)).
Das habe ich damals wohl überlesen, weil ich eh ohne Plots gearbeitet habe  ::) :-[