Keine Darstellung im Plot

Begonnen von stgeran, 26 Juni 2013, 23:10:48

Vorheriges Thema - Nächstes Thema

stgeran

Seit dem Update Gestern bez. Heute habe ich in meinen Temperaturplots keine Darstellung mehr. Ich habe in der cfg nichts geändert, in den Logfiles sind die Daten auch vorhanden. Was muß ich wo abändern, damit wieder Plots angezeigt werden??
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

Puschel74

Hallo,

ZitatWas muß ich wo abändern, damit wieder Plots angezeigt werden??

Gute Frage *Glaskugelpolier*

Was hat sich geändert?
Es muss sich was geändert haben - sonst würd ja alles funktionieren wie bisher**.

Definition eines! Temperaturdevice mit zugehörigem LogFile wäre nice.

ZitatWas muß ich wo abändern, damit wieder Plots angezeigt werden??
Das kommt drauf an ...

Grüße

Edith: ** Es können bei einem update durchaus Fehler auftreten da die Software OpenSource ist und nur in der Freizeit einiger weniger gepflegt wird.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Prof. Dr. Peter Henning

Scheint in der Tat ein Problem zu geben, meine schönen Balkendiagramme für die solare Produktion sind auch tot. Irgendeine Änderung entweder in FileLog.pm oder in SVG.pm ist die Ursache.

LG

pah

rudolfkoenig

Wenn man mir die (komplette) Definition eines FileLogs und des zugehoerigen Weblinks mit ein paar Zeilen aus dem Log zeigen wuerde, dann koennte ich mit was sinnvolles weiterhelfen.

So kann ich nur sagen: halb so schlimm, denn bei mir funktioniert es :)

gki

Hallo,

ich hatte versehentlich upgedatet und auch leere Plots. Da ich momentan keine Zeit zur Fehlersuche habe, lief es bei mir durch die Wiederherstellung der alten 98_weblink.pm Revision 3139 wieder.

Auszug aus Definiton
...
define FileLog_Fe_Ankleide FileLog /var/log/fhem/Fe_Ankleide-%Y.log Fe_Ankleide
attr FileLog_Fe_Ankleide logtype fht80tf:window,text
...

define weblink_Fe_Ankleide weblink fileplot FileLog_Fe_Ankleide:fht80tf:CURRENT
attr weblink_Fe_Ankleide label "Fe_Ankleide Min $data{min1}, Max $data{max1}, Last $data{currval1}"
...

Auszug aus dem Logfile
...
2013-01-05_09:33:05 Fe_Ankleide Window: Closed
2013-01-05_09:37:13 Fe_Ankleide Window: Open
...

Gruß,
Ines

rudolfkoenig

Bei mir laeuft es, nur wird statt impulses lines verwendet (was wiederum merkwuerdig ausschaut), da SVG.pm impulses nicht kennt.
Mit steps schaut es wieder normal aus.

gki

fht80tf.gplot

############################
# Display the on and off values for a single FHT80TF device
# FileLog definition:
# define fht80tflog FileLog /var/log/fhem/fht80tf-%Y-%U.log fht80tfdev

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 ytics nomirror
set ytics ("Zu" 0, "Auf" 1)
set y2tics ("Zu" 0, "Auf" 1)
set title '<TL>'
set grid
#set yrange [-0.2:1.2]
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
#neu
set ylabel "Status"
set y2label "Status"

#FileLog 4:Window:0:$fld[3]=~"Open"?1:0

plot "< awk '{print $1, $4==\"Open\"? 1 : 0; }' <IN>"\
        using 1:2 title 'Open/Closed' with impulses ls 0

rudolfkoenig

Ok, gleiches Bild, nur schwarze Linie statt rot, da eine Farbendefinition fuer 0 (aus ls 0) in meinem CSS nicht vorhanden ist.

stgeran

Anbei mein Teil der cfg:
define Temp_aussen CUL_TX 96
attr Temp_aussen IODev CUL_1
attr Temp_aussen room CUL_TX

define FileLog_Temp_aussen FileLog ./log/Temp_aussen-%Y.log Temp_aussen
attr FileLog_Temp_aussen logtype temp4hum4:Temp/Hum,text
attr FileLog_Temp_aussen room CUL_TX

define weblink_Temp_aussen weblink fileplot FileLog_Temp_aussen:temp4hum4:CURRENT
attr weblink_Temp_aussen label "Temp_aussen Min $data{min1}, Max $data{max1}, Last $data{currval1}"
attr weblink_Temp_aussen room Plots

