93_DbLog - Umstellung Log-Funktion auf non-blocking

Begonnen von DS_Starter, 18 Dezember 2016, 20:03:56

Vorheriges Thema - Nächstes Thema

DS_Starter

Hallo Wuppi68,

freut mich , danke !  :)
Sehe ich demnächst mit vor.

Grüße
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

betateilchen

Zitat von: DS_Starter am 07 Januar 2017, 15:22:34
Es wird alles geloggt was 5000 enthält.

Du hast mein Problem noch nicht verstanden. Es geht nicht um devicename die 5000 enthalten, sondern den kompletten event.

Was ich mit meiner regexp erreichen will:


  • es existieren die Geräte mit Namen wz_TC wz_RT bd_RT
  • alle diese Homematic Geräte erzeugen verschiendene Temperatur-Readings (temperature, desired-temp, measured-temp)
  • mit .*temp.* konnte ich bisher ALLE diese Readings von ALLEN Geräten auf einfachste Weise loggen.

Das funktioniert jetzt nicht mehr.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

das sollte nach wie vor so wie bisher auch funktionieren mit der Definition:

.*:(.*actuator.*|.*temp.*|owo.*)





Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

betateilchen

Zitat von: DS_Starter am 07 Januar 2017, 15:35:01
das sollte nach wie vor so wie bisher auch funktionieren mit der Definition:

Ja, das funktioniert natürlich.

Aber das ist defintiv nicht "wie bisher", weil ich nun auf sämtlichen fhem Installationen (und das sind nicht wenige) die Definitionen der Logfiles entsprechend anpassen muss.

NOTIFYDEV ist im Prinzip eine tolle Sache. Aber an manchen (zentralen) Stellen ist es einfach Kacke und hinderlich.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

Mit "wie bisher" meinte ich natürlich dass in der DbLog-Commandref auf die Verwendung von ".*:.*", also "Device":"Event" hingewiesen wurde.
Und wurde auch so beibehalten.

ZitatNOTIFYDEV ist im Prinzip eine tolle Sache.
Sehe ich genauso und hoffe dass diese Ergänzung langfristig viele Vorteile bringt.

Grüße
Heiko


Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

justme1968

@DS_Starter: das problem ist das man ohne : in der regex nicht entscheiden kann ob devices oder readings gemeint sind. (und sogar mit : manchmal nicht). d.h. wenn es keinen : gibt kann man NOTIFYDEV nicht verwenden und muss auf .* umschalten und jedes event wieder einzeln gegen die regex prüfen.

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

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

betateilchen

Zitat von: justme1968 am 07 Januar 2017, 16:07:11
d.h. wenn es keinen : gibt kann man NOTIFYDEV nicht verwenden und muss auf .* umschalten und jedes event wieder einzeln gegen die regex prüfen.

Genau DAS wäre für mich ein Lösungsansatz, der 93_DbLog.pm bezüglich der regexp Auswertung weitestgehend abwärtskompatibel machen würde.

Denn ich bin mit Sicherheit nicht der einzige User, der mit "einfachen" regexp sein DbLog optimiert hat, zumal diese Variante in der Vergangenheit immer wieder empfohlen wurde, um device-unabhängig loggen zu können.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

Hi Andre,

ja das ist wohl eine Crux. Kriegen wir sicher eingebaut.

Grüße
Heiko
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

betateilchen

#128
Wenn Du an der Stelle nochmal schraubst, solltest Du bitte daran denken, dass es durchaus auch "gemischte" regexp gibt.
Wenn ich wieder zuhause bin, kann ich Dir die regexp von meinem fhem dort posten, dann siehst Du, wie "komplex" sowas aussehen kann.

Auf meinem fhem zuhause sieht die regexp z.B. so aus:

(.*:lumi.*|GW1_.*|.*:batVoltage.*|.*:measured-temp.*|.*:desired.*|.*:actuator.*|.*:valve.*|.*:Bb]attery:.*|.*:temperature.*|.*:humidity.*|.*:dewpoint.*|.*:pressure.*|Melder.*:.*|RM_.*:.*|sunDummy.*:.*|out_Regen.*:.*|.*_SenPwr.*|gds.*)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DS_Starter

ZitatWenn ich wieder zuhause bin, kann ich Dir die regexp von meinem fhem dort posten, dann siehst Du, wie "komplex" sowas aussehen kann.
Ja mach das, vllt. können wir das ja gemeinsam optimieren.
Proxmox+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

justme1968

#130
auch so etwas kann man nicht mehr automatisch für NOTIFYDEV aufarbeiten.

wie wäre es mit einem attribut um zu beeinflussen ob NOTIFYDEV verwendet wird?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

rudolfkoenig

Um NOTIFYDEV zu setzen gibt es (seit 3 Jahren) eine Funktion notifyRegexpChanged.
Was ist NOTIFYDEF?

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

justme1968

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

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

My-FHEM

nach Update habe ich ein kleines Problem.

FHEM2FHEM daten werden nicht in DB geschrieben

Daten die bisher in der datenbank gelogt wurden, werden es jetzt nicht mehr. Es handelt sich hierbei um daten die von einem anderen fhem server per FHEM2FHEM
übertragen werden. Mit "inform on" auf beiden Server werden sie angezeigt, aber nicht mehr in die datenbank geschrieben. Wie kriege ich das wieder hin?

Definition:

define con_conn FHEM2FHEM 192.168.20.161 LOG:(ws300\..*|hzTemp\..*|.*_pid|St.Vs..*|SDM630M.*)

Internals:
   DEF        192.168.20.161 LOG:(ws300\..*|hzTemp\..*|.*_pid|St.Vs..*|SDM630M.*)
   FD         77
   Host       192.168.20.161:7072
   NAME       con_conn
   NR         372
   PARTIAL   
   STATE      connected
   TYPE       FHEM2FHEM
   informType LOG
   regexp     (ws300\..*|hzTemp\..*|.*_pid|St.Vs..*|SDM630M.*)
   Helper:
     Dblog:
       State:
         Mydblog:
           TIME       1483801976.25551
           VALUE      CONNECTED
Attributes:
   room       Heizung



VG