nach Update Logfile läuft voll mit Fehlermeldung

Begonnen von bugster_de, 05 August 2024, 09:21:15

Vorheriges Thema - Nächstes Thema

bugster_de

Hallo Leute,

ich habe letzte Woche einen Update gemacht und seither läuft das Logfile mit folgender Fehlermeldung voll:

2024.08.05 09:01:50 1: PERL WARNING: Argument "" isn't numeric in sprintf at (eval 1449090) line 1.
2024.08.05 09:01:50 3: eval: sprintf( "%d %% - %s", ReadingsVal( $name, "LEVEL", 50 ), ReadingsVal( $name, "EMERGENCY_OPERATION", "false" ) );
Die Zeitpunkte des Fehlereintrages lassen auch keinen Rückschluß auf ein Muster zu: mal sind zwischen den Einträgen beinahe 2 Stunden, mal sind es nur 5 Minuten.

Woran kann das liegen?

Otto123

#1
Hi,
Es ist eine Warnung.
Der Grund dafür steht komplett da: der Ausdruck in deinem sprintf() ist leer, also keine Zahl wie erwartet.
Du musst mal die Definition und die Daten anschauen wo das Konstrukt verwendet wird.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

bugster_de

#2
Zitat von: Otto123 am 05 August 2024, 10:12:03Hi,
Es ist eine Warnung.
Der Grund dafür steht komplett da: der Ausdruck in deinem sprintf() ist leer, also keine Zahl wie erwartet.
Du musst mal die Definition und die Daten anschauen wo das Konstrukt verwendet wird.

Gruß Otto

Hi, Danke!

Bringt mich der Problembeschreibung ein bisschen näher. Ich habe pro Stockwerk die Homematic IP Fussbodenheizungsregler verbaut. Diese sind in Hoemmatic wie folgt definiert:
define HmIP_FALMOT_C12_001B9F29B3D29D_6 HMCCUCHN 001B9F29B3D29D:6
attr HmIP_FALMOT_C12_001B9F29B3D29D_6 alias Wohnzimmer Mitte
attr HmIP_FALMOT_C12_001B9F29B3D29D_6 group Verteiler EG
attr HmIP_FALMOT_C12_001B9F29B3D29D_6 room _Heizung
attr HmIP_FALMOT_C12_001B9F29B3D29D_6 sortby 060
attr HmIP_FALMOT_C12_001B9F29B3D29D_6 stateFormat {sprintf( "%d %% - %s", ReadingsVal( $name, "LEVEL", 50 ), ReadingsVal( $name, "EMERGENCY_OPERATION", "false" ) );; }
#   DEF        001B9F29B3D29D:6
#   FUUID      65d788a0-f33f-ab17-1d4d-dbbd768958541ecf
#   IODev      CCU3_Main
#   NAME       HmIP_FALMOT_C12_001B9F29B3D29D_6
#   NR         215
#   STATE      97 % - false
#   TYPE       HMCCUCHN
#   ccuaddr    001B9F29B3D29D:6
#   ccudevstate active
#   ccuif      HmIP-RF
#   ccuname    HmIP-FALMOT-C12 001B9F29B3D29D:6
#   ccurolestate CLIMATECONTROL_FLOOR_TRANSCEIVER
#   ccusubtype FALMOT-C12
#   ccutype    HmIP-FALMOT-C12
#   eventCount 1830
#   firmware   1.4.8
#   readonly   no
#   receiver   HmIP_BWTH_000CA0C9A3602D_9,HmIP_BWTH_000CA0C98E91CB_9,HmIP_BWTH_A_004160C9A92AF8_9,HmIP_BWTH_A_004160C9A92B03_9,HmIP_BWTH_A_004160C9A92A9E_9,HmIP_BWTH_A_004160C9A92AEB_9,HmIP_BWTH_000CA0C98E91B3_9
#   sender     HmIP_BWTH_000CA0C9A3602D_9,HmIP_BWTH_000CA0C98E91CB_9,HmIP_BWTH_A_004160C9A92AF8_9,HmIP_BWTH_A_004160C9A92B03_9,HmIP_BWTH_A_004160C9A92A9E_9,HmIP_BWTH_A_004160C9A92AEB_9,HmIP_BWTH_000CA0C98E91B3_9
#   READINGS:
#     2024-08-06 11:30:39   DEW_POINT_ALARM false
#     2024-08-06 11:30:39   EMERGENCY_OPERATION false
#     2024-08-06 11:30:39   EXTERNAL_CLOCK  false
#     2024-08-06 11:30:39   FROST_PROTECTION false
#     2024-08-06 11:30:39   HUMIDITY_LIMITER false
#     2024-07-26 11:29:23   IODev           CCU3_Main
#     2024-08-06 11:30:41   LEVEL           97
#     2024-08-06 11:30:41   LEVEL_STATUS    NORMAL
#     2024-08-06 11:30:39   VALVE_STATE     ADAPTION_DONE
#     2024-08-06 11:30:41   activity        alive
#     2024-08-06 11:30:42   devstate        ok
#     2024-08-06 11:30:42   hmstate         97
#     2024-03-21 18:47:20   level           10
#     2024-03-21 18:47:20   pct             10
#     2024-08-06 11:30:41   rssidevice      -68
#     2024-07-26 11:32:03   rssipeer        N/A
#     2024-08-06 11:30:41   state           97
#     2024-07-26 11:32:03   voltage         0.0
#   hmccu:
#     channels   1
#     detect     0
#     devspec    001B9F29B3D29D:6
#     nodefaults 1
#     role       6:CLIMATECONTROL_FLOOR_TRANSCEIVER
#     setDefaults 0
#     cmdlist:
#       get       
#       set       
#     control:
#     dp:
#       0.CONFIG_PENDING:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.DATE_TIME_UNKNOWN:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.DUTY_CYCLE:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.HEATING_COOLING:
#         VALUES:
#           NVAL       1
#           SVAL       COOLING
#           VAL        1
#       0.HUMIDITY_ALARM:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.INSTALL_TEST:
#         VALUES:
#           NVAL       1
#           SVAL       true
#           VAL        1
#       0.OPERATING_VOLTAGE:
#         VALUES:
#           NVAL       0.000000
#           SVAL       0.0
#           VAL        0.000000
#       0.OPERATING_VOLTAGE_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       0.RSSI_DEVICE:
#         VALUES:
#           NVAL       -68
#           ONVAL      -69
#           OSVAL      -69
#           OVAL       -69
#           SVAL       -68
#           VAL        -68
#       0.RSSI_PEER:
#         VALUES:
#           NVAL       N/A
#           SVAL       N/A
#           VAL        0
#       0.TEMPERATURE_LIMITER:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       0.UNREACH:
#         VALUES:
#           NVAL       0
#           SVAL       alive
#           VAL        0
#       0.UPDATE_PENDING:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       6.DEW_POINT_ALARM:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       6.EMERGENCY_OPERATION:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       6.EXTERNAL_CLOCK:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       6.FROST_PROTECTION:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       6.HUMIDITY_LIMITER:
#         VALUES:
#           NVAL       0
#           SVAL       false
#           VAL        0
#       6.LEVEL:
#         VALUES:
#           NVAL       97
#           ONVAL      91
#           OSVAL      91
#           OVAL       0.91
#           SVAL       97
#           VAL        0.97
#       6.LEVEL_STATUS:
#         VALUES:
#           NVAL       0
#           SVAL       NORMAL
#           VAL        0
#       6.VALVE_STATE:
#         VALUES:
#           NVAL       4
#           SVAL       ADAPTION_DONE
#           VAL        4
#     roleChannels:
#       CLIMATECONTROL_FLOOR_TRANSCEIVER 6
#     roleCmds:
#       get:
#       set:
#     state:
#       chn        6
#       dpt        LEVEL
#
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 97 % - false
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:39 DEW_POINT_ALARM false
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:39 EMERGENCY_OPERATION false
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:39 EXTERNAL_CLOCK false
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:39 FROST_PROTECTION false
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:39 HUMIDITY_LIMITER false
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-07-26 11:29:23 IODev CCU3_Main
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:41 LEVEL 97
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:41 LEVEL_STATUS NORMAL
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:39 VALVE_STATE ADAPTION_DONE
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:41 activity alive
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:42 devstate ok
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:42 hmstate 97
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-03-21 18:47:20 level 10
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-03-21 18:47:20 pct 10
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:41 rssidevice -68
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-07-26 11:32:03 rssipeer N/A
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-08-06 11:30:41 state 97
setstate HmIP_FALMOT_C12_001B9F29B3D29D_6 2024-07-26 11:32:03 voltage 0.0


Man beachte hierbei das Stateformat: genau hier scheint es schief zu gehen. Allerdings sind die einzelnen Kanäle bereits seit Monaten genau so definiert und es hat ohne Probleme funktioniert. In den alten Logfiles sind keinerlei Einträge drin. Seit einem FHEM update letzte Woche kommt nun der Fehler.
Ich habe auch alle HmIP-FalMot Kanaäle den Wert des Level durchgeschaut und da stehen jeweils überall Zahlen drin (die Warnung beschwert sich ja über "isn't numeric").

Otto123

ändere das mal ReadingsVal( $name, "LEVEL", 50 ) zu ReadingsNum( $name, "LEVEL", 50 ) wäre zumindest richtiger, da Du ja Zahlen ausliest.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

bugster_de

Zitat von: Otto123 am 06 August 2024, 12:52:42... ReadingsNum( $name, "LEVEL", 50 ) ....
Cool, das kannte ich noch gar nicht. Mache ich gleich!