Und ein Teil des logs:
2013-06-27_19:18:15 Temp_aussen T: 15.5 H: 68.0
2013-06-27_19:18:15 Temp_aussen temperature: 15.5
2013-06-27_19:18:17 Temp_aussen T: 15.5 H: 68.0
2013-06-27_19:18:17 Temp_aussen humidity: 67.0
2013-06-27_19:19:14 Temp_aussen T: 15.5 H: 67.0
2013-06-27_19:19:14 Temp_aussen temperature: 15.4
2013-06-27_19:20:15 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:20:15 Temp_aussen humidity: 67.0
2013-06-27_19:22:13 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:22:13 Temp_aussen temperature: 15.4
2013-06-27_19:22:14 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:22:14 Temp_aussen humidity: 67.0
2013-06-27_19:23:12 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:23:12 Temp_aussen temperature: 15.4
2013-06-27_19:26:14 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:26:14 Temp_aussen temperature: 15.4
2013-06-27_19:27:16 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:27:16 Temp_aussen humidity: 67.0
2013-06-27_19:30:14 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:30:14 Temp_aussen temperature: 15.4
2013-06-27_19:31:15 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:31:15 Temp_aussen humidity: 67.0
2013-06-27_19:32:14 Temp_aussen T: 15.4 H: 67.0
2013-06-27_19:32:14 Temp_aussen temperature: 15.4

@Puschel74: Ich habe nichts geändert ausser einem update.
Ich glaube, Du musst deine Glaskugel mal austauschen, die taugt nichts mehr ;-)))
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

rudolfkoenig

So schaut es bei mir aus, und ich finde das ok.

(siehe Anhang / see attachement)

stgeran

Und warum geht es mit NICHT GEÄNDERTER cfg jetzt plötzlich nicht mehr? Was macht rudolfkoenig anders?
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

stgeran

Ich komme nicht weiter. Grundsätzliche Frage: In der Zeile "define FileLog_Temp_aussen FileLog ./log/Temp_aussen-%Y.log Temp_aussen"
wird doch der Pfad zur Plotdatei angegeben "./log/Temp_aussen-%Y.log". Da stehen auch aktuelle Daten drin. Was ist dann in meiner cfg falsch?
Teil der cfg zwei Posts weiter oben.
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

Prof. Dr. Peter Henning

Nun gut, versuchen wir es noch einmal.

Mit dem Modul, das meine Solaranlage abfragt, produziere ich Monatslogfiles des folgenden Inhalts:

monthly data:              Day   Wd     Wm    Wex
2013-06-01_23:59:59 nt5000 W_D01  5.500   5.5   0.8
2013-06-02_23:59:59 nt5000 W_D02 29.905  35.4   5.4
2013-06-03_23:59:59 nt5000 W_D03 14.233  49.6   7.6
2013-06-04_23:59:59 nt5000 W_D04 25.799  75.4  11.6
2013-06-05_23:59:59 nt5000 W_D05 28.695 104.1  16.0
2013-06-06_23:59:59 nt5000 W_D06 30.045 134.2  20.6
2013-06-07_23:59:59 nt5000 W_D07 28.528 162.7  25.0
2013-06-08_23:59:59 nt5000 W_D08 28.800 191.5  29.4
2013-06-09_23:59:59 nt5000 W_D09 17.696 209.2  32.1
2013-06-10_23:59:59 nt5000 W_D10  4.504 213.7  32.8
2013-06-11_23:59:59 nt5000 W_D11 21.614 235.3  36.2
2013-06-12_23:59:59 nt5000 W_D12 19.992 255.3  39.2
2013-06-13_23:59:59 nt5000 W_D13 27.045 282.4  43.4
2013-06-14_23:59:59 nt5000 W_D14 24.707 307.1  47.2
2013-06-15_23:59:59 nt5000 W_D15 23.310 330.4  50.8
2013-06-16_23:59:59 nt5000 W_D16 29.293 359.7  55.3
2013-06-17_23:59:59 nt5000 W_D17 27.630 387.3  59.5
2013-06-18_23:59:59 nt5000 W_D18 26.944 414.2  63.7
2013-06-19_23:59:59 nt5000 W_D19 27.148 441.4  67.9
2013-06-20_23:59:59 nt5000 W_D20 18.463 459.9  70.7
2013-06-21_23:59:59 nt5000 W_D21 19.060 478.9  73.6
2013-06-22_23:59:59 nt5000 W_D22 23.794 502.7  77.3
2013-06-23_23:59:59 nt5000 W_D23 23.181 525.9  80.9
2013-06-24_23:59:59 nt5000 W_D24 16.249 542.1  83.4
2013-06-25_23:59:59 nt5000 W_D25 11.444 553.6  85.1
2013-06-26_23:59:59 nt5000 W_D26 23.310 576.9  88.7
2013-06-27_23:59:59 nt5000 W_D27 14.320 591.2  90.9
2013-06-28_23:59:59 nt5000 W_D28 26.216 617.4  94.9
2013-06-29_10:42:23 nt5000 W_D29  0.876 618.3  95.1



Funktioniert prima seit mehr als 2 Jahren.

In der zugehörigen Konfigurationsdatei steht für den Plot

define SolarMonth weblink fileplot SolarLogM:nt5000m:CURRENT
attr SolarMonth fixedrange month
attr SolarMonth label "Sunways NT 5000"
attr SolarMonth plotmode SVG
attr SolarMonth plotsize 600,300
attr SolarMonth room Solaranlage

Und im Plotfile nt5000m.gplot

################################################
# Display the monthly data from an NT5000 solar inverter
#
# Prof. Dr. Peter A. Henning, April 2011
#

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set ytics
set y2tics nomirror
set title '<L1>'
set grid xtics y2tics

