DBLogInclude Periodenabhängig loggen

Begonnen von Hackstall, 02 Juni 2020, 12:24:07

Vorheriges Thema - Nächstes Thema

Hackstall

Hallo,

ich habe folgende Implementierung:


define IoT_Dr_Garten_IoT_CO2_Pres PRESENCE lan-ping 192.168.0.24 60 120
attr IoT_Dr_Garten_IoT_CO2_Pres DbLogExclude .*
attr IoT_Dr_Garten_IoT_CO2_Pres DbLogInclude DaNichtDa:3600
attr IoT_Dr_Garten_IoT_CO2_Pres event-on-change-reading .*
attr IoT_Dr_Garten_IoT_CO2_Pres group Grp-Sensor
attr IoT_Dr_Garten_IoT_CO2_Pres icon it_wireless_dcf77
attr IoT_Dr_Garten_IoT_CO2_Pres pingCount 4
attr IoT_Dr_Garten_IoT_CO2_Pres room 2.0_Draussen_Garten
attr IoT_Dr_Garten_IoT_CO2_Pres userReadings DaNichtDa { (ReadingsVal("IoT_Dr_Garten_IoT_CO2_Pres","state","absent") eq "absent")?0:1 }


Ich möchte erreichen dass der Wert DaNichtDa im festen Raster von 3600sekunden geloggt wird.
Sollte ich ein Änderung ergeben so würde ich die Änderung auch gerne loggen.

Irgendwie werden mit obiger Implementierung aber nur die Änderungen geloggt.

Die :3600 scheinen keine Einfluss zu haben.

Kann mir hier jemand weiterhelfen?

Danke
Andreas

DS_Starter

Hallo Andreas,

vermutlich hilft dir die force Option.
Steht in der DbLog comref zu DbLogInclude.

Grüsse,
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

Hackstall

Hallo Heiko,

force hilft leider auch nicht wirklich.

Gibts sonst noch Ideen.

Danke Andreas

DS_Starter

Ja, das in DbLog eingebaute addLog Kommando.
Das kannst du alle 3600 Sekunden mit einem at ausführen.
Dann hast du mindest ein Log im festen Stundenraster.
Änderungen werden sonst auch geloggt.

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

Hackstall

Hallo,

funktioniert leider auch nicht:

Es kommt folgende Fehlermeldung:

Undefined subroutine &main::addLog called at (eval 31638) line 2.


Wie gesagt ich logge nicht ins Logfile, sonder in DB.

Es funktioniert mit und ohne Set Logging:

set DBLogging addLog("Sileno_Control_Status","Sileno_OnOff");;\


addLog("Plug_GA.GA_StromerLadeStation","energy");;\


Beides mal die gleicht Fehlermeldung von oben.

Gibt es noch Ideen?
Danke Andreas

DS_Starter

Na komm ...
Im DbLog gibt es ein "set <> addLog" mit etlichen Optionen.

Hast du einen zu alten Stand ?

ZitatWie gesagt ich logge nicht ins Logfile, sonder in DB.
Schon klar.

LG,
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

Hackstall

Hallo,

aber irgendwie sprichst Du für mich in Rätseln.

Bitte um Antwort für Anfänger:

Meine Routine sieht wie folgt aus:

define at_log300 at +*00:05:00 {\
set DBLogging addLog("Sileno_Control_Status","Sileno_OnOff");;\
set DBLogging addLog("KU_Spuelmaschine","count");;\
set DBLogging addLog("KE_Waschmaschine_Miele_1764","count");;\
set DBLogging addLog("KE_Waschmaschine_Miele_2234","count");;\
set DBLogging addLog("KE_Trockner_Miele_690","count");;\
}
attr at_log300 DbLogExclude .*
attr at_log300 group Grp-System-At
attr at_log300 icon time_timer
attr at_log300 room 9.6_System


Wie müsste man es machen damit funktioniert?

Update habe ich erst gestern gemacht.

Gruss Andreas

DS_Starter

#7
Hallo Andreas,

warst doch schon fast dran  :)


define at_log300 at +*00:05:00 {\
fhem(qq{set DBLogging addLog("Sileno_Control_Status","Sileno_OnOff"});;\
fhem(qq{set DBLogging addLog("KU_Spuelmaschine","count"});;\
fhem(qq{set DBLogging addLog("KE_Waschmaschine_Miele_1764","count"});;\
fhem(qq{set DBLogging addLog("KE_Waschmaschine_Miele_2234","count"});;\
fhem(qq{set DBLogging addLog("KE_Trockner_Miele_690","count"});;\
}

So sollte es klappen wenn ich mich nicht vertippt habe.
Das FHEM "set" Kommando must du ja innerhalb einer Perl-Routine {  } als fhem(...) ausführen.

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