(Gelöst) DbLog mit Intervall

Begonnen von SamNitro, 05 Mai 2018, 14:45:35

Vorheriges Thema - Nächstes Thema

SamNitro

Hallo zusammen, ich habe ein kleines Verständnis Problem,
ich versuche bei meinem Leistungsmesser Daten zu Loggen und zwar möchte ich nur "state" und "ENERGY_Power" also die Watt zahl haben, da der log aber nicht zu groß werden soll möchte ich "ENERGY_Power" nur alle 300 Sekunden loggen.

DbLogInclude state,ENERGY_Power:300
Geht leider nicht....

Hier mal ein list vom device.
Internals:
   CFGFN     
   IODev      MQTT
   NAME       sonoff_waschmaschine
   NR         152
   STATE      on
   TYPE       MQTT_DEVICE
   Helper:
     DBLOG:
       ENERGY_Power:
         DBLogging:
           TIME       1525488273.66006
           VALUE      3
   READINGS:
     2018-05-05 14:39:45   ENERGY_Current  0
     2018-05-05 14:39:45   ENERGY_Factor   0
     2018-05-05 14:39:45   ENERGY_Period   0
     2018-05-05 14:39:45   ENERGY_Power    0
     2018-05-05 14:39:45   ENERGY_Today    1.552
     2018-05-05 14:39:45   ENERGY_Total    80.403
     2018-05-05 14:39:45   ENERGY_Voltage  228
     2018-05-05 14:39:45   ENERGY_Yesterday 1.552
     2018-01-13 01:14:32   FallbackTopic   DVES_E772C6
     2018-01-13 01:14:32   GroupTopic      sonoffs
     2018-01-13 01:14:32   Hostname        sonoff_waschmaschine-4806
     2018-01-13 01:14:32   INFO1           {"Module":"Sonoff Pow","Version":"5.11.0a","FallbackTopic":"DVES_E772C6","GroupTopic":"sonoffs"}
     2018-01-13 01:14:32   INFO2           {"WebServerMode":"Admin","Hostname":"sonoff_waschmaschine-4806","IPAddress":"192.168.1.39"}
     2018-01-13 01:14:32   INFO3           {"RestartReason":"Software/System restart"}
     2018-01-13 01:14:32   IPAddress       192.168.1.39
     2018-05-04 20:12:55   LWT             Online
     2018-01-13 01:14:32   Module          Sonoff Pow
     2018-05-05 14:39:45   POWER           on
     2018-05-04 19:44:30   RESULT          {"POWER":"ON"}
     2018-01-13 01:14:32   RestartReason   Software/System restart
     2018-05-05 14:39:45   SENSOR          {"Time":"2018-05-05T13:39:45","ENERGY":{"Total":80.403,"Yesterday":1.552,"Today":1.552,"Period":0,"Power":0,"Factor":0.00,"Voltage":228,"Current":0.000}}
     2018-05-05 14:39:45   STATE           {"Time":"2018-05-05T13:39:45","Uptime":2700,"Vcc":3.472,"POWER":"ON","Wifi":{"AP":2,"SSId":"Garage","RSSI":80,"APMac":"xxx"}}
     2018-05-05 14:39:45   Time            2018-05-05T13:39:45
     2018-05-05 14:02:00   UPTIME          {"Time":"2018-05-05T13:02:00","Uptime":2700}
     2018-05-05 14:39:45   Uptime          2700
     2018-05-05 14:39:45   Vcc             3.472
     2018-01-13 01:14:32   Version         5.11.0a
     2018-01-13 01:14:32   WebServerMode   Admin
     2018-05-05 14:39:45   Wifi_AP         2
     2018-05-05 14:39:45   Wifi_APMac      xxx
     2018-05-05 14:39:45   Wifi_RSSI       80
     2018-05-05 14:39:45   Wifi_SSId       Garage
     2018-05-04 19:44:30   power           ON
     2018-05-04 19:44:30   state           ON
     2018-05-05 14:39:45   transmission-state incoming publish received
   