set ylabel "Wd [kWh]"
set y2label "Wm [%]"
set y3label "Wm [kWh]"

set yrange [0:35]
set y2range [0:190]
set y3range [0:750]

#
#FileLog 4:.*nt5000.*:0:
#FileLog 6:.*nt5000.*:0:
#FileLog 5:.*nt5000.*:0:

## These are either passed to the gnuplot program
## or to the SVG module
plot \
  "< egrep 'W_D' <IN>" using 1:2 axes x1y1 title 'Wd [kWh]' with bars ls l2fill,\
  "< egrep 'W_D' <IN>" using 1:2 axes x1y2 title 'Wm [%]' with lines ls l4,\
  "< egrep 'W_D' <IN>" using 1:2 axes x1y3 title 'Wm [kWh]' with histeps ls l3

Das funktionierte bis vor 3 Tagen (und zwar seit 2011) ebenfalls problemlos und lieferte ein schönes Diagramm. Jetzt aber haben wir ein neues weblink-Modul - und dafür kein Bild mehr.

Das zeigt mir in seinem GUI das, was auf dem beiliegenden Screenshot zu sehen ist. Und siehe da: irgendetwas wird so interpretiert, wie es bisher nicht der Fall war. Wie kommt bitte der String "data:" in die Beschreibungen der regulären Ausdrücke für die jeweiligen Kurven ? Irgendetwas stimmt da noch nicht, oder es wurde die Abwärtskompatibilität aufgegeben. Dann wäre ich (und andere sicher auch) für einen Hinweis dankbar.

LG

pah


rudolfkoenig

@stgeran:
> Was ist dann in meiner cfg falsch?

Weiss nicht. Ich habe die Daten aus Beitrag #84106 in ein fhem.cfg kopiert, zusaetzlich die Logdaten passend abgespeichert, und ich erhalte das oben gezeigte Bild. Ich habe auch alle Aenderungen an den FileLog/weblinks/FHEMWEB Modulen eingecheckt -> Keine Ahnung was bei euch schief geht.

Die letzte Aenderung, was die Probleme verursachen koennte fand vor etwa zwei Wochen statt: CURRENT wird nicht mehr von weblink sondern von FileLog aufgeloest, um ein Umschalten auf nicht mehr aktuelle Logfiles zu ermoeglichen (Blaettern in die alte Dateien, hauptsaechlich fuer Leute, die kein Jahreslog verwenden).

@pah:

(siehe Anhang / see attachement)



> Wie kommt bitte der String "data:" in die Beschreibungen der regulären Ausdrücke für die jeweiligen Kurven ?

Der Vorschlag kommt aus der Logdatei, bzw. aus den letzten 1024 Bytes der Datei. Den .gplot Editor muss man nicht verwenden, wenn man ihn aber verwendet, dann kann man nur die Regexps aus dem Dropdown nehmen. Wenn im .gplot andere gespeichert sind, dann zeigt der .gplot Editor das Erstbeste aus der Beispiel-Liste unten an: bitte nicht ohne Anpassen/Nachdenken "Write .gplot file" anklicken.



> Irgendetwas stimmt da noch nicht, oder es wurde die Abwärtskompatibilität aufgegeben.

Ich tippe auf ersteres, ich wollte/will die Kompatibilitaet nicht aufgeben.

Prof. Dr. Peter Henning

Tja, so soll das aussehen, und so sah es auch aus - aber jetzt nicht mehr...

Dass es die Änderung von vor 2 Wochen gewesen sein kann ist allerdings möglich - denn ich habe ewig lang kein update mehr gemacht (keine Zeit ...).

Spaßeshalber mal das gplot-File verwendet, das der Editor vorschlägt - immer noch nix.

LG

pah


 

Prof. Dr. Peter Henning

Hm, ich kriege in der SVG-Datei die Fehlermeldungen

<!-- Warning: No data item 2 defined -->
<!-- Warning: No data item 1 defined -->

An der Stelle, wo eigentlich die Kurven stehen sollten.

LG

pah

rudolfkoenig

>  Spaßeshalber mal das gplot-File verwendet, das der Editor vorschlägt - immer noch nix.

Das ist nicht immer eine gute Idee, siehe mein Kommentar oben:
bitte nicht ohne Anpassen/Nachdenken "Write .gplot file" anklicken.

Oder man fuehrt vorher "set <weblinkname> copyGplotFile" aus, dann hat man eine Privatkopie.

Prof. Dr. Peter Henning

So, ich denke die Fehlerquelle ist eingegrenzt auf 98_SVG.pm

1. Erst wenn man die Anzahl der Datenzeilen auf 2 reduziert, stellt man fest, dass im SVG-Code für den Plot steht:

<polyline id="line_0" decimals="2" x_off="1372456800" x_min="48" x_mul="0.00583326581868265" y_h="280.8" y_min="0" y_mul="261.6" title="Wd [kWh]" onclick="parent.svg_click(evt)" style="stroke-width:4" class="l0" points=" 48,280"/>

