FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: wkarl am 09 August 2014, 07:09:36

Titel: kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: wkarl am 09 August 2014, 07:09:36
Hallo,

ich sitze gerade an etwas Kosmetik für die ein oder andere Darstellung. Dabei kam bei den gplots der TCs und RTs die Frage auf, ist es möglich den kompletten tempList-Verlauf des Tages darzustellen und gleichzeitig die aktuellen Daten von IST-Temperatur.

Bisher habe ich keinen Ansatz im Internet als auch in meinen Überlegungen gefunden.

Daher die Anfrage an Euch - gibt es überhaupt die Möglichkeit, welche Ideen/Ansätze habt ihr?

Danke und ciao
walter
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: chris1284 am 09 August 2014, 09:53:23
mit der Templist kann ich nicht beantworten aber eigentlich spiegelt sich ja die Templist im Wert desired-temp wieder (wenn man nicht per Hand schaltet und der RT nicht auf windows_open die desired-temp verändert)
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: rudolfkoenig am 09 August 2014, 11:38:43
Ich verstehe die Frage vermutlich auch nicht. Solange die einzelnen Datensaetze als Event im Event-Monitor (oder inform) zu sehen sind, kann man diese auch in SVG darstellen. Man muss alle benoetigten Werte mit einem(!) FileLog speichern, und danach das Plot mit den Daten bestuecken.
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: chris1284 am 09 August 2014, 11:49:03
Da die Templist nur als Reading im Clima-Channel des RT zu sehen ist und meine ich nicht im Eventmonitor auftaucht fällt das Loggen flach (macht auch kein Sinn da sie sich eh nicht ändert außer man setzt sie neu).

das Reading sieht so aus (für einen Tag) und hat auchnur den TimeStamp vom auslesen nach setzen (bei mir von vor 6 Monaten...)   
Zitat07:00 16.0 10:00 18.0 24:00 16.0
ein Plott müsste also (es sei einfach mal Freitag) Freitags bis 7 Uhr eine Soll-Temp von 16.0 anzeigen, bis 10:00 18.0 und bis 24:00 wieder 16.0

das geht wirklich am einfachsten mit Desired Temp wenn der RT im Automode ist.
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: wkarl am 09 August 2014, 12:25:14
Zitatist es möglich den kompletten tempList-Verlauf des Tages darzustellen
die Idee ist von der ersten Minute des Tages den kompletten, geplanten Tagesverlauf der desired-temp, so wie er in den TempLists definiert ist, grafisch darzustellen. Die measured-temp wird kontinuierlich wie gewohnt geschrieben. D.h mit dem Blick auf das gplot sehe ich das jetzt IST und SOLL passen, um 17:00 um 4 Grad hochgeregelt wird und um 22:00 auf Nachttemperatur geht.
Grund hierfür das Projekt WAF-Tauglichkeit - ich geben meinen Mädchen die Möglichkeit die Heizung in ihren Zimmern über eine Web-Seite zu kontrollieren. Unterstützt mit dem entsprechenden gplot. Die erste Frage war: "Warum sehe ich nicht den gesamten Tagesplan, der vorgegeben ist". Ich muss dazu noch sagen, dass ich im IT-Software Bereich als PreSales Lösungen verkaufe. Und solche Fragen beim Kunden immer auftauchen und aus meiner Sicht valide sind.
Aber das ganze bitte nicht als kritisch ansehen. Ich hab mir halt Gedanken dazu gemacht und habe keine einfache Lösung gefunden, gut  auch keine komplexe  ;D.
Gut, folglich der finale Schritt - Verifizierung in der community.
Danke und ciao
walter
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: justme1968 am 09 August 2014, 13:15:58


das geht mit filelog nicht da hier die werte zeitlich aufsteigend sortiert sein müssen und die aktuelle temperatur immer wieder an die richtige stelle sortiert werden muss. d.h. eigentlich das log file für jeden aktuellen wert komplett neu geschrieben werden muss.

mit dblog gibt es diese einschränkung nicht. hier könnte man z.b. ein mal am tag das temperatur profil in x minuten abständen erzeugen und die ist temperaturen ganz normal loggen. das problem ist das hierbei aktuelle änderungen dann nicht mehr mit einfließen.

eine mögliche lösung wäre die komplette grafik nicht mit dem SVG modul zu erzeugen sondern direkt live und dann z.b. per weblink darzustellen. oder mit einem eigenen kleinen modul. vielleicht könnte man auch dieses hypothetische neue modul dazu
bringen die daten in einem format auszuspucken das dann mit dem SVG angezeigt werden kann.

