FHEM Forum

FHEM => Sonstiges => Thema gestartet von: ChHerrm am 17 November 2018, 13:05:50

Titel: Logfile wird mit Warnungen vollgespamt - Callmonitor, Homematic
Beitrag von: ChHerrm am 17 November 2018, 13:05:50
Hallo zusammen,
in meinem FHEM spielt sich eine ganze Menge an Perl-Warnings ab, was mir leider das Logfile extrem zuspamt mit Warnungen, deren Ursache ich nicht behoben bekomme. Einiges habe ich mit Hilfe alter Threads abräumen können, aber 3 habe ich nicht wegbekommen. Eines vorweg: alles läuft, es gibt also keine funktional spürbaren Fehler.
Sollte mir niemand mit den zugegebenermaßen sehr speziellen Warnings helfen können, wäre ich auch für einen Hinweis dankbar mit welchem verbose-Level ich die Perl-Warnings abschalten kann. Alle set etc. Vorkommnisse reichen mir dort notfalls aus. Besser als das aktuell kilometerlange Log.
Kann mir jemand mit der Thematik helfen? :-\

Fritzbox / Callmonitor

Die größte Menge an Meldungen scheint durch die eingebundene Fritzbox mit Callmonitor zustande zu kommen:

2018.11.17 12:23:13 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 543.
2018.11.17 12:23:13 1: stacktrace:
2018.11.17 12:23:13 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (542)
2018.11.17 12:23:13 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1109)
2018.11.17 12:23:13 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1209)
2018.11.17 12:23:13 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1414)
2018.11.17 12:23:13 1:     main::FW_doDetail                   called by ./FHEM/01_FHEMWEB.pm (1073)
2018.11.17 12:23:13 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (538)
2018.11.17 12:23:13 1:     main::FW_Read                       called by fhem.pl (3584)
2018.11.17 12:23:13 1:     main::CallFn                        called by fhem.pl (723)
2018.11.17 12:23:13 1: PERL WARNING: Redundant argument in sprintf at ./FHEM/33_readingsGroup.pm line 543.
2018.11.17 12:23:13 1: stacktrace:
2018.11.17 12:23:13 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (542)
2018.11.17 12:23:13 1:     main::readingsGroup_value2html      called by ./FHEM/33_readingsGroup.pm (1109)
2018.11.17 12:23:13 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1209)
2018.11.17 12:23:13 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (1414)
2018.11.17 12:23:13 1:     main::FW_doDetail                   called by ./FHEM/01_FHEMWEB.pm (1073)
2018.11.17 12:23:13 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (538)
2018.11.17 12:23:13 1:     main::FW_Read                       called by fhem.pl (3584)
2018.11.17 12:23:13 1:     main::CallFn                        called by fhem.pl (723)


Folgendermaßen sehen die Bestandteile in FHEM dazu aus:

define FritzisBox FRITZBOX
attr FritzisBox allowTR064Command 1
attr FritzisBox group Internet
attr FritzisBox icon it_router
attr FritzisBox room IWA
attr FritzisBox sortby 1

define Callmon FB_CALLMONITOR 192.168.0.1:1012
attr Callmon disable 0
attr Callmon fritzbox-remote-phonebook 1
attr Callmon fritzbox-remote-phonebook-via tr064
attr Callmon reverse-search phonebook

define CallList FB_CALLLIST Callmon
attr CallList group Telefon
attr CallList icon phone_call
attr CallList no-heading 1
attr CallList room IWA
attr CallList visible-columns state,timestamp,name,number,Duration


Homematic-Anbindung

Ein fleißiger Warner ist auch die Homematic-Anbindung:

