FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: maxritti am 16 Oktober 2013, 20:59:26

Titel: Schaltvorgänge visualisieren
Beitrag von: maxritti am 16 Oktober 2013, 20:59:26
Guten Abend zusammen,

nach nunmehr etwas längerer erfolgloser Suche bei Google und hier im Forum traue ich mich mal meine Frage loszuwerden.
Ich habe nun auch mal mit Heimautomatisierung und Fhem angegangen. Bislang lediglich mit einem Homematic LAN Adapter einem HM Bewegungsmelder und einer HM Zwischensteckdose.
Bislang spiele ich da mit einer Lampe, Fhem im Browser und ner iPhone App eine wenig rum.

Und da hat sich nun eine Frage ergeben.
Lassen sich die Schaltvorgänge von fhem bzw des LAN Adapters in irgendeiner Weise visualisieren also eventuell als Graph darstellen? So das man erkennen kann, von wann bis wann eine Lampe an war oder aus?

Ob das Sinn macht, weiß ich noch gar nicht, aber die Frage kam mir so während der Spielerei  :)
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: Dirk am 16 Oktober 2013, 21:37:30
Hallo maxritti,

Ja, das geht.
Du musst lediglich für deinen Aktor ein Logfile definieren.
Eine gute Anlaufstelle dafür währ die Commandref:
http://fhem.de/commandref.html#FileLog

Zu dem Logfile kannst du dann ein so genannten Plot definieren.

Gruß
Dirk
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 16 Oktober 2013, 21:54:25
Hi Dirk,

das hört sich schon mal prima an.
Ein Logfile gibt es. Dieses wurde automatisch von fhem kreiert.

Hast du eventuell noch ein Link für eine Hilfe, wiki o.ä. für die Plotgeschichte?

Danke schon mal
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: Dirk am 16 Oktober 2013, 22:57:19
Hi maxritti,

Schau mal hier:
http://www.fhemwiki.de/wiki/Creating_Plots

Gruß
Dirk
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 17 Oktober 2013, 07:51:12
Moin,

vielleicht ist es noch ein wenig früh. Aber irgendwie stehe ich auf dem Schlauch.

Das Wiki habe ich mir mal durchgelesen. Da steht ja man solle am besten eines der existierenden .gplot Files kopieren.
Also habe ich mir einfach mal das fs20.gplot file genommen, da es für mich am besten geeignet aussah.
Einfach mal die Werte eines FS20 Gerätes anzuzeigen. Es geht bei mir zwar um ein HM Device aber sollte ja egal sein.

############################
# Display the on and off values off an my zirkulationspumpe device
# Corresponding FileLog definition:
# define fs20log FileLog /var/log/fhem/fs20dev-%Y-%U.log fs20dev

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 'Zirkulationspumpe'

set ytics ("Off" 0, "On" 1)
set y2tics ("Off" 0, "On" 1)
set yrange [-0.1:1.1]
set y2range [-0.1:1.1]
set ylabel "Status"
set y2label "Status"

#FileLog 3::0:$fld[2]=~"on"?1:0

plot "< awk '{print $1, $3~/on/? 1 : 0; }' <IN>"\
        using 1:2 notitle with steps


Die Datei habe ich dann mal als my_zirk.plot benannt.
Das einzige was ich in der Datei angepasst habe ist mal der Titel. Nur die grosse Frage ist, wo diese gplot Datei nun die Referenz zu dem Logfile bekommt.

Im Header der Datei steht ja nur, dass es einen existierenden Eintrag "define fs20log...." geben muss.

Gehe ich nun im Fhem auf das Device, sieht es so aus:

Da habe ich dann mal "dg_zirkulationspumpe" ausgewählt und auf "Create SVG plot" geklickt.
Dann erstellt der mit in dem Verzeichnis "/opt/fhem/www/gplot/" Dateien, die so aussehen:

SVG_FileLog_dg_zirkpumpe_1
und
SVG_FileLog_dg_zirkpumpe_2

weil ich wohl 2 mal drauf geklickt habe.

Dann bekomme ich auch einen Graph, der ist allerdings leer, obwohl im Log etwas steht.

