Monatsplots

Begonnen von stgeran, 30 September 2013, 10:49:23

Vorheriges Thema - Nächstes Thema

stgeran

Wie kann ich einen Monatsplot erzeugen. Die Plots gehen immer nur über einen Tag. Einzelne Tageslogs kann ich erzeugen.
Ziel wäre es, die Tage als Balken im Monatsplot dar zu stellen.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

UliM

Hi,
auf das Lupensymbol mit dem Minuszeichen (herauszoomen) klicken und warten...?
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

fiedel

... oder das Attribut:



attr Plotname fixedrange month


verwenden. ;o)

Könnte dann so aussehen:


(siehe Anhang / see attachement)




Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

stgeran

Ich bekomme das mit fixedrange month nicht hin. Ich habe:

define weblink_Strom SVG FileLog_Strom:Pflug1:CURRENT
attr weblink_Strom label "Strom Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Strom fixedrange month
attr weblink_Strom plotsize 800,150
attr weblink_Strom room Plots

fhem meckert nicht beim abspeichern, aber es passiert auch mit den plots nichts.
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

fiedel

Hi,

irgendwie sieht deine Definition seltsam aus. Da steht bei dir "SVG" statt "weblink fileplot" und das kenne ich so nicht. Deshalb einmal komplett zum abgucken: ;o)


define 02_Energie_Monat weblink fileplot Log_Energy_Y:energie_monat:CURRENT
attr 02_Energie_Monat fixedrange month
attr 02_Energie_Monat fp_7_Plots_Energie 450,590,0,
attr 02_Energie_Monat label "Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr 02_Energie_Monat room 1_Energie


Möglich wäre (der Vollständigkeit halber) auch noch:


#attr 02_Energie_Monat fixedrange day
#attr 02_Energie_Monat fixedrange year
#attr 02_Energie_Monat fixedrange 2013-01-01 2014-01-01


Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

Niko

Achtung: Das mit dem "SVG" ist neuerdings richtig (Update vor ca. 4 Wochen)

Wie sieht denn Deine gplot Datei aus? Ein paar Zeilen aus dem Logfile wären auch noch hilfreich.

VG Niko

stgeran

Das hab ich auch gedacht. Hier ist der "plotteil"

define FileLog_Strom FileLog ./log/Strom-%Y.log Strom:CNT.*
attr FileLog_Strom logtype Pflug_Strom:Power,text
attr FileLog_Strom room CUL_EM
define FileLog_Strom_d FileLog ./log/Meine_Logs/Strom-%d-%m-%Y.log Strom:CNT.*

Die letzte Zeile erzeugt einen Tageslog. Mir fehlt nur der Trick am Ende des Tages eine Summe zu bilden und die dann in einer "Summendatei" abzulegen.
Die könnte ich dann als Grundlage für einen Monatsplot nehmen.
Noch ein Auszug aus der "Tagesplotdatei"

2013-10-09_00:02:33 Strom CNT: 212 CUM: 105.768  5MIN: 0.656  TOP: 48.000
2013-10-09_00:07:34 Strom CNT: 213 CUM: 105.823  5MIN: 0.656  TOP: 1.333
2013-10-09_00:12:34 Strom CNT: 214 CUM: 105.873  5MIN: 0.608  TOP: 0.623
2013-10-09_00:17:35 Strom CNT: 215 CUM: 105.927  5MIN: 0.640  TOP: 0.762
2013-10-09_00:22:36 Strom CNT: 216 CUM: 105.987  5MIN: 0.720  TOP: 0.774

Die TOP: 48.000 sind bestimmt eine Fehlmessung
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

fiedel

Alles klar, du hast kein Problem mit der Darstellung, sondern beim loggen der gewünschten Werte. Da ich mich mit CUL_EM noch nicht auskenne, kann ich dir nur diesen Link zum durchstöbern geben. Dort geht es um die Monatsplots. Ganz wichtig ist auch noch dieser Thread. Ich glaube bei CUL_EM muss man diese Werte nicht selbst berechnen (userreadings + Perlscript zum berechnen jeden Tag vor Mitternacht), sondern das Modul kann diese Werte schon automatisch generiern. Na lies mal... ;o)

Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

rudolfkoenig

CUL_EM generiert nach Mitternacht ein CUM_DAY und am Monatsanfang ein cum_month Event. Fuer die anderen Module kann man ein average Instanz definieren, um durchschnittswerte zu rechnen. Protokollieren wuerde ich sowas in separaten Logfiles, damit ist der Zugriff schneller.

stgeran