Attributes:
   DbLogInclude state,ENERGY_Power:300
   IODev      MQTT
   autoSubscribeReadings +/sonoff_waschmaschine/+
   devStateIcon on:black_Steckdose.on off:black_Steckdose.off .*:black_Steckdose.off
   eventMap   ON:on OFF:off
   publishSet ON OFF cmnd/sonoff_waschmaschine/power
   publishSet_update 1 cmnd/sonoff_waschmaschine/upgrade
   room       MQTT
   stateFormat POWER
   subscribeReading_ENERGY tele/sonoff_waschmaschine/ENERGY
   subscribeReading_INFO1 tele/sonoff_waschmaschine/INFO1
   subscribeReading_INFO2 tele/sonoff_waschmaschine/INFO2
   subscribeReading_INFO3 tele/sonoff_waschmaschine/INFO3
   subscribeReading_LWT tele/sonoff_waschmaschine/LWT
   subscribeReading_POWER stat/sonoff_waschmaschine/POWER
   subscribeReading_RESULT stat/sonoff_waschmaschine/RESULT
   subscribeReading_SENSOR tele/sonoff_waschmaschine/SENSOR
   subscribeReading_STATE tele/sonoff_waschmaschine/STATE
   subscribeReading_UPGRADE stat/sonoff_waschmaschine/UPGRADE
   subscribeReading_UPTIME tele/sonoff_waschmaschine/UPTIME
   subscribeReading_power cmnd/sonoff_waschmaschine/power
   subscribeReading_upgrade cmnd/sonoff_waschmaschine/upgrade
   webCmd     ON:OFF



Wo liegt der Fehler?
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

DS_Starter

Hast du in deinem DbLog-Device das Attribut "DbLogSelectionMode" richtig gesetzt ?


attr <DbLogdevice> DbLogSelectionMode Include


VG
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

SamNitro

ja das habe ich gesetzt.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

DS_Starter

Ok, dann wie üblich verbose 4 oder 5 einstellen. Damit siehst du im Log Einträge etwa dieser Art:


2018.05.05 20:58:36.876 4: DbLog LogDB1 -> ################################################################
2018.05.05 20:58:36.881 4: DbLog LogDB1 -> ###              start of new Logcycle                       ###
2018.05.05 20:58:36.886 4: DbLog LogDB1 -> ################################################################
2018.05.05 20:58:36.891 4: DbLog LogDB1 -> number of events received: 1 for device: LogDB
2018.05.05 20:58:36.896 4: DbLog LogDB1 -> check Device: LogDB , Event: notify_processing_time: 0.0062
2018.05.05 20:58:36.902 4: DbLog LogDB1 -> added event - Timestamp: 2018-05-05 20:58:36, Device: LogDB, Type: DBLOG, Event: notify_processing_time: 0.0062, Reading: notify_processing_time, Value: 0.0062, Unit:
2018.05.05 20:58:36.913 4: DbLog LogDB1 -> ################################################################
2018.05.05 20:58:36.919 4: DbLog LogDB1 -> ###              start of new Logcycle                       ###
2018.05.05 20:58:36.923 4: DbLog LogDB1 -> ################################################################
2018.05.05 20:58:36.928 4: DbLog LogDB1 -> number of events received: 2 for device: heartbeat
2018.05.05 20:58:36.934 4: DbLog LogDB1 -> check Device: heartbeat , Event: state: Next: 20:59:36
2018.05.05 20:58:36.939 4: DbLog LogDB1 -> check Device: heartbeat , Event: touch: 1
2018.05.05 20:58:36.944 4: DbLog LogDB1 -> added event - Timestamp: 2018-05-05 20:58:36, Device: heartbeat, Type: AT, Event: touch: 1, Reading: touch, Value: 1, Unit:


Daran sieht man schon welche Events empfangen und verarbeitet werden.
Außerdem hast du nur geschrieben "Geht leider nicht.... "
Was genau geht denn nicht ?  ;)

VG
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

SamNitro