2018.11.17 12:28:03 1: PERL WARNING: Invalid conversion in sprintf: end of string at ./FHEM/33_readingsGroup.pm line 1404.
2018.11.17 12:28:03 1: stacktrace:
2018.11.17 12:28:03 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (1401)
2018.11.17 12:28:03 1:     main::readingsGroup_Notify          called by fhem.pl (3584)
2018.11.17 12:28:03 1:     main::CallFn                        called by fhem.pl (3504)
2018.11.17 12:28:03 1:     main::DoTrigger                     called by fhem.pl (4531)
2018.11.17 12:28:03 1:     main::readingsEndUpdate             called by ./FHEM/88_HMCCU.pm (2833)
2018.11.17 12:28:03 1:     main::HMCCU_UpdateSingleDevice      called by ./FHEM/88_HMCCU.pm (2863)
2018.11.17 12:28:03 1:     main::HMCCU_UpdateMultipleDevices   called by ./FHEM/88_HMCCU.pm (5054)
2018.11.17 12:28:03 1:     main::HMCCU_ReadRPCQueue            called by fhem.pl (3127)
2018.11.17 12:28:03 1:     main::HandleTimeout                 called by fhem.pl (646)
2018.11.17 12:28:03 1: PERL WARNING: Redundant argument in sprintf at ./FHEM/33_readingsGroup.pm line 1404.
2018.11.17 12:28:03 1: stacktrace:
2018.11.17 12:28:03 1:     main::__ANON__                      called by ./FHEM/33_readingsGroup.pm (1401)
2018.11.17 12:28:03 1:     main::readingsGroup_Notify          called by fhem.pl (3584)
2018.11.17 12:28:03 1:     main::CallFn                        called by fhem.pl (3504)
2018.11.17 12:28:03 1:     main::DoTrigger                     called by fhem.pl (4531)
2018.11.17 12:28:03 1:     main::readingsEndUpdate             called by ./FHEM/88_HMCCU.pm (2833)
2018.11.17 12:28:03 1:     main::HMCCU_UpdateSingleDevice      called by ./FHEM/88_HMCCU.pm (2863)
2018.11.17 12:28:03 1:     main::HMCCU_UpdateMultipleDevices   called by ./FHEM/88_HMCCU.pm (5054)
2018.11.17 12:28:03 1:     main::HMCCU_ReadRPCQueue            called by fhem.pl (3127)
2018.11.17 12:28:03 1:     main::HandleTimeout                 called by fhem.pl (646)


Der Code für die Readingsgroup der Heizungen sieht folgendermaßen aus:

# Readinggroup der Werte
define HeizungRg readingsGroup <%hc_wht_regler>,<Soll>,<Vorgabewert>,<Ist>,<Ventil>,<Modus>,<Batterie>,<Boost>,<Auto>,<Manu>,<Aus>\
HM_HM_CC_RT_DN_NEQ1011241:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
HM_HM_CC_RT_DN_NEQ1005861:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
HM_HM_CC_RT_DN_NEQ1011150:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
HM_HM_CC_RT_DN_NEQ0870756:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
HM_HM_CC_RT_DN_MEQ0451131:4.SET_TEMPERATURE,<--->,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
HM_HM_CC_RT_DN_MEQ0007983:4.SET_TEMPERATURE,<--->,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
HM_HM_CC_RT_DN_MEQ0007392:4.SET_TEMPERATURE,<--->,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
HM_HM_CC_RT_DN_NEQ0870668:4.SET_TEMPERATURE,<--->,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
HM_HM_CC_RT_DN_NEQ1011157:4.SET_TEMPERATURE,<sollsetz>,4.ACTUAL_TEMPERATURE,4.VALVE_STATE,4.CONTROL_MODE,4.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
Esszimmer:2.SET_TEMPERATURE,<sollsetz>,2.ACTUAL_TEMPERATURE,<--->,2.CONTROL_MODE,2.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>\
Wohnzimmer:2.SET_TEMPERATURE,<sollsetz>,2.ACTUAL_TEMPERATURE,<--->,2.CONTROL_MODE,2.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>
attr HeizungRg alias Heizungsübersicht
attr HeizungRg commands {'HeizungRg.sollsetz' => 'control:5.0,16.0,17.0,18.0,19.0,19.5,20.0,20.5,21.0,21.5,22.0,22.5,23.0',"HeizungRg.sani_heating_boost"=>"set %DEVICE Boost","HeizungRg.sani_heating_automatic"=>"set %DEVICE Auto","HeizungRg.sani_heating_manual"=>"set %DEVICE Manu","HeizungRg.general_aus"=>"set %DEVICE off"}
attr HeizungRg eventMap /datapoint 4.MANU_MODE 20.0:Manu/datapoint 4.AUTO_MODE 1:Auto/datapoint 4.BOOST_MODE 1:Boost
attr HeizungRg group Raumklima
attr HeizungRg nameStyle style="color:white;;font-weight:bold"
attr HeizungRg room Wohnung
attr HeizungRg sortDevices 1
attr HeizungRg sortby 01
attr HeizungRg style style="border:0px;;background:none;;box-shadow:none"
attr HeizungRg valueFormat {if(($READING eq "4.ACTUAL_TEMPERATURE")or( $READING eq "4.SET_TEMPERATURE")or( $READING eq "2.SET_TEMPERATURE")or( $READING eq "2.ACTUAL_TEMPERATURE") ){ "$VALUE ° C"}elsif(($READING eq "4.VALVE_STATE")){"$VALUE %"}}
attr HeizungRg valueIcon {if($READING eq "4.BATTERY_STATE" && $VALUE > 3.0){'measure_battery_100@green'}elsif($READING eq "4.BATTERY_STATE" && $VALUE > 2.8){'measure_battery_75@lightgreen'}elsif($READING eq "4.BATTERY_STATE" && $VALUE > 2.6){'measure_battery_50@yellow'}elsif($READING eq "4.BATTERY_STATE" && $VALUE >= 2.3){'measure_battery_25@orange'}elsif($READING eq "4.BATTERY_STATE" && $VALUE <= 2.2){'measure_battery_0@red'}elsif($READING eq "4.CONTROL_MODE" && $VALUE eq "AUTO"){'sani_heating_automatic@yellow'}elsif($READING eq "4.CONTROL_MODE" && $VALUE eq "MANU"){'sani_heating_manual@yellow'}elsif($READING eq "4.CONTROL_MODE" && $VALUE eq "BOOST"){'sani_heating_boost@red'}elsif($READING eq "2.BATTERY_STATE" && $VALUE > 3.0){'measure_battery_100@green'}elsif($READING eq "2.BATTERY_STATE" && $VALUE > 2.8){'measure_battery_75@lightgreen'}elsif($READING eq "2.BATTERY_STATE" && $VALUE > 2.6){'measure_battery_50@yellow'}elsif($READING eq "2.BATTERY_STATE" && $VALUE >= 2.3){'measure_battery_25@orange'}elsif($READING eq "2.BATTERY_STATE" && $VALUE <= 2.2){'measure_battery_0@red'}elsif($READING eq "2.CONTROL_MODE" && $VALUE eq "AUTO"){'sani_heating_automatic@yellow'}elsif($READING eq "2.CONTROL_MODE" && $VALUE eq "MANU"){'sani_heating_manual@yellow'}elsif($READING eq "2.CONTROL_MODE" && $VALUE eq "BOOST"){'sani_heating_boost@red'}}
attr HeizungRg valueStyle {if($READING eq "4.VALVE_STATE" && $VALUE < 10){ 'style="color:#1874cd;;;;font-weight:bold"'}elsif($READING eq "4.VALVE_STATE" && $VALUE >= 80){ 'style="color:red;;;;font-weight:bold"'}elsif($READING eq "4.ACTUAL_TEMPERATURE" && $VALUE < 19){ 'style="color:#1874cd;;;;font-weight:bold"'}elsif($READING eq "4.ACTUAL_TEMPERATURE" && $VALUE >= 22){ 'style="color:red;;;;font-weight:bold"'}elsif($READING eq "4.SET_TEMPERATURE" && $VALUE < 19){ 'style="color:#1874cd;;;;font-weight:bold"'}elsif($READING eq "4.SET_TEMPERATURE" && $VALUE >= 22){ 'style="color:red;;;;font-weight:bold"'}elsif($READING eq "2.ACTUAL_TEMPERATURE" && $VALUE < 19){ 'style="color:#1874cd;;;;font-weight:bold"'}elsif($READING eq "2.ACTUAL_TEMPERATURE" && $VALUE >= 22){ 'style="color:red;;;;font-weight:bold"'}elsif($READING eq "2.SET_TEMPERATURE" && $VALUE < 19){ 'style="color:#1874cd;;;;font-weight:bold"'}elsif($READING eq "2.SET_TEMPERATURE" && $VALUE >= 22){ 'style="color:red;;;;font-weight:bold"'}}
#HM_TC_IT_WM_W_EU_OEQ0761358:2.SET_TEMPERATURE,<sollsetz>,2.ACTUAL_TEMPERATURE,2.ACTUAL_TEMPERATURE,2.CONTROL_MODE,2.BATTERY_STATE,<%sani_heating_boost>,<%sani_heating_automatic>,<%sani_heating_manual>,<%general_aus>


Yeelight

Mit Yeelight habe ich nur eine Lampe eingebunden. Die Meldungen dafür tauchen aber trotzdem bei jedem Neustart auf:

2018.11.17 03:06:31 3:YeeLight Nachttisch defined at IP:55443
2018.11.17 03:06:31 3: Opening Nachttisch device IP:55443
2018.11.17 03:06:31 3: Nachttisch device opened
2018.11.17 03:06:31 1: PERL WARNING: Use of uninitialized value $model in string eq at ./FHEM/32_YeeLight.pm line 172, <$fh> line 203.
2018.11.17 03:06:31 1: stacktrace:
2018.11.17 03:06:31 1:     main::__ANON__                      called by ./FHEM/32_YeeLight.pm (172)
2018.11.17 03:06:31 1:     main::YeeLight_Define               called by fhem.pl (3584)
2018.11.17 03:06:31 1:     main::CallFn                        called by fhem.pl (1974)
2018.11.17 03:06:31 1:     main::CommandDefine                 called by fhem.pl (1209)
2018.11.17 03:06:31 1:     main::AnalyzeCommand                called by fhem.pl (1059)
2018.11.17 03:06:31 1:     main::AnalyzeCommandChain           called by fhem.pl (1347)
2018.11.17 03:06:31 1:     main::CommandInclude                called by fhem.pl (577)
2018.11.17 03:06:31 1: PERL WARNING: Use of uninitialized value $model in string eq at ./FHEM/32_YeeLight.pm line 172, <$fh> line 203.
2018.11.17 03:06:31 1: stacktrace:
2018.11.17 03:06:31 1:     main::__ANON__                      called by ./FHEM/32_YeeLight.pm (172)
2018.11.17 03:06:31 1:     main::YeeLight_Define               called by fhem.pl (3584)
2018.11.17 03:06:31 1:     main::CallFn                        called by fhem.pl (1974)
2018.11.17 03:06:31 1:     main::CommandDefine                 called by fhem.pl (1209)
2018.11.17 03:06:31 1:     main::AnalyzeCommand                called by fhem.pl (1059)
2018.11.17 03:06:31 1:     main::AnalyzeCommandChain           called by fhem.pl (1347)
2018.11.17 03:06:31 1:     main::CommandInclude                called by fhem.pl (577)



define Nachttisch YeeLight IP
attr Nachttisch devStateIcon {my $power=ReadingsVal($name,"power","off");;my $mode=ReadingsVal($name,"color_mode","RGB");;if($power eq "off"){Color::devStateIcon($name,"rgb","rgb","power");;}else{if($mode eq "RGB"){Color::devStateIcon($name,"rgb","rgb","bright");;}elsif($mode eq "color temperature"){Color::devStateIcon($name,"rgb",undef,"bright");;}}}
attr Nachttisch eventMap on:an off:aus
attr Nachttisch group Licht
attr Nachttisch icon light_wall_3
attr Nachttisch room Wohnung
attr Nachttisch userReadings keepAlive
attr Nachttisch webCmd an:aus
attr Nachttisch widgetOverride bright:colorpicker,BRI,0,1,100 ct:colorpicker,CT,1700,10,6500 rgb:colorpicker,RGB


Vielen Dank!