andFHEM Custom Graph

Begonnen von thoweiss, 31 März 2013, 12:27:07

Vorheriges Thema - Nächstes Thema

thoweiss

Hallo zusammen,
es gibt ja bei andFHEM die sogenannten Hooks.

Wenn ich das richtig verstanden habe, kann ich über das Userattribut "CustomGraph",
jedes beliebige Filelog in andFHEM als Graph anzeigen lassen?

Hat da jemand bitte mal ein Beispiel zu?

Ich bring das nicht hin...


Gruß,
Thorsten



Matthias

Hi,

ein Beispiel:

attr FileLog_mat_heizung custom_graph 4:measured#deg#measured

Die Definition hängt an FileLog_mat_heizung den Graphen mit der Log File definition 4:measured, der Achsenbeschriftung deg und dem Namen measured.

Viele Grüße,
Matthias

thoweiss

Danke - jetzt hat es geklappt!

Die App ist klasse!

Gruß,
Thorsten

daschauher

Hi,

ich würde mir auch gerne in andFhem einen Graphen anzeigen lassen.
Aber bekomme es beim besten willen nicht hin.

Ich habe eine Steckdose und möchte den Graphen Anzeigen wann sie Ein- und Ausgeschaltet ist.
In FHEM funktioniert das soweit mit folgendem code:

define FileLog_WZ FileLog ./log/WZ-%Y.log WZ
attr FileLog_WZ logtype myPlot:Plot,text
attr FileLog_WZ room CUL_HM
define wl_1 weblink fileplot FileLog_WZ:myPlot:CURRENT

Vielleicht kann mir jemand einen Tip geben was ich ergänzen muß um in andFhem auch eine Anzeige zu bekommen?


viele Grüße
Markus

Matthias

Hi,

dir fehlt noch das
custom_graph
Attribut. In einem Post weiter oben gibt es auch ein komplettes Beispiel.

Viele Grüße,
Matthias

daschauher

Hallo Matthias,

danke für deine Antwort.
Deinen Post weiter oben habe ich schon gesehen gehabt.
Ich bekomme es aber trotzdem nicht auf die Reihe.
Mir fehlt zu dem Attribut noch die Definition.
Egal was ich wie versuche, es funktioniert nicht.
Es kommen nur noch weitere Fehlermeldungen hinzu.
Darum habe ich auch das Attribut bei meiner frage weggelassen.

Ok, dann lautet die Frage jetzt, wie muß ich die Definition dazu schreiben?

viele Grüße
Markus

Matthias

Hi,

ok ein komplettes Komplettbeispiel :-). Dieses zusätzliche Attribut wird immer an ein bestehendes FileLog gehängt. Man braucht keine "Definition" dafür.

Ein FileLog, also z.B. das hier (Copy & paste gerade aus meiner fhem.cfg):
define FileLog_mat_heizung FileLog ./log/mat_heizung-%Y.log mat_heizung
attr FileLog_mat_heizung custom_graph 3:dockstarLoadAverage
attr FileLog_mat_heizung logtype fht:Temp/Act,text
attr FileLog_mat_heizung room logs

So dazu kommt jetzt noch das custom_graph Attribut:

attr FileLog_mat_heizung custom_graph 4:measured#deg#measured

Tja und das wars dann auch schon. Wichtig ist nur dass custom_graph unter den globalen Attributen auch definiert wurde, z.B. so:
attr global userattr alias_map custom_graph devStateIcon fp_dach fp_erdgeschoss fp_obergeschoss holidaySwitchFollowUp holidaySwitchTime icon invertState measured-temp offDevice onDevice onOffDevice sortby structexclude toggleDevice webCmd

Kommst du damit weiter?
Matthias

Harald

Hallo zusammen,

kann mir jemand sagen, was ich hier falsch mache?
attr global userattr devStateIcon icon sortby webCmd custom_graph

define Schlafzimmer CUL_WS 1
attr Schlafzimmer room MAX
define FileLog_Schlafzimmer FileLog ./log/Schlafzimmer-%m-%d-%w.log Schlafzimmer.(T|H).*
attr FileLog_Schlafzimmer alias Schlafzimmer
attr FileLog_Schlafzimmer logtype text
attr FileLog_Schlafzimmer custom_graph 4:T#°C#Temperatur
attr FileLog_Schlafzimmer custom_graph 6:H#%#TFeuchte
attr FileLog_Schlafzimmer room Diagramm.log
#
define weblink_Schlafzimmer weblink fileplot FileLog_Schlafzimmer:mytemp4hum6:CURRENT
attr weblink_Schlafzimmer alias Schlafzimmer
attr weblink_Schlafzimmer label "Schlafzimmer $data{currval1}°C $data{currval2}%"
attr weblink_Schlafzimmer plotsize 500,120
attr weblink_Schlafzimmer room Wohnung,Heizung

Das Gerät und die Parameter werden in andFHEM angezeigt, aber der Button und damit auch das Diagramm nicht.

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Matthias

Hi,

versuch es mal bitte mit @ statt # als Trennzeichen. # ist ein reserviertes Schlüsselwort in Perl und funktioniert deswegen in der Definition nicht richtig.

Matthias

Harald

Hallo Matthias,

ich habe @ sowie | als Trenner verwendet. In beiden Fällen wird in andFHEM unter Schlafzimmer kein Button angezeigt. Somit kann ich natürlich auch kein Diagramm sehen. FHEM und andFHEM wurden selbstverständlich nach den Änderungen neu gestartet. Fehlermeldungen werden weder im Log noch unter Putty angezeigt.

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Matthias

