Logging (SVG Plots) von Schalter und HCS?

Begonnen von friedleif, 12 November 2016, 16:48:16

Vorheriges Thema - Nächstes Thema

friedleif

Hallo,

ich versuche gerade mittels HCS die Therme anzusteuern.

Leider bekomme ich kein vernünftiges Logging bzw. SVG Plots hin um die Schaltzustände übersichtlich darzustellen.
So wirklich gefunden habe ich dazu auch nichts.
Möchte das über ein paar Tage kontrollieren bevor es atatsächlich mit der Therme verbunden wird um eventuell zu häufiges takten schon vorher zu erkennen.

Der Schalter ist wie folgt angelegt:

#1-fach Schaltaktor Therme
define HM_4C34B6 CUL_HM 4C34B6
attr HM_4C34B6 IODev HmUART1
attr HM_4C34B6 IOgrp VCCU:HmUART1
attr HM_4C34B6 alias ThermeFern
attr HM_4C34B6 group Heizungssteuerung
attr HM_4C34B6 autoReadReg 4_reqStatus
attr HM_4C34B6 devStateIcon Absenkung:time_eco_mode Heizen:icoHEIZUNG
attr HM_4C34B6 eventMap on:Absenkung off:Heizen
attr HM_4C34B6 expert 2_raw
attr HM_4C34B6 firmware 1.7
attr HM_4C34B6 icon sani_boiler_temp
attr HM_4C34B6 model HM-LC-SW1-BA-PCB
attr HM_4C34B6 msgRepeat 1
attr HM_4C34B6 peerIDs 00000000,
attr HM_4C34B6 room CUL_HM,Therme
attr HM_4C34B6 serialNr NEQ0000000
attr HM_4C34B6 subType switch
attr HM_4C34B6 webCmd statusRequest:Absenkung:Heizen

define FileLog_HM_4C34B6 FileLog ./log/HM_4C34B6-%Y.log HM_4C34B6
attr FileLog_HM_4C34B6 logtype text
attr FileLog_HM_4C34B6 room CUL_HM,Therme

define SVG_FileLog_HM_4C34B6_1 SVG FileLog_HM_4C34B6:SVG_FileLog_HM_4C34B6_1:CURRENT
attr SVG_FileLog_HM_4C34B6_1 room Therme


Leider bekomme ich im SVG Plot keine Darstellung. Angezeigt werden sollen Kurven aus denen die Absenkung (on) bzw. Heizen (off) ersichtlich ist.


HCS sieht derzeit so aus:

#Thermensteuerung
define HCSTherme HCS HM_4C34B6
attr HCSTherme alias Wärmebedarf
attr HCSTherme group Heizungssteuerung
attr HCSTherme room Therme
attr HCSTherme thermostatThresholdOn 1
attr HCSTherme thermostatThresholdOff 0.5
attr HCSTherme mode thermostat
attr HCSTherme idleperiod 10
attr HCSTherme ecoTemperatureOn 12
attr HCSTherme ecoTemperatureOff 25
attr HCSTherme deviceCmdOn off
attr HCSTherme deviceCmdOff on
attr HCSTherme exclude HM_4CF648
attr HCSTherme event-on-change-reading state,devicestate,eco,overdrive

define FileLog_HCSTherme FileLog ./log/HCSTherme-%Y.log HCSTherme
attr FileLog_HCSTherme logtype text
attr FileLog_HCSTherme room Therme


Hier scheint das Filelog schon suboptimal zu sein da nur wenige Einträge entstehen:

2016-11-12_15:41:40 HCSTherme idle
2016-11-12_16:11:41 HCSTherme devicestate: off
2016-11-12_16:11:41 HCSTherme demand
2016-11-12_16:14:01 HCSTherme devicestate: on
2016-11-12_16:14:01 HCSTherme idle

In der letzten halben Stunde also keine Einträge.
Auch hier soll im Endeffekt über einen SVG Plot dargestellt werden wann Wärmebedarf besteht und wann nicht.

Danke!

friedleif

Hallo,

bin diesbezüglich etwas weiter gekommen indem ich das pct reading vom Schaltaktor verwende.

Die Definition vom Schalter mit logs sieht jetzt also so aus:
define HM_4C34B6 CUL_HM 4C34B6
attr HM_4C34B6 IODev HmUART1
attr HM_4C34B6 IOgrp VCCU:HmUART1
attr HM_4C34B6 alias ThermeFern
attr HM_4C34B6 autoReadReg 4_reqStatus
attr HM_4C34B6 devStateIcon Absenkung:time_eco_mode Heizen:icoHEIZUNG
attr HM_4C34B6 eventMap on:Absenkung off:Heizen
attr HM_4C34B6 expert 2_raw
attr HM_4C34B6 firmware 1.7
attr HM_4C34B6 group Heizungssteuerung
attr HM_4C34B6 icon sani_boiler_temp
attr HM_4C34B6 model HM-LC-SW1-BA-PCB
attr HM_4C34B6 msgRepeat 1
attr HM_4C34B6 peerIDs 00000000,
attr HM_4C34B6 room CUL_HM,Therme
attr HM_4C34B6 serialNr NEQ0000000
attr HM_4C34B6 subType switch
attr HM_4C34B6 webCmd statusRequest:Absenkung:Heizen

define FileLog_HM_4C34B6 FileLog ./log/HM_4C34B6-%Y.log HM_4C34B6
attr FileLog_HM_4C34B6 logtype text
attr FileLog_HM_4C34B6 room CUL_HM,Therme

define SVG_FileLog_HM_4C34B6_1 SVG FileLog_HM_4C34B6:SVG_FileLog_HM_4C34B6_1:CURRENT
attr SVG_FileLog_HM_4C34B6_1 label "Schaltzeiten Status: $data{currval1}"
attr SVG_FileLog_HM_4C34B6_1 room Therme


Das resultierende gplot File so:
# Created by FHEM/98_SVG.pm, 2016-11-17 21:31:06
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 '<L1>'
set ytics
set y2tics
set grid
set ylabel ""
set y2label ""

#FileLog_HM_4C34B6 4:HM_4C34B6.pct\x3a::$fld[3]*-1

plot "<IN>" using 1:2 axes x1y2 title 'Heizen' ls l1fill_stripe lw 1 with lines



Noch zu lösen:

- Durch das $fld[3]*-1 fängt die y-Achsen Beschriftung bei -100 an und geht bis 0. Da wäre 0 bis 1 oder ganz weg schöner.

- Im Label sollte eigentlich der aktuelle Status stehen, also Heizen bei pct=0 und Absenkung bei pct=100