Das heißt: Im Attribut points (das die Datenpunkte enthalten sollte) steht nur ein Wertepaar. Irgendetwas stimmt also noch nicht mit der Schleife, die hier die Datenpunkte einträgt.

2. In dem polyline-Element stehen Attribute decimals,x_off,x_min,x_mul,y_h,y_min,y_mul,title. Diese gehören aber da nicht rein, stehen nicht im zugehörigen XML Schema und werden von einem validierenden Parser sofort angemeckert. Vergleich mit funktionierenden Plots zeigt, dass dies in allen polyline-Elementen auftaucht.

3. In den text-Elementen für die Label der Datenlinien stehen die Attribute title und line_id. Die gehören ebenfalls nicht da hinein.

4. id-Attributwerte müssen eindeutig sein. In den gruppierten SVG-Elementen für die "unsichtbaren" Skalen steht aber jeweils <g display="none" id="hline_5">, d.h. der Attributwert hline_5 taucht mehrfach auf.

Der 1. Fehler ist tatsächlich der Wesentliche, es fehlen also die Plotpunkte. Die anderen Fehler sind nicht fatal, sollten aber auch behoben werden. Was hat Dich denn bewogen, diese Attribute da hineinzusetzen ?

Ich habe ja am alten 98_SVG.pm ziemlich viel gearbeitet, bin aber mit dem der gegenwärtigen Version nicht up to date.

LG

pah

rudolfkoenig

>  So, ich denke die Fehlerquelle ist eingegrenzt auf 98_SVG.pm

Bin anderer Meinung: aus Punkt 1 kann ich nichts folgern, und die Punkte 2-4 sind irrelevant, solange die meisten einen Browser wie FireFox/Chrome/Safari zum anzeigen der SVGs verwenden, und nicht den XML-Validator.
Diese Attribute werden vom Javascript fuer unterschiedliche Aufgaben verwendet.

Mich irritiert aber die Zeile
monthly data: Day Wd Wm Wex
FileLog bricht die Suche ab, falls die Zeile nicht innerhalb von $from/$to liegt: ich tippe auf nicht gefundene Daten.

Ich habe gerade zum FileLog etwas debug-Zeilen hinzugefuegt (zu aktivieren mit "attr FileLogName loglevel 2"), damit muesste man sowas eher sehen.

Prof. Dr. Peter Henning

Betreffend die "irritierende Zeile": Das ist die Kopfzeile der Datei. Und da in ihr die regexp nicht vorkommt, sollte FileLog sie ignorieren. Und zwar unabhängig von "from/to".

Bisher war das auch so. Von mir aus kann man neuerdings noch verlangen, dass ein Hash-Zeichen die Zeile als Kommentar kennzeichnet - es muss aber m.E. möglich sein, beliebige Zeilen in eine Datendatei hineinzuschreiben und diese für den plot zu ignorieren.

Betreffend die zusätzlichen Attribute bei den SVG-Elementen: Keineswegs geht es nur um die Frage, ob das im Browser irgendwie angezeigt wird.

Wenn man einen Standard verwendet, sollte man ihn nicht "brechen" - und das meine ich nicht nur, weil SVG bei mir Vorlesungsstoff ist. Sondern, bei allem Respekt, das ist einfach gute Programmierpraxis. Es gibt einerseits eine Vielzahl von Möglichkeiten, solche Zusatzattribute in die SVG-Datei aufzunehmen - und andererseits steigen viele Anwendungen aus, wenn das angebotene SVG nicht validierbar ist. Beispielsweise wäre es möglich, statt der altmodischen gnuplot-Anwendung die SVG-Bilder durch Batik in JPEG oder PNG umzuwandeln - die steigen aber bei diesen selbst erfundenen Attributen aus.

LG

pah

rudolfkoenig

Wird das SVG-Plot nach dem entfernen dieses "Headers" angezeigt?

Prof. Dr. Peter Henning

Nein, habe ich als erstes ausprobiert.

Irgendwo steigt die Schleife aus.

LG

pah

stgeran

Ich raff es nicht! Gestern hatte ich nach Updateproblemen wieder eine Plotanzeige meiner Aussen und Innen Temperatur. Auch nach mehrmaligem Öffnen und Schliessen des Browsers.
Heute habe ich für Aussen KEINE Anzeige aber die Anzeige für Innen ist vorhanden. Wenn ich jetzt einen Tag "Vorspule" habe ich weiterhin für Aussen keine Anzeige, die für Innen ist vorhanden. UND ES HAT SICH NICHTS GEÄNDERT! Irgend etwas läuft doch da falsch. Wenn ihr Daten braucht, teilt mir bitte mit welche.
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

stgeran

Hurra, ich habs geschafft! Nach den Update soeben sind die Plots WIEDER WEG!!!!! Sche... Spiel
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

rudolfkoenig

> Wenn ihr Daten braucht, teilt mir bitte mit welche.

Steht doch oben, und Du hast die mir auch schon geschickt. In der zwischenzeit wertet FileLog auch loglevel aus, vielleicht hilft das dir weiter.

stgeran