#4
ZitatWas genau geht denn nicht ?  ;)
ich möchte das "state" jedes mal geloggt wird wenn sich was ändert aber nur alle 5 Minuten wenn sich der der status "ENERGY_Power" ändert.
aber egal was ich einstelle logt er alles (state, ENERGY_Power) sofort.

2018.05.05 21:29:04 4: DbLog DBLogging -> ################################################################
2018.05.05 21:29:04 4: DbLog DBLogging -> ###              start of new Logcycle                       ###
2018.05.05 21:29:04 4: DbLog DBLogging -> ################################################################
2018.05.05 21:29:04 4: DbLog DBLogging -> number of events received: 1 for device: sonoff_waschmaschine
2018.05.05 21:29:04 4: DbLog DBLogging -> check Device: sonoff_waschmaschine , Event: ENERGY_Power: 6
2018.05.05 21:29:04 4: DbLog DBLogging -> added event - Timestamp: 2018-05-05 21:29:04, Device: sonoff_waschmaschine, Type: MQTT_DEVICE, Event: ENERGY_Power: 6, Reading: ENERGY_Power, Value: 6, Unit:
2018.05.05 21:29:04 4: DbLog DBLogging -> ################################################################
2018.05.05 21:29:04 4: DbLog DBLogging -> ###         New database processing cycle - synchronous      ###
2018.05.05 21:29:04 4: DbLog DBLogging -> ################################################################
2018.05.05 21:29:04 4: DbLog DBLogging -> DbLogType is: Current/History
2018.05.05 21:29:04 4: DbLog DBLogging -> AutoCommit mode: ON, Transaction mode: ON
2018.05.05 21:29:04 4: DbLog DBLogging -> processing event Timestamp: 2018-05-05 21:29:04, Device: sonoff_waschmaschine, Type: MQTT_DEVICE, Event: ENERGY_Power: 6, Reading: ENERGY_Power, Value: 6, Unit:
2018.05.05 21:29:04 4: DbLog DBLogging -> 1 of 1 events inserted into table history
2018.05.05 21:29:04 4: DbLog DBLogging -> insert table history committed by autocommit
2018.05.05 21:29:04 4: DbLog DBLogging -> 1 of 1 events updated in table current
2018.05.05 21:29:04 4: DbLog DBLogging -> insert / update table current committed by autocommit
2018.05.05 21:29:04 1: PERL WARNING: Argument "0T06:40:16" isn't numeric in numeric gt (>) at (eval 63343) line 4.
2018.05.05 21:29:05 4: Processing Statement: SELECT
                  DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s'),
                  DEVICE,
                  READING,
                  VALUE
                   FROM history WHERE 1=1 AND DEVICE  = 'sonoff_trockner' AND READING = 'ENERGY_Power' AND TIMESTAMP >= STR_TO_DATE('2018-05-05 00:00:00', '%Y-%m-%d %H:%i:%s') AND TIMESTAMP < STR_TO_DATE('2018-05-05 23:59:59', '%Y-%m-%d %H:%i:%s') ORDER BY TIMESTAMP
2018.05.05 21:29:05 4: Processing Statement: SELECT
                  DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s'),
                  DEVICE,
                  READING,
                  VALUE
                   FROM history WHERE 1=1 AND DEVICE  = 'sonoff_waschmaschine' AND READING = 'ENERGY_Power' AND TIMESTAMP >= STR_TO_DATE('2018-05-05 00:00:00', '%Y-%m-%d %H:%i:%s') AND TIMESTAMP < STR_TO_DATE('2018-05-05 23:59:59', '%Y-%m-%d %H:%i:%s') ORDER BY TIMESTAMP