Magst Du mal über die Konfig schauen?
So richtig scheine ich das noch nicht gemacht zu haben.
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: rudolfkoenig am 17 Oktober 2013, 08:47:39
Der Wiki-Artikel ist veraltet, weil es das Anlegen "per-Hand" beschreibt, was fuer ungeuebte bzw. nicht Techniker recht muehsam ist. Mit "Create SVG Plot" im FileLog-Detail-Ansicht steht einem inzwischen ein Konfigurations-Frontend zur Verfuegung. Siehe auch http://forum.fhem.de/index.php/topic,11275.msg75594.html#msg75594 (http://forum.fhem.de/index.php/topic,11275.msg75594.html#msg75594)
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 17 Oktober 2013, 10:36:24
Danke Dir für den Hinweis.
Dann werde ich da mal nachschauen.

Ich melde mich, wie es ausgegangen ist.
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 17 Oktober 2013, 12:03:23
Hallo,

ich noch mal. :)

Also immerhin bekomme ich nun einen Graph angezeigt, der wohl auch in etwa den Werten des Logs entspricht.

Hier mal das Logfile von gestern.
Gestern um etwa 12:30 habe ich "wz_steckdose" mal in "dg_zirkpumpe" umbenannt, damit es besser auf die reale Situation passt.

2013-10-16_12:28:49 wz_steckdose R-intKeyVisib: invisib
2013-10-16_12:28:49 wz_steckdose R-pairCentral: 0x123ABC
2013-10-16_12:28:50 wz_steckdose level: 0 %
2013-10-16_12:28:50 wz_steckdose deviceMsg: off (to myHMLAN)
2013-10-16_12:28:50 wz_steckdose off
2013-10-16_12:28:50 wz_steckdose running: -
2013-10-16_12:45:45 dg_zirkpumpe level: 0 %
2013-10-16_12:45:45 dg_zirkpumpe deviceMsg: off (to myHMLAN)
2013-10-16_12:45:45 dg_zirkpumpe off
2013-10-16_12:45:45 dg_zirkpumpe running: -
2013-10-16_16:51:59 dg_zirkpumpe set_on
2013-10-16_16:51:59 dg_zirkpumpe level: 100 %
2013-10-16_16:51:59 dg_zirkpumpe deviceMsg: on (to myHMLAN)
2013-10-16_16:51:59 dg_zirkpumpe on
2013-10-16_16:51:59 dg_zirkpumpe running: -
2013-10-16_16:52:01 dg_zirkpumpe set_off
2013-10-16_16:52:01 dg_zirkpumpe level: 0 %
2013-10-16_16:52:01 dg_zirkpumpe deviceMsg: off (to myHMLAN)
2013-10-16_16:52:01 dg_zirkpumpe off
2013-10-16_16:52:01 dg_zirkpumpe running: -
2013-10-16_16:54:01 dg_zirkpumpe level: 0 %
2013-10-16_16:54:01 dg_zirkpumpe deviceMsg: off (to myHMLAN)
2013-10-16_16:54:01 dg_zirkpumpe off
2013-10-16_16:54:01 dg_zirkpumpe running: -
2013-10-16_19:13:03 dg_zirkpumpe set_on
2013-10-16_19:13:03 dg_zirkpumpe level: 100 %
2013-10-16_19:13:03 dg_zirkpumpe deviceMsg: on (to myHMLAN)
2013-10-16_19:13:03 dg_zirkpumpe on
2013-10-16_19:13:03 dg_zirkpumpe running: -
2013-10-16_19:15:03 dg_zirkpumpe level: 100 %
2013-10-16_19:15:03 dg_zirkpumpe deviceMsg: on (to myHMLAN)
2013-10-16_19:15:03 dg_zirkpumpe on
2013-10-16_19:15:03 dg_zirkpumpe running: -
2013-10-16_22:00:00 dg_zirkpumpe set_off
2013-10-16_22:00:00 dg_zirkpumpe level: 0 %
2013-10-16_22:00:00 dg_zirkpumpe deviceMsg: off (to myHMLAN)
2013-10-16_22:00:00 dg_zirkpumpe off
2013-10-16_22:00:00 dg_zirkpumpe running: -
2013-10-16_22:02:00 dg_zirkpumpe level: 0 %
2013-10-16_22:02:00 dg_zirkpumpe deviceMsg: off (to myHMLAN)
2013-10-16_22:02:00 dg_zirkpumpe off
2013-10-16_22:02:00 dg_zirkpumpe running: -


Durch die Werte kommt nun der im Bild dargestellt Graph zustande.