Hi,

das liegt an deinem Regexp des FileLogs. AndFHEM erknennt nicht, dass das FileLog zum Gerät gehört. Das Verhalten ist gerade folgendermaßen:

Der zugehörige Gerätename wird aus dem Inhalt des Regexp vor dem ersten Doppelpunkt extrahiert. Aus der commandref:

The regexp will be checked against the device name devicename:event

Keine Ahnung wie das Verhalten bei so einem Regexp sein sollte. Wenn ich die commandref aber richtig interpretiere, müsste bei dir

Schlafzimmer:Schlafzimmer.(T|H).*

als Regexp funktionieren ...

Matthias

Harald

Hallo Matthias,

besten Dank für Deine Hilfe. Jetzt zeigt andFHEM auch das Diagramm des Schlafzimmers an - prima.

Ich habe noch eine Frage. Vielleicht kannst Du mir da auch einen Tipp geben.

Ich benutze eine von Jürgen I. modifizierte 10_MAX.pm. Damit werden die Thermostate veranlasst, regelmäßig die gemessene Temperatur zu liefern, damit diese kontinuierlich angezeigt wird.

Die Nutzung dieser Version bewirkt, dass andFHEM beim Start "Konnte 7 Gerät(e) nicht laden (Typen:MAX!)". Benutze ich die originale Version, werden die Geräte geladen. Dann habe ich aber keine kontinuierliche Temperaturanzeige.

Da Jürgen im Moment keine Zeit hat, möche ich versuchen, die Ursache zu finden.
Hast Du eine Idee, wonach ich in dem Modul suchen muss bzw. was andFHEM abfragt um zu erkennen, dass MAX-Thermostate angeschlossen sind?

Ich würde mich freuen, wenn Du mir weiter helfen könntes.

Viele Grüße und nochmals Danke für Deine Hilfe

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Matthias

Hi,

die Ursache dieses Problems wirst du selber vermutlich nicht beheben können. Selbst Herauszufinden woran es wirklich liegt dürfte für dich nicht leicht werden. Vielleicht kannst du mir bei Gelegenheit deine (anonymisierte) xmllist schicken, dann jage ich es mal direkt durch den Quelltext und schaue was die Ursache ist.

Matthias

Harald

Hallo Matthias,

vielleicht kannst Du mir auch noch bei einem weiteren Problem helfen. Ich habe in mein FHEM das Yahoo-Wetter eingebunden und bekomme in der WEB-Oberfläche auch das entsprechende Diagramm angezeigt aber nicht in andFHEM, weder mit noch ohne custom_graph. Meine fhem.cfg sieht so aus:########################################################################
#
# Wetter
#
define Wetter Weather 652005 300 de
define FileLog_Wetter FileLog ./log/Wetter-%m-%d-%w.log Wetter:(T:|H:|W:).*
attr FileLog_Wetter alias Wetter
attr FileLog_Wetter logtype text
#attr FileLog_Wetter custom_graph 4:T|°C|Temperatur #,(6:H|%|Feuchte),(8:W|km|Wind)
#attr FileLog_Wetter custom_graph 6:H|%|Feuchte
#attr FileLog_Wetter custom_graph 8:W|km|Wind
attr FileLog_Wetter room Diagramm.log
#
# Wetter plotten
#
define Wetter_weblink weblink fileplot FileLog_Wetter:mytemp4hum6wind8:CURRENT
attr Wetter_weblink alias Wetter
attr Wetter_weblink label "Wetter Geldern $data{currval1}°C $data{currval2}% $data{currval3} km/h"
attr Wetter_weblink plotsize 500,120
attr Wetter_weblink room Heizung
#attr Wetter_weblink room MAX
#
Ich bekomme eine rote Meldung in andFHEM "Keine Graph-Einträge gefunden, ...", obwohl es in WEB-Oberfläche ja klappt. Was habe ich da falsch gemacht?

Weiterhin wird nach der Anwahl von "Wetter" in der anschließenden Anzeige im Hochformat der Text von "Aktuelles Wetter" zerrissen dargestellt. Im Querformat wird der Wert von Windgeschwindigkeit und -richtung nach rechts versetzt angezeigt.

Viele Grüße

Harald
Router:AVM7590 1&1 FW:FRITZ!OS 07.56 Anbindung:1&1 50/10 Mb/s, WLAN-Repeater 300E
ELV MAX!Cube, 7xThermostat, ECO, RasPi 4B mit bullseye auf Festplatte,
CUL V 1.67, JeeLink v3_10.1c, nanoCUL, 1xS300TH, 4xHMS100T, 4xELRO, 1xTFA, 2xMAX_FK
ELV MAX!1.4.5, FHEM 5.7 auf RasPi, Kostal PIKO plus

Matthias

Hi,

Die Wetter Geräte gehen von einem anderen FileLog-Format aus. Ein Regexp sieht bei mir z.B. so aus:

NAME:(temp_c|humidity):.*

statt

NAME:(T:|H:|W:).*

Das ist das typische Problem von andFHEM. Von irgendwelchen Konventionen muss man ausgehen.

Für die custom_graphen verwendest du den falschen Trenner: Erlaubt sind @ und #, wobei ich von # abraten würde.

Viele Grüße,
Matthias