Mal nachgefragt für Dumme: Woran liegt es, daß ich keine Plots sehe? Hier "define FileLog" oder da "define weblink"
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

gki

Ich vermute weblink siehe oben Beitrag #84042 mit der 98_weblink.pm Revision 3139 funktioniert es bei mir.

rudolfkoenig

> Mal nachgefragt für Dumme: Woran liegt es, daß ich keine Plots sehe?

Woher soll ich das wissen? Ich weiss nichtmal, was "ich sehe keine Plots" bedeutet: deine Augen sind vielleicht zu oder due hast FHEMWEB nicht aufgerufen, oder der SVG-Rahmen ist da, aber ohne Inhalt, etc. Ich habe die Daten aus dem Beitrag #84106 bei mir ohne Probleme darstellen koennen, vmtl. waere sinnvoll hier einen kompletten aber abgespeckten(!) fhem.cfg zu posten samt Daten aus dem Filelog, bei dem das Problem noch auftritt.
Weiterhin brauche ich Browser mit Version + die Zusage, dass das Problem auf einem aktuellen FHEM (d.h. mit durchgefuehrten update) und ohne lokale Modifikationen auftritt.

Oder andersherum: Versuch dich mal in meine Stelle zu versetzen: ich will helfen, aber ich kann nicht, da ich Dein Problem nicht nachvollziehen kann. Jammern ist nicht konstruktiv.

stgeran

Die Daten sind noch die gleichen, Browser ist firefox Version 22, update ist von gestern abend. Die Augen sind auf, ich klicke auf Plot im fhem Menue und dann erscheint ein Rahmen mit Bezeichnungen wie früher auch nur ohne Daten drin. Was sind lokale Modifikationen? Wie gesagt, ich habe NICHTS geändert!
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

rudolfkoenig

Gibt es in den zugehoerigen FileLog Daten zum betreffenden Zeitraum?
Wenn ja, bitte im FileLog loglevel auf 2 stellen und die generierten debug-ausgaben in fhem.log pruefen.
Wenn nein, dann kriegt FHEM keine Daten vom Sensor.

Prof. Dr. Peter Henning

No ja,

ich würde es zwar nicht ganz so formulieren, aber bei mir gibt es auch ein Problem, das Du offenbar ebenfalls nicht nachvollziehen kannst. Das ist doch immerhin schon eine Spur...

Also nochmal, in Reihenfolge und Kürze:

1. Seit Jahr und Tag erzeugt das Modul, mit dem ich meine Solaranlage steuere, unter Anderem Logfiles für den Monat und das Jahr.

Inhalt des aktuellen Monatslogs (heute morgen frisch vom Wechselrichter geholt)

monthly data:              Day   Wd     Wm    Wex
2013-07-01_23:59:59 nt5000 W_D01 29.569  29.6   4.5
2013-07-02_23:59:59 nt5000 W_D02 28.222  57.8   8.8
2013-07-03_23:59:59 nt5000 W_D03  9.120  66.9  10.2
2013-07-04_23:59:59 nt5000 W_D04 12.502  79.4  12.2
2013-07-05_09:58:22 nt5000 W_D05  4.284  83.7  12.8


2. Die erste Zeile ist eine Kopfzeile mit Spaltenüberschriften. Sie sollte ignoriert werden, denn das zugehörige Plotfile

################################################
# Display the monthly data from an NT5000 solar inverter
#
# Prof. Dr. Peter A. Henning, April 2011
#
# Corresponding FileLog definition:
# define <filelogname> FileLog <filename>
#

set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set ytics
set y2tics nomirror
set title '<L1>'
set grid xtics y2tics

set ylabel "Wd [kWh]"
set y2label "Wm [%]"
set y3label "Wm [kWh]"

set yrange [0:35]
set y2range [0:190]
set y3range [0:750]

## These are passed to the FileLog module to sort out data
## column_spec is <col>:<regexp>:<default>:<fn>
## The following functions are implemented:
## - int (to cut off % from a number, as for the actuator)
## - delta-h / delta-d to get rain/h and rain/d values from continuous data.
#
#FileLog 4:.*nt5000.*:0:
#FileLog 6:.*nt5000.*:0:
#FileLog 5:.*nt5000.*:0:

## These are either passed to the gnuplot program
## or to the SVG module
plot \
  "< egrep 'W_D' <IN>" using 1:2 axes x1y1 title 'Wd [kWh]' with bars ls l2fill,\
  "< egrep 'W_D' <IN>" using 1:2 axes x1y2 title 'Wm [%]' with lines ls l4,\
  "< egrep 'W_D' <IN>" using 1:2 axes x1y3 title 'Wm [kWh]' with histeps ls l3


matcht nur auf Zeilen mit dem String nt5000 drin

3. Aber: Das erzeugte SVG-File enthält außer Rahmen, Achsen, Beschriftung eben keine drawables, mit anderen Worten: Die Datenpunkte fehlen

Stattdessen steht dort


<!-- Warning: No data item 2 defined -->
<!-- Warning: No data item 1 defined -->


