Hauptmenü

Ein SVG aus mehreren Logs

Begonnen von NeuFehm, 27 Februar 2017, 20:02:26

Vorheriges Thema - Nächstes Thema

NeuFehm

Wie kann man ein Diagramm (SVG) aus mehreren Logs machen. Habt Ihr da nen Tipp?
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

dbox2user

Hallo NeuFehm!

Erstelle einfach aus der 1.Logfile  per "Create SVG plot" ein neues SVG.
Wenn sich dann der SVG-Editor öffnet kannst Du mehrere Quellen auswählen (je Quelle kannst Du eine eigene logfile  auswählen)
Schau mal das angehängte Bild... neben "Vorlauf" oder "Rücklauf" wählst Du das Logfile z.B. "log_Heizung" oder eben andere Logfiles aus.

Gruß,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

NeuFehm

#2
Christian Super!
Das hat schon mal geklappt:

log:
2017-02-27_20:25:07 TempTmodul1 temp: 9.0..
2017-02-27_20:25:08 TempTmodul5 temp: 11.0 8.4 9.0

und das Diagramm schreibt 4 Werte.


Jetzt will ich noch nen watchdog machen.
Wenn die Temperatur von TempTmodul1 höher ist als die 2. Temperatur von TempTmodul5, dann schalte Heizung an...

Am einfachsten wäre es (glaube ich), wenn das log so aussähe:
2017-02-27_20:25:07 TempTmodul11 temp: 9.0
2017-02-27_20:25:08 TempTmodul51 temp: 11.0
2017-02-27_20:25:08 TempTmodul52 temp: 8.4
2017-02-27_20:25:08 TempTmodul53 temp: 9.0

Meine Classdef sieht zur Zeit so aus und schneidet die Einzelwerte aus dem Antwortstring..:

my $T1 = $temps[ord(substr($_,5,1))];;\
$T1 =~ s/\n+$//;;\
my $T2 = $temps[ord(substr($_,7,1))];;\
$T2 =~ s/\n+$//;;\
my $T3 = $temps[ord(substr($_,9,1))];;\
$T3 =~ s/\n+$//;;\
$_ = $T1.' '.$T2.' '.$T3;;}


$_ = $T1.'\n'.$T2.'\n '.$T3'\n' führt nicht zum Ziel :(

Hast Du da auch ne Idee?

Oder ist der watchdog auch ohne das möglich?
LG Mirko
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul

dbox2user

Hallo Mirko!

Was Du hier brauchst ist kein watchdog, sonder ein DOIF.

Schau mal hier:
https://fhem.de/commandref_DE.html#DOIF
oder
https://wiki.fhem.de/wiki/DOIF

Gruß,
Christian
Fhem 5.8 auf Raspberry Pi2; 1 Wire OWSERVER mit DS9490R und OWX DS2480;AVR-NET-IO mit 1Wire;  LOGO8; Kostalpiko; Selbstbau CUL; Arduino mit cFirmata; Denon AVR; Samsung TV; Fritzbox;

NeuFehm

#4
Ja!!! genau ;)

Ich habe vorher per Readings:
attr TempTmodul5 userReadings Badtemp {substr(ReadingsVal("TempTmodul5","temp",0),6,5)}
attr TempTmodul1 userReadings Wohnzimmertemp {substr(ReadingsVal("TempTmodul1","temp",0),0,5)}


die jeweiligen Temperaturen (Badtemp, Wohnzuimmertemp) ermittelt und anschließend per DOIF verknüpft:
define Badvergleich DOIF ([TempTmodul5:Badtemp]<[TempTmodul1:Wohnzimmertemp] and [Wohnstatus:state] eq "bewohnt") (set Handtuchheizung on) DOELSE (set Handtuchheizung off)

Hintergrund ist, dass es bei mir im Bad bautechnisch bedingt immer etwas kälter ist als im Wohnzimmer und sich daher gern Restfeuchte sammelt.
Die entsteht aber nur dann, wenn die Wohnung bewohnt ist. Daher noch die zusätzliche Bedingung "Wohnstatus" = bewohnt

DAs habe ich einfach mit einem Dummy gelöst:
define Wohnstatus dummy
attr Wohnstatus room Wohnzimmer
attr Wohnstatus webCmd bewohnt:unbewohnt


Vielen Dank für eure Unterstützung!!!

P.S.: So, jetzt mache ich mich an eine intelligente Belüftung des Wohnzimmers. Zunächst muss ich die bauseitigen Voraussetzungen schaffen mit 100er Löcher stemmen und Strom legen ;)
Raspberry Pi B+
RS 485 Schnittstellen: DIGITUS DA-70157, LINKSPTITE RS485/GPIO Shield for Raspberry Pi
RS485 Geräte: Ultraschallsensor für Zisternenfüllstand (Eigenbau), 4x8 Relais-M-Mastermodule (Eigenbau), 6 T-Module (Schalter und 3 analoge Eingänge) (Eigenbau)
sonstige Hardware: 2 Relay Modul