2018.05.05 21:29:07 4: DbLog DBLogging -> ################################################################
2018.05.05 21:29:07 4: DbLog DBLogging -> ###              start of new Logcycle                       ###
2018.05.05 21:29:07 4: DbLog DBLogging -> ################################################################
2018.05.05 21:29:07 4: DbLog DBLogging -> number of events received: 1 for device: sonoff_waschmaschine
2018.05.05 21:29:07 4: DbLog DBLogging -> check Device: sonoff_waschmaschine , Event: ENERGY_Power: 5
2018.05.05 21:29:07 4: DbLog DBLogging -> added event - Timestamp: 2018-05-05 21:29:07, Device: sonoff_waschmaschine, Type: MQTT_DEVICE, Event: ENERGY_Power: 5, Reading: ENERGY_Power, Value: 5, Unit:
2018.05.05 21:29:07 4: DbLog DBLogging -> ################################################################
2018.05.05 21:29:07 4: DbLog DBLogging -> ###         New database processing cycle - synchronous      ###
2018.05.05 21:29:07 4: DbLog DBLogging -> ################################################################
2018.05.05 21:29:07 4: DbLog DBLogging -> DbLogType is: Current/History
2018.05.05 21:29:07 4: DbLog DBLogging -> AutoCommit mode: ON, Transaction mode: ON
2018.05.05 21:29:07 4: DbLog DBLogging -> processing event Timestamp: 2018-05-05 21:29:07, Device: sonoff_waschmaschine, Type: MQTT_DEVICE, Event: ENERGY_Power: 5, Reading: ENERGY_Power, Value: 5, Unit:
2018.05.05 21:29:07 4: DbLog DBLogging -> 1 of 1 events inserted into table history
2018.05.05 21:29:07 4: DbLog DBLogging -> insert table history committed by autocommit
2018.05.05 21:29:07 4: DbLog DBLogging -> 1 of 1 events updated in table current
2018.05.05 21:29:07 4: DbLog DBLogging -> insert / update table current committed by autocommit
2018.05.05 21:29:07 1: PERL WARNING: Argument "0T06:40:16" isn't numeric in numeric gt (>) at (eval 63418) line 4.
2018.05.05 21:29:08 4: Processing Statement: SELECT
                  DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s'),
                  DEVICE,
                  READING,
                  VALUE
                   FROM history WHERE 1=1 AND DEVICE  = 'sonoff_trockner' AND READING = 'ENERGY_Power' AND TIMESTAMP >= STR_TO_DATE('2018-05-05 00:00:00', '%Y-%m-%d %H:%i:%s') AND TIMESTAMP < STR_TO_DATE('2018-05-05 23:59:59', '%Y-%m-%d %H:%i:%s') ORDER BY TIMESTAMP
2018.05.05 21:29:08 4: Processing Statement: SELECT
                  DATE_FORMAT(TIMESTAMP, '%Y-%m-%d %H:%i:%s'),
                  DEVICE,
                  READING,
                  VALUE
                   FROM history WHERE 1=1 AND DEVICE  = 'sonoff_waschmaschine' AND READING = 'ENERGY_Power' AND TIMESTAMP >= STR_TO_DATE('2018-05-05 00:00:00', '%Y-%m-%d %H:%i:%s') AND TIMESTAMP < STR_TO_DATE('2018-05-05 23:59:59', '%Y-%m-%d %H:%i:%s') ORDER BY TIMESTAMP

jump to the top
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

DS_Starter

Kann es sein dass sich der Wert von "ENERGY_Power" innerhalb des eingestellten MinIntervall ändert ?
Falls sich der Wert ändert wird dennoch geloggt obwohl das MinIntervall nicht nicht erreicht ist.

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

SamNitro

ja er ändert sich innerhalb der zeit.
aber ich möchte das er nur SPÄTESTENS alle 5 Minuten loggt oder wenn länger als 5 Minuten erst dann wenn sich der wert ändert.

dann hatte ich die Funktion falsch verstanden :/
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

DS_Starter

Zitataber ich möchte das er nur SPÄTESTENS alle 5 Minuten loggt  ....
Dafür kannst du "set <Dblog> addLog ..." einsetzen und per AT alle 5 Minuten das Reading ENERGY_Power loggen.
Damit bei Werteänderung keinen Event erzeugt wird, könntest du event-on-change-reading benutzen und dieses Reading nicht mit aufnehmen.
Das wäre ein möglicher Weg, gibt sicherlich noch andere.

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

SamNitro

Ok dann werde ich das erstmal so machen Danke für deine Hilfe.
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)