4. Damit ist klar: Das Problem liegt hier nicht im Browser - denn der bekommt ja bereits den falschen SVG-Code geliefert. Es liegt auch nicht im Logging - das Logfile sieht genauso aus, wie es soll. Sondern zwischen dem Parsen der Logdatei und der SVG-Generierung.

Das Problem ist auch (relativ) neu - _wie_ neu kann ich leider nicht sagen, weil ich wie geasgt längere Zeit kein Update gemacht hatte. Ich helfe gerne beim Testen und Fixen - aber vielleicht könntest Du dabei den Lead übernehmen.

LG

pah


rudolfkoenig

Das Problem in diesem Fall liegt an dem Header, und man sieht es nur, wenn der Header nicht nur als erste Zeile der Datei, sondern auch mitten in den weiteren Daten vorkommt: deswegen hat mein Plot in dem anderen Beitrag auch funktioniert.

Die Argumentation mit dem Regexp der .gplot File zaehlt fuer mich nicht wirklich: FileLog erzeugt nie headers, und verlaesst sich in get auch darauf, dass in der Datei nichts anderes vorkommt.

Da "Muell" zu ignorieren den (jetzt schon zu langsamen) Plot noch etwas langsamer machen wuerde, schlage ich vor, den Header von dem externen Programm der die Logdatei schreibt nicht zu generieren.

Noch sauberer waere die Daten direkt per FileLog zu schreiben.

stgeran

Ganz aktuell:
2013-07-05_22:07:20 Temp_aussen humidity: 59.0
2013-07-05_22:09:17 Temp_aussen T: 20.9 H: 59.0
2013-07-05_22:09:17 Temp_aussen temperature: 20.9
2013-07-05_22:09:19 Temp_aussen T: 20.9 H: 59.0
2013-07-05_22:09:19 Temp_aussen humidity: 59.0
2013-07-05_22:10:19 Temp_aussen T: 20.9 H: 59.0
2013-07-05_22:10:19 Temp_aussen humidity: 59.0
2013-07-05_22:12:19 Temp_aussen T: 20.9 H: 59.0
2013-07-05_22:12:19 Temp_aussen temperature: 20.7
fhem empfängt also Daten, aber es werden in der "Maske" oder wie auch immer ihr die Darstellung beschreibt, die erscheint, wenn ich in fhem auf Plot drücke, keine Werte angezeigt.

@rudolfkoenig: Ja, der Rechner ist an und die fritzbox funktioniert auch.
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

Prof. Dr. Peter Henning

Lieber Rudi,

>Das Problem in diesem Fall liegt an dem Header, und man sieht es nur, wenn der Header nicht nur als erste Zeile der Datei,
>sondern auch mitten in den weiteren Daten vorkommt: deswegen hat mein Plot in dem anderen Beitrag auch funktioniert.

Kann nicht sein. a.) Wenn ich den Header in der Logdatei manuell lösche, ändert sich gar nichts und b.) er taucht eben nicht in weiteren Zeilen auf, sondern steht nur einmal oben drüber. Und zar trotz eines "reopen".

> Da "Muell" zu ignorieren den (jetzt schon zu langsamen) Plot noch etwas langsamer machen wuerde, schlage ich vor, den Header von dem externen Programm der die Logdatei schreibt nicht zu generieren.

Stimmt nicht ganz. Es wäre problemlos und ohne Geschwindigkeitsverlust machbar, die ersten N Zeilen einer Datei zu ignorieren. Da könnte nicht nur ein Spaltenheader auftauchen, sondern auch eine längere Beschreibung. Denk mal nachhaltig: Das hilft enorm, wenn man in 10 Jahren eine alte Logdatei von FHEM findet.

LG

pah

rudolfkoenig

> Kann nicht sein.

Kann doch, ich habs getestet :) Die erste Zeile stoert auch nicht (jedenfalls bei mir nicht), das wird ueberlesen, erst weitere Zeilen mitten im Text stoeren.

reopen ist leider fehlerhaft, und loescht die gecacheten Dateipositionen nicht, erst ein Neustart hilft.

Leider bedeutet eine (oder mehrere) Zeilen wegzulesen die Anpassung der Binaersuche, den ich z.Zt nur mit der Kneifzange anfassen will, da ich mich nicht mehr an alle Randfaelle erinnere, die testen muesste.

Prof. Dr. Peter Henning

So, jetzt habe ich mal etwas tiefer gegraben.

Der Fehler mit den fehlenden Diagrammen tritt auf, weil im Modul 92_FileLog.pm in den Zeilen ab 398ff der Name der CURRENT-Logdatei geraten und nicht bestimmt wird.

Im konkreten Fall: Aus ganz bestimmten Gründen logge ich für die Photovoltaikanlage die ausgelesenen Werte des gesamten Monats in einer täglichen Datei. Diese Datei hat die abstrakte Bezeichnung solarM_%Y-%m-%d.log, also z.B. heute solarM-2013-07-15.log

Im 92_FileLog.pm wird aber aus der Angabe "from" - in diesem Falle enthält das natürlich den Monatsersten 2013-07-01 - auf den Namen der Logdatei geschlossen. FHEM sucht also die Daten in solarM-2013-07-01.log

