Logproxy für Anfänger

Begonnen von sash.sc, 26 Dezember 2016, 13:41:06

Vorheriges Thema - Nächstes Thema

sash.sc

Hallo zusammen.

Ich bin soweit, dass ich meine Diagramme frisieren will. Dabei bin ich auf LogProxya gestoßen.
Muss ich dies erst defeinieren ? So habe ich es in der WIKI jedenfalls verstanden.
Dann steht da noch, dass ich alles umstellen ! Passiert dies automatisch oder muss das manuell gemacht werden ??


     Anlegen eines logProxy devices:

    define lp logProxy

    Wenn Daten zu einem bestehenden Plot hinzugefügt werden sollen muss
        [b]das SVG device vom jeweiligen DbLog oder FileLog device auf das logProxy device umgestellt werden[/b]
        im .gplot file die #FileLog bzw. #DbLog Zeilen in #logProxy geändert
        und an den Anfang der column_spec zusätzlich FileLog:<logDevice>: bzw. DbLog:<logDevice>: eingefügt werden:

aus:


Gibt es ein verständliches WIKI von LogProxy ?

Gruß und Danke
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

justme1968

ja. du musst es definieren. ja. du musst deine plottfiles umstellen.

ich wüsste nicht was am wiki unverständlich ist.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

igami

Du hast doch selbst schon gefunden was gemacht werden muss:

  • das SVG device vom jeweiligen DbLog oder FileLog device auf das logProxy device umgestellt werden
  • im .gplot file die #FileLog bzw. #DbLog Zeilen in #logProxy geändert
  • und an den Anfang der column_spec zusätzlich FileLog:<logDevice>: bzw. DbLog:<logDevice>: eingefügt werden:
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

Karla

Der Opener hat schon recht.
Das Wiki verwirrt einen reichlich.
Auch ich habe nur durch rumprobieren ein passendes Ergebniss bekommen.

Zuerst muss ein define <hier dein gewählter name,ohne die klammern> logProxy in der Befehlszeile ganz oben im fhem abgesetzt werden.

Das Wiki zählt dann noch 3 Punkte auf, die zu tun wären:
Wenn Daten zu einem bestehenden Plot hinzugefügt werden sollen muss
    1. das SVG device vom jeweiligen DbLog oder FileLog device auf das logProxy device umgestellt werden
    2. im .gplot file die #FileLog bzw. #DbLog Zeilen in #logProxy geändert
    3. und an den Anfang der column_spec zusätzlich FileLog:<logDevice>: bzw. DbLog:<logDevice>: eingefügt werden:


Zu 1. muss die fhem.cfg wie im Wiki Beispiel beschrieben:
aus:

    define SVG_PCA301 SVG FileLog_PCA301_076035:myGplotFile:CURRENT

wird dann:

    define SVG_PCA301 SVG <hier dein gewählter name,ohne die klammern>:myGplotFile:CURRENT


geändert werden. Dazu verwendet man den Befehl "Edit files" aus dem Hauptmenue von fhem.(Um die fhem.cfg editieren zu können, muss aber zuerst das Attribut editConfig im Modul "Web" auf 1 gesetzt werden!)

zu 2. wird die zugehörige *.gplot Datei geändert. Der "Edit Files" Menueeintrag listet alle verfügbaren Dateien auf. Gesucht wird die Datei, welche auch unter deinem Plot angegeben wird. Darin werden zuerst alle Zeilen die mit  #FileLog  bzw.  #DbLog beginnen, direkt hinter der # um ein <hier dein gewählter name,ohne die klammern>+Leerstelle ergänzt und dann
zu 3. noch irgendwas als "FileLog:<logDevice>: bzw. DbLog:<logDevice>:" eingefügt werden.
Das Wiki sammt Wiki-Beispiel:
aus:

#DbLog myDevice:myReading
#FileLog 4:PCA301_076035.power::
#FileLog 4:<SPEC1>.consumption::

wird:

#logProxy DbLog:myDb:myDevice:myReading
#logProxy FileLog:FileLog_PCA301_076035:4:PCA301_076035.power::
#logProxy FileLog:FileLog_<SPEC1>:4:<SPEC1>.consumption::

war da leider auch für mich nicht sehr hilfreich.
Nach einigem probieren hat es bei mir mit

#mein_logproxy FileLog:MobilPiLog:4:MobilPi.DHT22.Temperature\x3a::     anstelle von        #MobilPiLog 4:MobilPi.DHT22.Humidity\x3a::
hingehauen, und mit einer zusätzlichen Zeile
#mein_logproxy FileLog:MobilPiLog,offset=60*60*24:4:MobilPi.DHT22.Temperature\x3a::
bekomme ich eine weitere Linie mit den Daten des Vortages in den Plot.

Ich hoffe, das hilft Dir ein wenig.
Vlt. kann ja jemand die Umwandlung/Einfügung der column_spec noch etwas näher erklären und im Wiki die jeweils betroffenen Dateien irgendwie benennen.
Das sollte die Sache klarer machen.

maci

Also ich komme mit dem Wiki zu Logproxy nicht klar.

Ich glaube alles so gemacht zu haben, wie es im Wiki steht.

Ich habe bisher DbLog benutzt.

Ich habe mit meiner fhem.cfg in der 7 Zeile stehen:
define logPro logProxy