Wo schreibt CUL_EM das CUM_DAY hin? Ich hab nur:

define FileLog_Strom_d FileLog ./log/Meine_Logs/Strom-%d-%m-%Y.log Strom:CNT.*

Und als CUL Definition:

define Strom CUL_EM 1 750 9000
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

fiedel

Scrolle doch mal dein Logfile durch, vielleicht hast du die Tageswerte bisher nur übersehen? Wie Rudi sagt, kannst du ja dann CUM_Day und CUM_Month in einem extra Logfile loggen.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

stgeran

Dann müsste das doch im Umfeld des logs stehen:

2013-10-08_23:42:29 Strom CNT: 208 CUM: 105.564  5MIN: 1.792  TOP: 3.000
2013-10-08_23:47:30 Strom CNT: 209 CUM: 105.615  5MIN: 0.608  TOP: 48.000
2013-10-08_23:52:31 Strom CNT: 210 CUM: 105.661  5MIN: 0.560  TOP: 0.960
2013-10-08_23:57:32 Strom CNT: 211 CUM: 105.713  5MIN: 0.624  TOP: 1.263
2013-10-09_00:02:33 Strom CNT: 212 CUM: 105.768  5MIN: 0.656  TOP: 48.000
2013-10-09_00:07:34 Strom CNT: 213 CUM: 105.823  5MIN: 0.656  TOP: 1.333
2013-10-09_00:12:34 Strom CNT: 214 CUM: 105.873  5MIN: 0.608  TOP: 0.623
2013-10-09_00:17:35 Strom CNT: 215 CUM: 105.927  5MIN: 0.640  TOP: 0.762
2013-10-09_00:22:36 Strom CNT: 216 CUM: 105.987  5MIN: 0.720  TOP: 0.774

Das ist der Tageswechsel.

Wie bekomme ich denn CUM_Day und CUM_Month in einen extra Logfile geloggt?

Wenn ich auf CUL_EM klicke sehe ich eine Spalte mit CUM_Day. Kann ich die abrufen?
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

fiedel

Ach - ich hab ja auch Tomaten auf den Augen! ;o)
Na klar, die Werte stehen als Readings im Modul schon drin. Du musst sie nur in deine Logfile Definition eintragen. Also z.B.:



# Log für Strom Monat (cum_day und cum_month Werte)
define FileLog_Strom_Mon FileLog ./log/Meine_Logs/Strom_Mon-%Y.log Strom:cum_.*
attr FileLog_Strom_Mon logtype Pflug_Strom:Power,text
attr FileLog_Strom_Mon room CUL_EM
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

stgeran

Prima, Danke, hab ich alles gemacht. das logfile wird erzeugt. Problem: ich krieg keinen Plot hin.
Im gplot editor sehe ich die Zeile, aus der ich die Reihe auswähle, die ich anzeigen will. passiert aber nichts.
Als weiteres gelingt es mir nicht die Zeitachse auf "Monat" zu bringen
FHEM auf Raspberry
CSM 866MHz für EM1010 mit Strom und Gaszähler
CUL 866MHz für MAX! Radiator Thermostat 
CUL 433MHz für Innen und Aussen Temp
HMLAN für HM-LC-Sw1-PI-2

fiedel

#14
Variiere mal die Zahl unter "Input:Column...". 3 oder 4 sollte Erfolg bringen. Wenn du Linien bzw. Blöcke hinbekommen hast, fehlt nur noch das Attribut "attr weblink_Strom fixedrange month" in deiner Plot- Definition. Das musst du in der CFG von Hand eintragen. Ich glaub der Editor kann das nicht. Oder nimm mal das "attr weblink_Strom plotsize 800,150" raus. Vielleicht beißt sich das mit fixedrange.

Gruß

Frank

Edit: hier  http://forum.fhem.de/index.php/topic,10733.msg95198.html#msg95198 ist auch noch mal ein Beispiel für die Plot (Weblink)- Def.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

moonsorrox

#15
Zitat von: fiedel schrieb am Mo, 30 September 2013 12:59

Könnte dann so aussehen:


(siehe Anhang / see attachement)


was ist das für eine schöne Ansicht mit dem Hintergrund und den Plots so silbern..?
Welcher Style..? oder selber gebastelt
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

fiedel

Hi und dankeschön!  8)