Ich frage mich nun nur, warum die "Kurve" so diagonal ansteigt.
Weil meine Lampe ist ja nicht von 12:45:45 bis 16:51:59 langsam auf 100% gedimmt worden. Sondern um 16:51:59 eingeschaltet worden.
Das Ausschalten um 16:52:01 hat er immerhin richtig direkt auf 0 gesetzt.

Allerdings ist komisch, dass um 19:13:03 und 19:15:15 jeweils ein on signal kommt.
Ich habe die Steckdose mal mit folgenden Befehlen ein und ausschalten lassen.

define dg_zirkpumpe_on at *{sunset(0,"17:00","22:00")} set dg_zirkpumpe on
define dg_zirkpumpe_off at *22:00 set dg_zirkpumpe off

Und das Off Signal um 22:02:00 scheint mir ganz im Graph zu fehlen.

Hat dazu noch jemand einen Tip?
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: Dirk am 17 Oktober 2013, 12:20:54
Hi maxritti,

ZitatIch frage mich nun nur, warum die "Kurve" so diagonal ansteigt.
Stelle Bei Plot-Type mal steps ein.

ZitatAllerdings ist komisch, dass um 19:13:03 und 19:15:15 jeweils ein on signal kommt.
Hast du hier vielleicht mal anderweitig die Steckdose geschaltet?

ZitatUnd das Off Signal um 22:02:00 scheint mir ganz im Graph zu fehlen.
Der Strich auf der Nulinie geht doch bis ca. 22:00. Das sieht für mich gut aus.

Du wertest hier übrigens nicht on/off aus, sondern das Level (0-100%).

Gruß
Dirk
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 17 Oktober 2013, 12:36:33
Zitat von: Dirk am 17 Oktober 2013, 12:20:54
Hi maxritti,
Stelle Bei Plot-Type mal steps ein.

Hast du hier vielleicht mal anderweitig die Steckdose geschaltet?
Der Strich auf der Nulinie geht doch bis ca. 22:00. Das sieht für mich gut aus.

Treffer. Das sieht besser aus. Allerdings sind jetzt Peaks in dem Diagramm zu sehen.
Ich hätte eigentlich gedacht, dass die Linie von 19:15:15 bis 22:00 auf 1 bzw 100% steht. Da diese ja die ganze Zeit an war, bis sich der Status geändert hat.

Zitat von: Dirk am 17 Oktober 2013, 12:20:54
Du wertest hier übrigens nicht on/off aus, sondern das Level (0-100%).

Gruß
Dirk

Das liegt wohl an der Einstellung "4" unter Input?
Wenn ich allerdings auf "3" umstelle, bekomme ich eine absolute Nulllinie.
Da wird On/Off nicht mehr registriert.
Muss ich da jetzt in dem Feld "Function" noch ein wenig rumhantieren?
So nach dem Motto if (wert = "on") 1 else 0
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 17 Oktober 2013, 12:55:13
Irgendetwas stimmt wohl noch nicht.
Ich sehe gerade als ich so im Fhem Web mit dem "Write .gplot file" rumprobiere, dass auf meiner ssh Sitzung diverse Meldungen protokolliert werden:

Argument "-" isn't numeric in numeric lt (<) at ./FHEM/92_FileLog.pm line 685, <GEN91> line 6.
Argument "-" isn't numeric in numeric lt (<) at ./FHEM/92_FileLog.pm line 685, <GEN91> line 12.
Argument "-" isn't numeric in numeric lt (<) at ./FHEM/92_FileLog.pm line 685, <GEN91> line 18.
Argument "-" isn't numeric in numeric lt (<) at ./FHEM/92_FileLog.pm line 685, <GEN91> line 24.
Argument "-" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1014.
Argument "-" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1014.
Argument "-" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1014.
Argument "-" isn't numeric in numeric gt (>) at ./FHEM/98_SVG.pm line 1014.
Argument "-" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1307.
Argument "-" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1307.
Argument "-" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1307.
Argument "-" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1307.


Gesund kann das ja bestimmt nicht sein.
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: rudolfkoenig am 19 Oktober 2013, 09:13:02
1. Im FileLog das Regexp so aendern, das nur on und off events protokolliert werden, z.Bsp. (dg_zirkpumpe|wz_steckdose):(on|off)
Das ist fuer andere Module wie FS20 oder ZWave nicht notwendig, da diese keine unnoetigen Events wie set_on generieren. Es geht auch anders, indem man in der .gplot Datei einen passenden Regexp eintraegt, mann kann dann halt den Plot-Editor nicht verwenden