Jetzt ist mir aber unklar, wie das nun funktionieren soll?

Die Definition zu DbLog ist ja nach wie vor da. Diese soll auch blieben, denn ich will ja meine Logeinträge in die DB schreiben.

Wenn ich dann in die Definition des SVG Plots reinschreibe:
define Boilerladepumpe_status SVG LogPro:SVG_Boilerladepumpe:HISTORY
zuvor stand hier:
define Boilerladepumpe_status SVG DbLogging:SVG_Boilerladepumpe:HISTORY
bekomme ich immer nur die Meldung:
No Logdevice LogPro

Da ist es unerheblich ob ich das SVG File bereits geändert habe oder nicht.

Ich blicke da nicht durch!

Wie oben schon geschrieben, wenn dich Logproxy definiere, dann lege ich ja eine neue Log-Methode an
Woher weiß dann fhem was zu tun ist?

Bin kein Programmierer, und kämpfe oft mit div. Ausdrücken.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

justme1968

LogPro != logPro

logProxy ersetz fileLog oder dbLog nicht sondern sorgt nur dafür das du zwischen auslesen der daten für den plot und dem platten selber noch zusätzliche einflussmöglichkeiten auf die daten hast.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

maci

Danke, jetzt ist es mir klarer,
Außerdem habe ich bei mir einen Fehler in der Definition gefunden.
Nun bekomme ich keine Fehlermeldung mehr.

Jetzt gehts ans definieren der Anzeigen.
Fhem auf Dell Thinclient, Fhem auf Raspebrry Pi4,
UniPi Vers. 1.1 mit Raspberry Pi3, 1wire USB Adapter mit OWX
Netatmo Wetterstation + Regenmesser + Netatmo Thermostat
Homematic mit HMLan

justme1968

lass die finger von konfig file. es gibt keinen grund das jemals von hand zu editieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Christian72D

Wie kann ich daß denn von dllog auf logproxy umstellen OHNE die Dateien von Hand anzufassen?

Bin ja schon LANG dabei... aber DAS weiß ich jetzt echt nicht.

justme1968

#9
der kommentar bezog sich zwar auf das normale fhem config file, aber auf logproxy sollte auch mit dem ploteditor gehen. hier ist es aber tatsächlich einfacher das plot file ein mal von hand zu editieren.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

RPunkt

Hallo Leute,
auch ich bin da auch völlig überfordert mit.
Ich wollte mit als erstes mal ein Beispiel aus dem Wiki (https://wiki.fhem.de/wiki/LogProxy) vornehmen.
Hier dachte ich an den Plot zu "Sonnenauf- und -untergangszeiten plotten".
Das sollte doch sogar ohne Werte im DbLog oder FileLog funktionieren.
Bei mir kommt nur ein leerer Plot.
Was muss denn da definiert werden?
Vielleicht kann mir ja da jemand mal auf die Sprünge helfen.
Gruß

justme1968

was genau ist denn nicht klar?

die genaue config steht doch im wiki. und dort steht das es in der fhem.cfg.demo integriert ist.

fhem mit fhem.cfg.demo und du siehst wie es aussehen muss.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

RPunkt

Also entsprechend der fhem.cfg.demo habe ich den folgenden Eintrag in meiner fhem.cfg:
DEF        logProxy:SVG_04_Sun:CURRENT
   FUUID      5e39bdaa-f33f-1fc9-3651-68a17eba14b94322
   GPLOTFILE  SVG_04_Sun
   LOGDEVICE  logProxy
   LOGFILE    CURRENT
   NAME       SVG_04_Sun
   NOTIFYDEV  global
   NR         170
   STATE      initialized
   TYPE       SVG
Attributes:
   fixedrange year
   title      {"".logProxy_dec2hms($data{min1})." - ".logProxy_dec2hms($data{max1})." - ".logProxy_dec2hms($data{min2})." - ".logProxy_dec2hms($data{max2})}


und das File SVG_04_Sun.gplot sieht so aus:
et yrange [4:10]
set y2range [16:23]

#logProxy Func:logProxy_Func2Plot($from,$to,'{logProxy_hms2dec(sunrise_abs_dat($sec))}')
#logProxy Func:logProxy_Func2Plot($from,$to,'{logProxy_hms2dec(sunset_abs_dat($sec))}')
#logProxy ConstX:TimeNow(),4,10 
                                                             
plot "<IN>" using 1:2 axes x1y1 title 'Sonnenaufgang' ls l2 lw 1 with steps,\
plot "<IN>" using 1:2 axes x1y2 title 'Somnnenuntergang' ls l0 lw 1 with steps,
plot "<IN>" using 1:2 axes x1y1 title notitle ls l5 lw 1 with steps,

Trotzdem bekomme ich keinen Plot angezeigt :'(

justme1968

hast du das logproxy device angelegt?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

RPunkt

#14
Hallo  justme1968,
äh nein.
Was habe ich denn überlesen?
Meinst Du:
define lp logProxy
Ich dachte, das braucht man nicht bzw. das sei nicht notwendig :-\
Nachtrag:
Okay, ich hab es geändert. nachdem ich lp definiert habe musste ich
define SVG_04_Sun SVG logProxy:SVG_04_Sun:CURRENT
in
define SVG_04_Sun SVG lp:SVG_04_Sun:CURRENT
ändern, dann war alles gut.
Danke für die Hilfestellung