"Zukunftswerte" anzeigen

Begonnen von Kharim, 02 Oktober 2016, 11:11:15

Vorheriges Thema - Nächstes Thema

Kharim

Hallo Zusammen,

muss ich am TabletUI Chart eine bestimmte Einstellung setzen um Werte, die noch in der Zukunft stehen, anzuzeigen?

Hintergrund:
Die Werte sind monatliche Durchschnittswerte für Temperaturen und Luftfeuchte.
Diese Werte werden "laufend" in eine Datenbank geschrieben. Jede Nacht läuft eine Durchschnittsberechnung über alle Werte des aktuellen Monats.
Die Durchschnittswerte selbst werden wiederum in die Datenbank geschrieben/aktualisiert.
Dabei wird immer das Datum 15.MM.YYYY verwendet.
Nun zum neuen Monat sind wieder neue Werte in der DB vorhanden. Diese werden aber (noch) nicht im Chart angezeigt. Warum?

Die Durchschnittswerte-Einträge sehen wie folgt aus:

"2016-09-15 12:00:00";"StatMon";" ";" ";"Wohnzimmersensor.temperature";"23.38";" "
"2016-09-15 12:00:00";"StatMon";" ";" ";"Wohnzimmersensor.humidity";"61.71";" "
"2016-09-15 12:00:00";"StatMon";" ";" ";"Kuechesensor.temperature";"22.56";" "
"2016-09-15 12:00:00";"StatMon";" ";" ";"Kuechesensor.humidity";"64.81";" "
"2016-09-15 12:00:00";"StatMon";" ";" ";"Schlafzimmersensor.temperature";"22.43";" "
"2016-09-15 12:00:00";"StatMon";" ";" ";"Schlafzimmersensor.humidity";"61.71";" "
"2016-10-15 12:00:00";"StatMon";" ";" ";"Balkonsensor.temperature";"16.7";" "
"2016-10-15 12:00:00";"StatMon";" ";" ";"Balkonsensor.humidity";"75.59";" "
"2016-10-15 12:00:00";"StatMon";" ";" ";"Badsensor.temperature";"20.83";" "
"2016-10-15 12:00:00";"StatMon";" ";" ";"Badsensor.humidity";"73.52";" "
"2016-10-15 12:00:00";"StatMon";" ";" ";"Kinderzimmersensor.temperature";"21.31";" "
"2016-10-15 12:00:00";"StatMon";" ";" ";"Kinderzimmersensor.humidity";"65.8";" "
"2016-10-15 12:00:00";"StatMon";" ";" ";"Wohnzimmersensor.temperature";"21.86";" "


Das UI Chart:
<div data-type="chart"
data-logdevice='["logdb","logdb","logdb","logdb","logdb","logdb","logdb","logdb"]'
data-logfile='["HISTORY","HISTORY","HISTORY","HISTORY","HISTORY","HISTORY","HISTORY","HISTORY"]'
data-columnspec='["StatMon:Balkonsensor.temperature","StatMon:Wohnzimmersensor.temperature","StatMon:Badsensor.temperature","StatMon:Kuechesensor.temperature","StatMon:Balkonsensor.humidity","StatMon:Wohnzimmersensor.humidity","StatMon:Badsensor.humidity","StatMon:Kuechesensor.humidity"]'
data-style='["ftui l0","ftui l1","ftui l2","ftui l3","ftui l4","ftui l5","ftui l6","ftui l7"]'
data-ptype='["quadraticSmooth","quadraticSmooth","quadraticSmooth","quadraticSmooth","quadraticSmooth","quadraticSmooth","quadraticSmooth","quadraticSmooth"]'
data-uaxis='["primary","primary","primary","primary","secondary","secondary","secondary","secondary"]'
data-legend='["Temp Balkon","Temp Wohnzi","Temp Bad","Temp Kueche","Feuchte Balkon","Feuchte Wohnzi","Feuchte Bad","Feuchte Kueche"]'
data-yunit=" &deg;C"
data-ytext="Temperatur"
data-yunit_sec="%"
data-ytext_sec="Feuchte"
data-minvalue="auto"
data-maxvalue="auto"
data-minvalue_sec="auto"
data-maxvalue_sec="auto"
data-height="500"
data-width="900"
data-yticks="auto"
data-nofulldays="true"
data-daysago_start="0y"
data-timeformat="MMM\yy"
data-showlegend="true"
data-xticks="43200"
data-cursorgroup="1"
data-scrollgroup="1"
</div>


Vielen Dank,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Kharim

Schade das keiner eine Idee hat.
Daher fürs Protokoll:
                                 Ich habe nun meine DB Einträge der Durchschnitte auf den 1. des Monats umgebaut und schon sehe ich die Werte im Chart.
Es ist also wirklich so, dass Chart zeigt keine Werte an, die noch in der Zukunft liegen.....schade eigentlich.


Viele Grüße,
Kharim
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Eisix

Hallo,

das ist so nicht korrekt. Es werden Werte in der Zukunft angezeigt. Siehe rote Kurve in meinem Screenshot.
Ich hole die Daten aus einem Log und habe manuell ein paar Werte in der Zukunft eingetragen.


                        data-daysago_start="3"
                        data-daysago_end="-5"



Was mir noch fehlt ist ein Perl Experte der mir erklärt wie ich meinen Zeitstempel beim loggen in die Zukunft setze.
Momentan schreibe ich das reading ganz normal weg mit FileLog


DEF   ./log/Schildis_TempMin.log Wetter:fc1_tempMin:.*


Möchte aber den Zeitstempel +24h schreiben.

Mit FileLog sollte das auch bei dir funktionieren wenn du deine Werte entsprechen in das Log schreibst.