martin hat vor einer weile mal code gepostet der den tages/wochen verlauf der solltemperatur dargestellt hat. das könnte man vermutlich als grundlage verwenden.

gruss
  andre
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: rudolfkoenig am 09 August 2014, 13:47:33
Alternativ generiert man die benoetigten Events per notify/etc.
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: wkarl am 09 August 2014, 14:20:15
Hallo Andre,

Zitatein mal am tag das temperatur profil in x minuten abständen erzeugen

Das mit dem dblog ist eine gute Idee (hab die meisten logs sowieso in eine MySQL umgezogen). Aber sind dann nicht die Timestamps der geplanten Temperaturänderungen zu hinterlegen?
Oder verstehe ich Dich falsch.

ciao walter
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: justme1968 am 09 August 2014, 16:21:39
ja. genau. du kannst z.b. ein mal um 0:01 die jeweiligen schaltzeiten für den ganzen tag ins log schreiben. Schau mal im netatmo oder withings modul wie man ein event für einen anderen zeitpunkt als jetzt erzeugt.

ich habe gerade eine idee wie man über ein neues modul beliebig ihr daten zusätzlich in einen plot bekommt. unabhängig von filelog oder dblog. ich kann es aber erst nächste woche probieren. ich habe gerade weder strom noch wasser. dafür sehr viel natur :)

gruss
  andre
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: Bennemannc am 09 August 2014, 23:46:20
Hallo,

für die RT's habe ich folgende Log Definition
./log/TEMP_BAD-%W-%Y.log Thermostat_1_Clima:T:.*
Da werden dann Soll-, Isttemperatur und die Ventilstellung geloggt. Das Ganze kann man dann schön in einem Plot darstellen - auch um zusehen, wie der RT regelt. Das sollte auch für die TC's gehen. Ich habe zusätzlich noch Event-on-change .* gesetzt! um die Daten etwas zu minimieren.

Gruß Christoph
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: justme1968 am 23 August 2014, 19:35:44
ich habe inzwischen ein modul fast fertig mit dem man unter anderem beliebige zusätzliche daten in einen plot einblenden kann.

bis jetzt gibt es das beispiel nur zum einblenden des wochenprofils von für Heating_Controll/WeekdayTimer devices. wenn ich zurück komme baue ich noch das profil von max thermostaten ein. homematic thermostate würde ich auch gerne noch einbauen ich habe aber kein passendes device.

es wäre schon wenn mir jemand ein list von einem hm thermostat mit wochenprofil machen würde.

ps: das modul kann noch ein paar nette dinge mehr:
- mischen von mehreren FileLog/DbLog devices in einem plot
- einblenden von achsen
- horizontales verschieben der kurven zueinander um z.b. die min/max/average werte von average auf den richtigen tag zu schieben
- eben das einblenden beliebiger live erzeugter daten
- mal sehen was mir noch einfällt.

im screenshot sieht man z.b einen temperatur verlauf aus einem DbLog, ein temperatur profil direkt aus dem device dazu gerendert und den temperatur durchschnitt aus $data{avg2} als horizontale linie.

gruss
  andre
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: frank am 24 August 2014, 05:20:51
hallo andre,

sehr genial.
thermostatplots interessieren mich zur zeit noch nicht so sehr, sondern vor allem die "hilfslinien". in deinen feature-listen vermisse ich noch zeitfunktionen (f(t)=a*y+b, sin, rechteck, sägezahn, trapez) und vertikale linien (besonders der aktuelle plotzeitpunkt). ist es eventuell auch möglich für min und max jeweils nur einen fetten punkt zu plotten?

die thermostatplots liebe ich jetzt doch schon. da kann man sich ja schon diverse impuls- und rechteckverläufe zusammen basteln. wahnsinn.  :)

leider finde ich keinen code zum testen.  :'(

gruss frank
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: wkarl am 24 August 2014, 08:27:24
Hallo Andre,