Natürlich kann ich den Fix selbst machen - irgendwo gibt es sicher einen Eintrag, der die tatsächlich verwendete CURRENT-Datei bestimmt. Allerdings ist die ganze Plotmimik inzwischen dermaßen komplex geworden, dass ich erst einmal rückfragen will, warum eigentlich der Name hier geraten wird.

LG

pah

rudolfkoenig

Weil irgendwelche Herrschaften Monatslogs haben, und im Plot ueber die Dateigrenze "zurueckblaettern" wollen.

Den Fix bitte als Patch schicken, ich moechte dass fuer eine bestimmte Datei immer einer verantwortlich ist, und den Ueberblick hat (siehe MAINTAINERS.txt).

Prof. Dr. Peter Henning

Zitat von: rudolfkoenig schrieb am Mo, 15 Juli 2013 16:46Weil irgendwelche Herrschaften Monatslogs haben

rofl

Nun gut, dann muss man den aktuellen Monat mit dem "from"-Monat vergleichen und kann dann den Dateinamen "raten".

LG

pah

BTW: Ich habe mir über die Geschwindigkeit des SVG-Plots Gedanken gemacht. Lässt sich um den Faktor 2 steigern, weil die Min/Max-Werte für jede Kurve zeitgleich mit dem Eintrag in die polyline berechnet werden können. Denn die polyline kann hinterher mit einer einzigen Transformation skaliert und an Ort und Stelle gerückt werden. Ich müsst enu rmal überprüfen, ob die Zeit wirklich da verloren geht und nicht schon im FileLog.


rudolfkoenig

> Ich müsst enu rmal überprüfen, ob die Zeit wirklich da verloren geht und nicht schon im FileLog.

Wuerde mich auch interessieren.
Ich habe vor 2-3 Jahren versucht das beste rauszuholen, und aus der Zeit sind noch meine CPU Kommentare in FileLog.pm drin. Leider kriege ich nicht mehr alles richtig zusammen, aber ich meine die beiden Module waren grob jeweils mit 50% "Schuld".

UliM

Hiho,
auch bei mir sind die meisten Plots leer, obgleich aktuelle Daten vorliegen und ich weder an .gplot noch an filelogs etwas geändert habe.


(siehe Anhang / see attachement)


Woran mag's liegen?
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

rudolfkoenig

Uli, ich brauche da mehr, da es bei mir tut.
- FileLog Definition+Attribute
- weblink Definition+Attribute
- Inhalt der FileLog-Datei, komplett, s.u.
- .gplot Datei

Du kannst auch "attr FileLogName loglevel 2" setzten, und nach einem refresh in das fhem-log schauen: ich vermute anhand des Titels im Screenshot, dass FileLog nichts zurueckgeliefert hat. Evtl. befinden sich in der Logdatei "kaputte" Zeilen, die fhem verwirren.

UliM

Zitat von: rudolfkoenig schrieb am Di, 16 Juli 2013 11:04Evtl. befinden sich in der Logdatei "kaputte" Zeilen, die fhem verwirren.
Hi,
Damit hattest Du Recht. In 3 Logfiles abschnittsweise Kauderwelsch. Diese Zeilen gelöscht -> geht wieder.
Da die Fehler in einer Logdatei in ganz anderen Log-Zeiträumen auftraten als in den beiden anderen, geheich davin aus, dass mein USB-Stick langsam die Grätsche macht. Werd den mal ersetzen.
Gibt es irgendwelche USB-Speicher, die besonders für Langlebigkeit bei viele Schreibzugriffen ausgelegt sind?

Danbke für den Hinweis,
Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

rudolfkoenig

>  Gibt es irgendwelche USB-Speicher, die besonders für Langlebigkeit bei viele Schreibzugriffen ausgelegt sind?

Neuerdings macht FileLog kein "fsync()" mehr nach jede Zeile, das koennte dein Stick ab sofort auch deutlich schonen :) Als Nachteil kann man bei einem Absturz der Fritzbox (nicht FHEM) ein paar Zeilen verlieren.

locodriver

Das geschilderte Problem tritt bei mir bei einem Plot auf:

Das ist das gplot-File:

############################
# Display the power edited by hand
# Corresponding FileLog definition:
# define <filelogname> FileLog /var/log/fhem/Gesamt_ETW-%Y.log

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 ylabel "Energie (kWh)"
set y2label "Energie (kWh)"
set grid
set ytics
set y2tics
set grid xtics y2tics

set yrange [0:1000]
set y2range [0:1000]

# set format y "%.1f"
# set format y2 "%.1f"

#FileLog 3:GesamtHeizenergie:

plot \
  "< egrep 'GesamtHeizenergie' <IN>"\
         using 1:3 axes x1y2 title 'Gesamt Heizenergie' with lines lw2 ls l0fill\
 

Die Def. "simuliert" ein Balkendiagramm, deshalb sind alle Werte doppelt vorhanden.
Die Daten sind manuell erstellt (monatl. Summen in kWh):