2. Im Plot-Editor als Filter alle Events des Geraetes auswaehlen: wz_steckdose:.* , und als Funktion $fld[2]=~"on"?1:0  (Achtung: keine Leerzeichen!). Als Tics gibt man ("Off" 0, "On" 1) ein und fuer Range [-0.1:1.1]

Die unten erwaehnten Fehlermeldungen im Log kommen vermutlich von im Plot-Editor spezifizierten Funktionen (d.h. Perl-Ausdruecken), die keine numerischen Werte zurueckliefern.
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 21 Oktober 2013, 08:38:44
Darf ich zu 1) noch mal fragen, wo man die RegExp des FileLog ändert?

Ich dachte bei den RegExp Part. Aber dort habe ich keine Möglichkeit etwas einzugeben.

Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: rudolfkoenig am 21 Oktober 2013, 08:45:20
Wenn FHEM mit eventTypes schon laenger laeuft, dann muessten in dropdown alle 4 Werte (dg_zirkpumpe:on, dg_zirkpumpe:off, wz_steckdose:on, wz_steckdose:off) vorhanden sein , diese einzeln hinzufuegen, und den alten Regexp entfernen.
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 21 Oktober 2013, 19:00:29
Ich glaube, ich sehe den Wald vor lauter Bäumen nicht mehr.
Irgendwie habe ich den Eindruck, dass ich die GPlot Klamotte kaputtkonfiguriert habe.
Kann man die in dem FileLog definierten Verbindungen zu den SVG Konfigs wieder entfernen?
Weil ich habe sowohl bei meinem Bewegungsmelder als auch bei meiner Steckdose welche mehrfach vorliegen.

Eventuell sollte ich da mal aufräumen und von anfang an die Konfig nach deinen Vorgaben erstellen.

Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 22 Oktober 2013, 17:31:04
Ich bräuchte noch mal Hilfe.

Und zwar habe ich nun ein wenig aufgeräumt, so dass ich nur noch eine SVG_ Datei habe und diese dem Aktor dg_zirkpumpe zugeordnet ist.
Das Filelog sieht denke ich auch ganz gut aus:


2013-10-22_11:57:35 dg_zirkpumpe off
2013-10-22_12:33:53 dg_zirkpumpe on
2013-10-22_12:34:00 dg_zirkpumpe on
2013-10-22_12:34:10 dg_zirkpumpe off
2013-10-22_12:34:17 dg_zirkpumpe off
2013-10-22_15:53:36 dg_zirkpumpe on
2013-10-22_15:55:18 dg_zirkpumpe off
2013-10-22_16:03:35 dg_zirkpumpe on
2013-10-22_16:05:15 dg_zirkpumpe off
2013-10-22_16:30:39 dg_zirkpumpe on
2013-10-22_16:32:19 dg_zirkpumpe off
2013-10-22_16:33:55 dg_zirkpumpe on
2013-10-22_16:34:05 dg_zirkpumpe off
2013-10-22_17:01:21 dg_zirkpumpe on
2013-10-22_17:03:01 dg_zirkpumpe off
2013-10-22_17:05:50 dg_zirkpumpe on
2013-10-22_17:07:32 dg_zirkpumpe off
2013-10-22_17:11:52 dg_zirkpumpe on
2013-10-22_17:13:34 dg_zirkpumpe off
2013-10-22_17:17:53 dg_zirkpumpe on
2013-10-22_17:19:32 dg_zirkpumpe off
2013-10-22_17:24:23 dg_zirkpumpe on
2013-10-22_17:26:03 dg_zirkpumpe off


Da kommt also nur noch on oder off an.

Das heisst doch, dass in dem PlotEditor irgendetwas nicht korrekt ist oder?
Eventuell magst Du noch mal auf die Konfiguration schauen bzw einen Tip geben, wo ich da schauen sollte.
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: justme1968 am 22 Oktober 2013, 17:57:37
falls du die zickzack linien meinst... nimm steps statt lines.

gruss
  andre
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 22 Oktober 2013, 18:03:11
Argh, jetzt wo Du es sagst.

Das hatte Dirk ja auch schon mal in einem vorhergehenden Posting geschrieben.
(http://forum.fhem.de/index.php/topic,15453.msg100515.html#msg100515)
Sorry, manchmal überlese ich zuviel und brauche wohl eine neue Brille  8)

Nun schaut es so wie ich wollte.