Oder gibt es eine elegantere Lösung?

Gruß
Eisix

Kharim

Hm...bei dir sieht das Chart aber auch anders aus....meines endet rechts immer mit dem aktuellen Datum.

Werte in die Zukunft eintragen soll mit dem Modul logproxy funktionieren.
Habe es selbst noch nicht probiert aber sieht vielversprechend aus:
http://www.fhemwiki.de/wiki/LogProxy
Hilfen zum Manipulieren von Zeitpunkten

    SVG_time_to_sec($time)
    Wandelt den String $time im format yyyy-mm-dd_hh:mm:ss in Sekunden um.
    logProxy_shiftTime($time,$offset)
    Verschiebt den Zeitpunkt $time (als String) um $offset Sekunden (oder um $offset Monate wenn $offset mit einem m endet).
    logProxy_Range2Zoom($seconds)
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Eisix

Hier mal das komplette Chart zum probieren


                <div data-type="chart"
                        data-logdevice='["Schildis_TempLog","FileLog_Sensor_aussen","Schildis_TempMin"]'
                        data-columnspec='["4:temperature","4:temperature","4:fc1_tempMin"]'
                        data-style='["ftui l4","ftui l0fill","ftui l2"]'
                        data-ptype='["lines","lines","lines"]'
                        data-uaxis='["primary","primary","primary"]'
                        data-legend='["Schildkröten", "außen", "Min"]'
                        data-yunit="°C"
                        data-minvalue="auto"
                        data-maxvalue="auto"
                        data-yunit_sec="°C"
                        data-minvalue_sec="auto"
                        data-maxvalue_sec="auto"
                        data-yticks="auto"
                        data-height="200"
                        data-daysago_start="3"
                        data-daysago_end="-5"
                        data-crosshair="true"
                        data-cursorgroup="1"
                        data-scrollgroup="1"
                        data-showlegend="false"
                        data-xticks="auto">
                </div>



Sollte die letzten 3 Tage und die nächsten 5 Tage zeigen.

Am besten legst du dir manuell ein Log an mit ein paar Einträgen zum testen.

Gruß
Eisix

Kharim

data-daysago_end="-5"

Ja, Nee also auf die Idee bin ich nicht gekommen :-D
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Eisix


ich habs auch erst mit + probiert wie wahrscheinlich jeder andere auch!  :o

Eisix

Habe jetzt mal mit LogProxy probiert



                <div data-type="chart"
                        data-logdevice='["Schildis_TempLog","FileLog_Sensor_aussen","lp","lp"]'
                        data-columnspec='["4:temperature","4:temperature","4:Wetter.fc1_tempMin\x3a:($time,86400):","ConstY:4"]'
                        data-style='["ftui l4","ftui l0fill","ftui l2","ftui l6"]'
                        data-ptype='["lines","lines","lines","lines"]'
                        data-uaxis='["primary","primary","primary","primary"]'
                        data-legend='["Schildkröten", "außen", "Min", "kritisch"]'
                        data-yunit="°C"
                        data-minvalue="auto"
                        data-maxvalue="auto"
                        data-yunit_sec="°C"
                        data-minvalue_sec="auto"
                        data-maxvalue_sec="auto"
                        data-yticks="auto"
                        data-height="200"
                        data-daysago_start="3"
                        data-daysago_end="-3"
                        data-crosshair="true"
                        data-cursorgroup="1"
                        data-scrollgroup="1"
                        data-showlegend="false"
                        data-xticks="auto">
                </div>


Die dritte Linie mit dem Zeit Offset funktioniert nicht. Liegt das an dem $time? Bin noch nicht ganz durchgestiegen wie das funktioniert.
ConstY:4 wird korrekt angezeigt, also gehe ich mal davon aus das das setup grundsätzlich richtig ist.

Jemand eine Idee?

Gruß
Eisix

Kharim

Hm....wie gesagt ich hab den Logproxy noch nie verwendet, aber ich würde behaupten wollen du musst mittels Logproxy die Werte in den Text/DB Log schreiben und ganz nochmal im Chart auslesen......
Raspberry Pi 2 + Minibian + 2x MAX Cube CUN (868/433Mhz) + Thermostate + Fensterkontakte + Taster+RGB-LED Band über pigpiod + TFA Sensoren 30.3169/3125
Raspberry Pi 2 + Minibian +Z-Wave (USB) + Bewegungsmelder + Fensterkontakt + Sirene + SMS Steuer-/Benachrichtigung (ohne Internet)

Eisix

Hallo,

der Vollständigkeit halber:

Chart mit ConstY bei 4 und fc1_tempMin um 24h versetzt. Beides über LogProxy.




<div data-type="chart"
        data-logdevice='["Schildis_TempLog","lp","lp","FileLog_Sensor_aussen"]'
        data-columnspec='["4:temperature","FileLog:Schildis_TempMin,offset=60*60*24:4:Wetter.fc1_tempMin::","ConstY:4","4:temperature"]'
        data-style='["ftui l4","ftui l6","ftui l2","ftui l0fill"]'
        data-ptype='["lines","lines","lines","lines"]'
        data-uaxis='["primary","primary","primary","primary"]'
        data-legend='["Schildkröten", "morgen", "kritisch", "außen"]'
        data-yunit="°C"
        data-minvalue="auto"
        data-maxvalue="auto"
        data-yunit_sec="°C"
        data-minvalue_sec="auto"
        data-maxvalue_sec="auto"
        data-height="200"
        data-daysago_start="2"
        data-daysago_end="-1"
        data-crosshair="true"
        data-cursorgroup="1"
        data-scrollgroup="1"
        data-showlegend="false"
        data-yticks="auto"
        data-xticks="auto">
</div>



Gruß
Eisix