das ist eine meiner Floorplanseiten. Die Plots sind im "darktouchpadfloorplanstyle", bzw. "darksvg_style" mit einer kleinen css- Anpassung für transparenten Hintergrund. Das Hintergrundbild ist von so einer Wallpaperseite - ich gaube für Ubuntu. Das Logo in der Bildmitte hab ich mit nem Grafikprogramm weggeklont. Allerdings kostet so ein Bild einiges an Zeit beim Seitenaufbau, wenn der Client (Tablet), oder die Verbindung (DSL Upload bei Zweitausender Leitung) schwach sind. Deshalb überlege ich schon, die Schönheit wieder aufzugeben. Mit einem einfarbig grauen Hintergrund sieht es auch noch annehmbar aus. Dann braucht man auch keine Transparenz um die Plots  herum mehr.

Die CSS- Anpassung sieht so aus:
In der darksvg_style.css vorhandenen ".background"- Eintrag ersetzen durch:

.background { fill:transparent; }


Gruß

Frank
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

moonsorrox

ich habe das mit dem Monatsplot auch mal für meine Temperatur übernommen und finde es gut, aber.... ich bekomme immer noch Fehler beim rereadcfg. obwohl der richtig Plot angezeigt wird..
weblink_Aussensensor_Monat: unknown attribute FileLog_Aussensensor_Norden, choose one of verbose:0,1,2,3,4,5 room group comment alias eventMap
userReadings fixedrange startDate plotsize label title plotfunction devStateIcon devStateStyle icon sortby webCmd or use attr global userattr FileLog_Aussensensor_Norden


da ich noch nicht so gut bescheid weiß habe ich den Fehler bisher noch nicht gefunden
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

fiedel

#18
Da haste ein attribut nicht richtig gesetzt. Poste mal die ganze Definition. Wahrscheinlich ist nur der erste Unterstrich in"weblink_Aussensensor_Monat"zu viel. Oder "FileLog_Aussensensor_Norden" gehört da nicht hin - Kopierfehler???
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

moonsorrox

OK vielen Dank, hier mal der Code

########################################################################
##
## Plot Aufzeichung
##
#########################################################################

define weblink_Aussensensor_Norden weblink fileplot FileLog_Aussensensor_Norden:temp4hum6:CURRENT
attr weblink_Aussensensor_Norden label "Aussen Temperatur Norden Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Aussensensor_Norden room Plots
attr weblink_Aussensensor_Norden alias Aussen Temperatur Norden


#### 2. Plot für den Monat
define weblink_Aussensensor_Monat weblink fileplot FileLog_Aussensensor_Norden:temp4hum6:CURRENT
attr weblink_Aussensensor_Monat label "Aussen Temperatur Monat Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Aussensensor_Monat fixedrange month
#attr weblink_Aussensensor_Monat FileLog_Aussensensor_Norden 450,590,0,
attr weblink_Aussensensor_Monat FileLog_Aussensensor_Norden 550,50,0,
attr weblink_Aussensensor_Monat label "Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Aussensensor_Monat room Plots
attr weblink_Aussensensor_Monat alias Monatsübersicht

# attr Aussensensor_Norden group Temperatur


########################################################################
##
## Log Temperatur Norden/Eingang
##
#########################################################################


define FileLog_Aussensensor_Norden FileLog ./log/Aussensensor_Norden-%Y.log Aussensensor_Norden
attr FileLog_Aussensensor_Norden logtype text
# attr FileLog_Aussensensor_Norden group Logfile
attr FileLog_Aussensensor_Norden room Temperaturen


define FileLog_ActionDetector FileLog ./log/ActionDetector-%Y-%m.log ActionDetector
attr FileLog_ActionDetector logtype text
# attr FileLog_ActionDetector group Logfile
attr FileLog_ActionDetector room Temperaturen
# attr FileLog_ActionDetector alias Log Temperatur Norden
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

fiedel

Tausche das mal aus:


#### 2. Plot für den Monat
define weblink_Aussensensor_Monat weblink fileplot FileLog_Aussensensor_Norden:temp4hum6:CURRENT
# attr weblink_Aussensensor_Monat label "Aussen Temperatur Monat Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Aussensensor_Monat fixedrange month
attr weblink_Aussensensor_Monat label "Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Aussensensor_Monat room Plots
attr weblink_Aussensensor_Monat alias Monatsübersicht


Das hier:

# attr weblink_Aussensensor_Monat FileLog_Aussensensor_Norden 450,590,0,
# attr weblink_Aussensensor_Monat FileLog_Aussensensor_Norden 550,50,0,


sind verunglückte Floorplan- Attribute. Es müsste einen funktionierenden FP namens "FileLog_Aussensensor_Norden" bei dir geben. Falls nicht, gibt es die Fehlermeldung.
FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

moonsorrox

ja vielen Dank das wars, funktioniert nun super
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM