[gelöst] DbLog loggt Reading von DbLogInclude nicht

Begonnen von t1me2die, 30 Januar 2022, 07:43:42

Vorheriges Thema - Nächstes Thema

t1me2die

Moin zusammen,

ich setze eine MariaDB ein und habe dafür ein DbLog Device definiert:

Internals:
   COLUMNS    field length used for Device: 64, Type: 64, Event: 512, Reading: 64, Value: 128, Unit: 32
   CONFIGURATION
./db.conf
   DEF       
./db.conf .*:.*
   FUUID      5ca49ed2-f33f-5a17-e05e-79dfa9c64eae210f
   FVERSION   93_DbLog.pm:v4.12.6-s25478/2022-01-17
   MODE       asynchronous
   MODEL      MYSQL
   NAME       myDbLog
   NR         30
   NTFY_ORDER 50-myDbLog
   PID        2047
   REGEXP     .*:.*
   STATE      connected
   TYPE       DbLog
   UTF8       1
   dbconn     mysql:database=fhem;host=localhost;port=3306
   dbuser     admin
   HELPER:
     COLSET     1
     DEVICECOL  64
     EVENTCOL   512
     OLDSTATE   connected
     PACKAGE    main
     READINGCOL 64
     TC         current
     TH         history
     TYPECOL    64
     UNITCOL    32
     VALUECOL   128
     VERSION    4.12.6
   Helper:
     DBLOG:
       CacheOverflowLastNum:
         myDbLog:
           TIME       1643503503.10157
           VALUE      0
       CacheUsage:
         myDbLog:
           TIME       1643524634.37622
           VALUE      49
       background_processing_time:
         myDbLog:
           TIME       1643524634.45665
           VALUE      0.0208
       countCycle:
         myDbLog:
           TIME       1643289985.14563
           VALUE     
       sql_processing_time:
         myDbLog:
           TIME       1643503503.24209
           VALUE      0.0374
       state:
         myDbLog:
           TIME       1643500800.00676
           VALUE      closed until 03:00:00 (7200 seconds)
   OLDREADINGS:
   READINGS:
     2022-01-30 07:37:14   CacheOverflowLastNum 0
     2022-01-25 09:23:01   CacheOverflowLastState normal
     2022-01-30 07:37:38   CacheUsage      21
     2022-01-30 07:37:14   NextSync        2022-01-30 07:38:14 or if CacheUsage 25000 reached
     2022-01-30 07:37:14   background_processing_time 0.0208
     2021-11-03 19:20:28   countCurrent    0
     2022-01-25 04:54:34   countHistory    55851
     2018-08-01 08:35:09   reduceLogState  reduceLogNbl finished. Rows processed: 0, deleted: 0, time: 35.00sec
     2022-01-30 07:37:14   sql_processing_time 0.0076
     2022-01-30 07:37:14   state           connected
Attributes:
   DbLogInclude CacheUsage,background_processing_time
   DbLogSelectionMode Include
   DbLogType  History
   asyncMode  1
   cacheEvents 2
   cacheLimit 25000
   devStateIcon connected:10px-kreis-gruen disconnected:10px-kreis-rot
   room       LogDB
   showproctime 1
   syncInterval 60


Ich habe den DbLogSelectionMode auf Include gesetzt, weil ich es so verstanden habe, dass alles geloggt wird, was ich in den jeweiligen Devices mit "attr device DbLogInclude reading,reading1,reading2" definiert habe.
Aus diesem Grund habe ich alle Devices mit dem Attribute DbLogInclude ausgestattet und bei Geräten, wo nichts geloggt werden sollte DbLogExclude .* gesetzt.

Nun habe ich ein Device, wo das nicht so recht klappt:

Internals:
   FUUID      60d5e483-f33f-5a17-8d79-4d2bc5cfd55b2e18
   IODev      myBroker
   NAME       bk_Windmesser_MQTT
   NR         1179
   STATE      <div>Status: <img src="/fhem/images/default/10px-kreis-gruen.png"><br> Temperatur: 6.2°C - Luftfeuchtigkeit: 67% <br>Durchschnittliche Windgeschwindigkeit: 51.9 km/h (letzten 3h)<br>Windgeschwindigkeit: 21.6km/h <br>Böen: 36 km/h <br>Windrichtung: NW</div>
   TYPE       MQTT_DEVICE
   Helper:
     DBLOG:
       alive:
         myDbLog:
           TIME       1643491463.83818
           VALUE      1
       humidity:
         myDbLog:
           TIME       1643524396.82097
           VALUE      67
       temperature:
         myDbLog:
           TIME       1643524582.77139
           VALUE      6.2
       windDirectionDegree:
         myDbLog:
           TIME       1643503502.61171
           VALUE      315
       windGust:
         myDbLog:
           TIME       1643503502.60346
           VALUE      1.4
       windGustKmh:
         myDbLog:
           TIME       1643471105.55191
           VALUE      36
       windSpeed:
         myDbLog:
           TIME       1643503502.55472
           VALUE      1.2
   OLDREADINGS:
   READINGS:
     2022-01-25 17:13:50   IODev           myBroker
     2022-01-30 05:18:56   Unwetterwarnung on
     2022-01-30 06:55:04   alive           1
     2022-01-14 16:57:21   error           off
     2022-01-30 07:39:28   humidity        67
     2022-01-30 05:13:49   reset           reset
     2022-01-30 07:39:28   temperature     6.2
     2022-01-30 07:40:30   transmission-state incoming publish received
     2022-01-30 07:40:30   windAvg         51.9
     2022-01-30 07:40:30   windDirectionDegree 315
     2022-01-30 07:40:30   windDirectionText NW
     2022-01-30 07:40:30   windGust        1.0
     2022-01-30 07:40:30   windGustKmh     36
     2022-01-30 07:40:30   windSpeed       0.6
     2022-01-30 07:39:59   windSpeedKmh    21.6
     2022-01-30 07:39:59   windSpeedSumme  5018.4
     2022-01-30 07:40:30   windSpeedSummeGust 13212
     2022-01-30 07:39:59   zaehlerAvg      135
     2022-01-30 07:40:30   zaehlerGustAvg  216
   message_ids:
   sets:
   subscribe:
     sensor/30EDA9/alive
     sensor/30EDA9/humi
     sensor/30EDA9/temp
     sensor/30EDA9/wind_direction
     sensor/30EDA9/wind_gust
     sensor/30EDA9/wind_speed
     sensor/30EDA9/wind_avg
   subscribeExpr:
     ^sensor\/30EDA9\/alive$
     ^sensor\/30EDA9\/humi$
     ^sensor\/30EDA9\/temp$
     ^sensor\/30EDA9\/wind_direction$
     ^sensor\/30EDA9\/wind_gust$
     ^sensor\/30EDA9\/wind_speed$
     ^sensor\/30EDA9\/wind_avg$
   subscribeQos:
     sensor/30EDA9/alive 0
     sensor/30EDA9/humi 0
     sensor/30EDA9/temp 0
     sensor/30EDA9/wind_avg 0
     sensor/30EDA9/wind_direction 0
     sensor/30EDA9/wind_gust 0
     sensor/30EDA9/wind_speed 0
   subscribeReadings:
     sensor/30EDA9/alive:
       cmd       
       name       alive
     sensor/30EDA9/humi:
       cmd       
       name       humidity
     sensor/30EDA9/temp:
       cmd       
       name       temperature
     sensor/30EDA9/wind_avg:
       cmd       
       name       wind_avg
     sensor/30EDA9/wind_direction:
       cmd       
       name       windDirectionDegree
     sensor/30EDA9/wind_gust:
       cmd       
       name       windGust
     sensor/30EDA9/wind_speed:
       cmd       
       name       windSpeed
Attributes:
   DbLogInclude temperature,humidity,windAvg
   IODev      myBroker
   event-on-change-reading alive,windDirectionDegree,windGust,windSpeed,temperature,humidity,windAvg
   group      Windmesser
   icon       weather_wind_speed
   room       MQTT_Windmesser,Balkon
   stateFormat {   my $alive = ReadingsNum($name,'alive',1);
    if ($alive eq '1') {
       return '<div>Status: <img src="/fhem/images/default/10px-kreis-gruen.png">'
      .sprintf("<br> Temperatur: "
      .ReadingsVal($name,'temperature','')
      ."°C - Luftfeuchtigkeit: "
      .ReadingsVal($name,'humidity','')
      ."% <br>Durchschnittliche Windgeschwindigkeit: "
      .ReadingsVal($name,'windAvg','')
      ." km/h (letzten 3h)<br>Windgeschwindigkeit: "
      .ReadingsVal($name,'windSpeedKmh','')
      ."km/h <br>Böen: "
      .ReadingsVal($name,'windGustKmh','')
      ." km/h <br>Windrichtung: "
      .ReadingsVal($name,'windDirectionText','')
      ."").'</div>';
    }
    elsif ($alive eq '0') {
       return '<div>Status: <img src="/fhem/images/default/10px-kreis-rot.png">'
      .sprintf("<br> Temperatur: "
      .ReadingsVal($name,'temperature','')
      ."°C - Luftfeuchtigkeit: "
      .ReadingsVal($name,'humidity','')
      ."% <br>Durchschnittliche Windgeschwindigkeit: "
      .ReadingsVal($name,'windAvg','')
      ." km/h (letzten 3h)<br>Windgeschwindigkeit: "
      .ReadingsVal($name,'windSpeedKmh','')
      ."km/h <br>Böen: "
      .ReadingsVal($name,'windGustKmh','')
      ." km/h <br>Windrichtung: "
      .ReadingsVal($name,'windDirectionText','')
      ."").'</div>';
    }}

   subscribeReading_alive sensor/30EDA9/alive
   subscribeReading_humidity sensor/30EDA9/humi
   subscribeReading_temperature sensor/30EDA9/temp
   subscribeReading_windDirectionDegree sensor/30EDA9/wind_direction
   subscribeReading_windGust sensor/30EDA9/wind_gust
   subscribeReading_windSpeed sensor/30EDA9/wind_speed
   subscribeReading_wind_avg sensor/30EDA9/wind_avg
   userReadings windSpeedKmh:windSpeed.*
{   my $v = ReadingsNum($NAME,'windSpeed',0) * 36;
    $v;
},
windGustKmh:windGust.*
{   my $v = ReadingsNum($NAME,'windGust',0) * 36;
    $v;
}
   verbose    2


Ich möchte das Reading "windAvg" loggen, wie es auch im DbLogInclude steht um es in einem GPLOT auszuwerten.
Erst jetzt fiel mir im GPLOT auf, dass dieser Wert nicht geloggt wird.

Ich vermute, dass ich irgendwas falsch mache, hat jemand einen Tipp für mich?

Gruß
Mathze

t1me2die

Problem gelöst.
Mein Problem war, dass kein Event erzeugt wurde.

Da ich mit setreading gearbeitet habe, habe ich nun laut commandref einfach ein sleep 0.1 vorangestellt.

Gruß
Mathze