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
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)
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.
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.
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
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
Alternativ generiert man die benoetigten Events per notify/etc.
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
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
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
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
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
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
@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
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:
- logProxy device definieren:
define lp logProxy
- .gplot file erstellen mit einer #logProxy und einer plot zeile:
#logProxy Func:logProxy_WeekProfile2Plot("<device>",$from,$to)
plot "<IN>" using 1:2 axes x1y3 title 'profile' ls l4 lw 1 with steps,\
gruss
andre