hier ein list des Climate-channels
Internals:
   CFGFN      /opt/fhem/MyFHEM/HausErdgeschoss/Buero.cfg
   DEF        1B3E3D02
   NAME       Buero_TC_Climate
   NR         505
   STATE      manual
   TYPE       CUL_HM
   chanNo     02
   device     Buero_TC
   peerList   Buero_FH,
   CHANGETIME:
   Helper:
     Dblog:
       Desired-temp:
         Mydblog:
           TIME       1408731796.63655
           VALUE      18.0
       State:
         Mydblog:
           TIME       1408861426.2806
           VALUE      0
   Readings:
     2014-08-22 20:23:16   CommandAccepted yes
     2014-08-22 07:43:38   R-controlMode   manual
     2014-08-22 07:43:38   R-day-temp      21 C
     2014-08-18 11:56:20   R-decalHr       6 h
     2014-08-18 11:56:20   R-decalMin      0 min
     2014-08-22 07:43:38   R-decalcDay     Sat
     2014-08-22 07:43:38   R-displayMode   temp-only
     2014-08-22 07:43:38   R-displayTemp   actual
     2014-08-22 07:43:38   R-displayTempUnit celsius
     2014-08-22 07:43:38   R-mdTempValve   auto
     2014-08-22 07:43:38   R-night-temp    17 C
     2014-08-22 07:43:38   R-party-temp    20 C
     2014-08-22 07:43:42   R_0_tempListSat 05:00 18.0 07:00 21.0 09:00 21.0 17:00 21.0 23:00 21.0 24:00 18.0
     2014-08-22 07:43:42   R_1_tempListSun 05:00 18.0 07:00 21.0 09:00 21.0 17:00 21.0 23:00 21.0 24:00 18.0
     2014-08-22 07:43:42   R_2_tempListMon 05:00 18.0 07:00 21.0 09:00 21.0 17:00 21.0 23:00 21.0 24:00 18.0
     2014-08-22 07:43:42   R_3_tempListTue 05:00 18.0 07:00 21.0 09:00 21.0 17:00 21.0 23:00 21.0 24:00 18.0
     2014-08-22 07:43:42   R_4_tempListWed 05:00 18.0 07:00 21.0 09:00 21.0 17:00 21.0 23:00 21.0 24:00 18.0
     2014-08-22 07:43:42   R_5_tempListThu 05:00 18.0 07:00 21.0 09:00 21.0 17:00 21.0 23:00 21.0 24:00 18.0
     2014-08-22 07:43:42   R_6_tempListFri 05:00 18.0 07:00 21.0 09:00 21.0 17:00 21.0 23:00 21.0 24:00 18.0
     2014-08-22 07:43:42   R_tempList_State verified
     2014-08-22 07:43:42   controlMode     manual
     2014-08-22 07:43:42   day-temp        21 C
     2014-08-22 07:43:42   decalcDay       Sat
     2014-08-22 20:23:16   desired-temp    18.0
     2014-08-22 07:43:42   displayMode     temp-only
     2014-08-22 07:43:42   displayTemp     actual
     2014-08-22 07:43:42   displayTempUnit celsius
     2014-08-22 07:43:42   night-temp      17 C
     2014-08-22 07:43:42   party-temp      20 C
     2014-08-22 20:21:10   peerList        Buero_FH,
     2014-08-22 20:23:16   recentStateType ack
     2014-08-24 08:23:45   state           0
   Helper:
     Role:
       chn        1
Attributes:
   TCsClimateStruct AllTCsClimate
   event-min-interval state:600
   event-on-change-reading state
   event-on-update-reading .*
   expert     1_on
   group      Buero_Fussboden,Buero_Heizung
   icon       temp_control
   model      HM-CC-TC
   peerIDs    00000000,1D7B1001,
   room       H-EG-R-Buero
   stateFormat R-controlMode
   webCmd     controlMode:desired-temp

Wenn Du mehr benötigst lass es mich wissen.

ciao walter
Titel: kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: justme1968 am 24 August 2014, 11:42:14
@frank: deine liste fällt komplett unter beliebige sonstige daten. das ist alles mit jeweils einer kleinen perl funktion möglich. du bekommst start und end zeitpunkt übergeben und gibst alle generierten alle punkte der kurve zurück. die temperatur profile sind nur ein Beispiel für so eine funktion. einen punkt bekommst du wie für alle plots über die linien form points.

@wkarl: danke.

das modul wird in Frontend gepostet sobald alles geht :)

gruss
  andre
Titel: Antw:kompletten SOLL-Temperaturverlauf eines Tages in gplot plus IST-Temperatur
Beitrag von: justme1968 am 26 August 2014, 22:49:25
eine erste version gibt es hier: http://forum.fhem.de/index.php/topic,26529.0.html (http://forum.fhem.de/index.php/topic,26529.0.html).

kurze version:
define lp logProxy
#logProxy Func:logProxy_WeekProfile2Plot("<device>",$from,$to)

plot "<IN>" using 1:2 axes x1y3 title 'profile' ls l4 lw 1 with steps,\


gruss
  andre