Noch mal Danke an alle Beteiligten.
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 23 Oktober 2013, 13:05:13
Eigentlich sieht hier mit dem Plot schon alles wunderbar aus.
Allerdings noch ein kleines kosmetisches Feature.

Und zwar ist mein Aktor heute Nacht um 00:32:52 ausgeschaltet worden und um 01:31:54 wieder eingeschaltet worden. In dem Plot fehlt nun der Anfang von 01:00 bis zum Einschalten um 01:31.
Das wird wohl daran liegen, dass der Ausschaltzeitpunkt von 00:32:52 aus dem Darstellungszeitpunkt des Plots liegt.

Kann man da noch etwas machen, dass die rote Linie dennoch vollständig dargestellt wird, wenn der Zoom so eingestellt ist?

Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: justme1968 am 23 Oktober 2013, 13:08:39
zum Beispiel so: http://www.fhemwiki.de/wiki/Plot-Abriss_vermeiden (http://www.fhemwiki.de/wiki/Plot-Abriss_vermeiden).

edit: ich sehe gerade du hast ziemlich rein gezoomt. das prinzip bleibt aber gleich. du musst die entsprechenden werte im log erzeugen.

gruss
  andre
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 23 Oktober 2013, 17:40:50
Hi,

ich habe nun mal ganz naiv das hier in die fhem.cfg gesetzt via Webinterface gesetzt.
Vorsichtshalber auch den Server mal neu gestartet.

define a_dg_zirkpumpe at +*00:10 {addLog("dg_zirkpumpe","state")}
attr a_dg_zirkpumpe room 99_System


Eigentlich dachte ich, dass ich dann so alle 10 Minuten einen neuen Wert in die Log Datei des dg_zirkpumpe bekomme.
Aber Pustekuchen, da taucht nichts auf.

Mit dem reinzoomen hast Du recht. Allerdings sehen die Plots auch bei einem grösseren Zoom (6 Stunden) so aus.


Und btw:

Neuerdings bekomme ich beim starten des FHEM Servers die Meldung hier:

Use of implicit split to @_ is deprecated at ./FHEM/98_HMinfo.pm line 961, <$fh> line 87.

Vor kurzem hatte ich ähnliche Meldungen, da ging es aber um das Plotmodul. Die sind nun weg.

Dafür nun das Modul 98_HMinfo.

Kann dazu jemand einen Tip loswerden? :)
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 23 Oktober 2013, 17:55:35
[OffTopic]

Gerade habe ich mal sukzessive Bereiche aus der fhem.cfg auskommentiert.
Und sobald diese hier in der cfg Datei drin sind, kommt die Fehlermeldung.

Wozu sind diese eigentlich?
Ich wüsste jetzt nicht mehr wirklich, wann ich die eingetippert habe.

define hm HMinfo
attr hm sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorError:no,error:none,uncertain:yes,smoke_detect:none,cover:closed
attr hm sumStatus battery,sabotageError,powerError,motor
attr hm webCmd update:protoEvents short:rssi:peerXref:configCheck:models


[/OffTopic]
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: rudolfkoenig am 23 Oktober 2013, 18:46:30
> Aber Pustekuchen, da taucht nichts auf.

Ich kenne addLog nicht, vmtl. triggert es falsche Werte, was dein FileLog nicht akzeptiert. Vmtl. muss aber addLog angepast werden.

> Use of implicit split to @_ is deprecated at ./FHEM/98_HMinfo.pm line 961, <$fh> line 87.

das ist eine Baustelle fuer Martin in der HM Gruppe
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 23 Oktober 2013, 19:41:13
Ach ich sehe gerade das hier im fhem-log

2013.10.23 19:35:40 3: a_dg_zirkpumpe: Undefined subroutine &main::addLog called at (eval 70) line 1.

Hätte ich mal im Wiki weitergelesen. Denn man muss ja noch eine 99_myUtils.pm anlegen und ein reload auf 99_myUtils machen.
Dummerweise meldet fhem mir dann aber das im Log:

Zitat2013.10.23 19:39:13 1: reload: Error:Modul 99_myUtils deactivated:
Titel: Antw:Schaltvorgänge visualisieren
Beitrag von: maxritti am 23 Oktober 2013, 19:58:26
Aber irgendwie klappt es nun :)

2013-10-23_19:45:40 dg_zirkpumpe off   << addLog
2013-10-23_19:55:40 dg_zirkpumpe off   << addLog

Damit sollten die Plots nun auch richtig angezeigt werden.

Noch mal danke für den Tip/Link.