2012-07-01_10:00:00 GesamtHeizenergie: 0.0
2012-08-01_10:00:00 GesamtHeizenergie: 0.0
2012-08-01_10:00:00 GesamtHeizenergie: 5.9
2012-09-01_10:00:00 GesamtHeizenergie: 5.9
2012-09-01_10:00:00 GesamtHeizenergie: 15.7
2012-10-01_10:00:00 GesamtHeizenergie: 15.7
2012-10-01_10:00:00 GesamtHeizenergie: 234.8
2012-11-01_10:00:00 GesamtHeizenergie: 234.8
2012-11-01_10:00:00 GesamtHeizenergie: 586.7
2012-12-01_10:00:00 GesamtHeizenergie: 586.7
2012-12-01_10:00:00 GesamtHeizenergie: 815.9
2013-01-01_10:00:00 GesamtHeizenergie: 815.9
2013-01-01_10:00:00 GesamtHeizenergie: 884.4
2013-02-01_10:00:00 GesamtHeizenergie: 884.4
2013-02-01_10:00:00 GesamtHeizenergie: 976.6
2013-03-01_10:00:00 GesamtHeizenergie: 976.6
2013-03-01_10:00:00 GesamtHeizenergie: 980.0
2013-04-01_10:00:00 GesamtHeizenergie: 980.0
2013-04-01_10:00:00 GesamtHeizenergie: 339.3
2013-05-01_10:00:00 GesamtHeizenergie: 339.3
2013-05-01_10:00:00 GesamtHeizenergie: 6.0
2013-06-01_10:00:00 GesamtHeizenergie: 6.0
2013-06-01_10:00:00 GesamtHeizenergie: 19.8
2013-07-01_10:00:00 GesamtHeizenergie: 19.8
2013-07-01_10:00:00 GesamtHeizenergie: 0.0
2013-08-01_10:00:00 GesamtHeizenergie: 0.0


Der Weblink:
define Gesamt_ETW FileLog ./log/Gesamt_ETW-%Y.log Gesamt_ETW
attr Gesamt_ETW archivedir ./log/var/fhemarchive
attr Gesamt_ETW logtype monat:GesamtHeizenergie,text:Werte
attr Gesamt_ETW nrarchive 1
attr Gesamt_ETW room AlleTemp

define weblink_010ETW_12 weblink fileplot Gesamt_ETW:monat:CURRENT
attr weblink_010ETW_12 alias 09Wärmemenge 2012/13
attr weblink_010ETW_12 fixedrange 2012-07-01 2013-06-30
attr weblink_010ETW_12 label "Heizenergie_ETW in kWh: Min  $data{min1}, Max $data{max1}, Letzter_Monat $data{currval1}, Durchschnitt $data{avg1}"
attr weblink_010ETW_12 room 010Wohnung

define weblink_010ETW_13 weblink fileplot Gesamt_ETW:monat:CURRENT
attr weblink_010ETW_13 alias 09Wärmemenge 2013/14
attr weblink_010ETW_13 fixedrange 2013-07-01 2014-06-30
attr weblink_010ETW_13 label "Heizenergie_ETW in kWh: Min  $data{min1}, Max $data{max1}, Letzter_Monat $data{currval1}, Durchschnitt $data{avg1}"
attr weblink_010ETW_13 room 010Wohnung


Ursprünglich hatte ich nur den Plot für 2012/13, welcher dann - ohne Fehlermeldung - nicht mehr funktionierte. Jetzt habe ich für das Folgejahr den Code kopiert und von 12 auf 13 angepasst. Beide Plots stehen untereinander (zur optischen Vergleichbarkeit), der neue funktioniert wieder, der originale nach wie vor nicht. Ich habe auch den neuen nochmal testweise kopiert und auf 12 geändert, dann gab es wieder keine Anzeige.


(siehe Anhang / see attachement)


Gibt es für das Problem einen Lösungsansatz?

Danke Uwe
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

rudolfkoenig

Hab keine Idee, schaut bei mir normal aus:

(siehe Anhang / see attachement)


locodriver

So hatte es bei mir auch ausgesehen.

Wie hast Du den Plot erstellt? Mit Cut 'n' Paste oder händisch? Wie geschildert, habe ich keine Unterschiede in den Weblinkdefinitionen (Leerstellen, Zeilenumbruch usw.). Ich arbeite mit Notepad++.

Uwe
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster

Prof. Dr. Peter Henning

Und wieso wird der Bargraph simuliert, warum nicht mit der Option "bars" ?

LG

pah

locodriver

Weil es zu der Zeit, als ich den Plot angelegt hatte, den Typ "Bar" noch nicht gab und ich dann keine Veranlassung gesehen habe, das funktionierende Plotting zu ändern.
fhem 6.0 auf Rpi3 Bookworm
HM-LAN-CFG (FW 0.965), HM-MOD-UART, 2x HM-TC-IT-WM-W-EU, 4x HM-Sec-RHS und 3x HM-CC-RT-DN, 6x HM-LC-Bl1-FM mit je 1x Somfy-Motor,
2x HM-LC-SW2-FM für Licht und Lüfter, 2x HM-PB-6-WM55, Alexa, Jeelinkcross, CUL, CUNO2, IR-Blaster