[CUL_HM] probleme mit reading cfgState

Begonnen von frank, 30 August 2020, 13:59:30

Vorheriges Thema - Nächstes Thema

frank

hminfo update zeigt nach 5min viele entities mit cfgState=TmplChk fehlern (attr autoUpdate=5min, attr sumERROR enthält cfgState:ok)
ein manueller configCheck ergibt null fehler und "repariert sofort die "falschen" fehler.



a) TmplChk zeigt immer bei einigen devices "template undefined".

die templates existieren und werden bei anderen entities nicht angemeckert.
es sind nach restart immer die selben entities, die angemeckert werden.

vermutlich kommt die "erkenntnis", dass die templates existieren, während der startphase zu spät.


b) ignored entities mit cfgState fehlern werden ebenfalls in hminfo ermittelt und angezeigt.


c) wenn mehrere cfgState fehler existieren, müssten diese sortiert werden.

ansonsten werden in hminfo unterschiedliche kategorien erzeugt, obwohl es eigentlich der selbe fehler ist.

=> 2 entities für iERR_cfgState_PairMiss,RegMiss
=> 3 entities für iERR_cfgState_RegMiss,PairMiss

mit sortierung sollten => 5 entities mit iERR_cfgState_PairMiss,RegMiss angezeigt werden.


d) ausserdem erzeugt das reading ERR_cfgState in hminf ständig neue events

der inhalt des readings wird immer "umgruppiert":
zb von "RegMiss,PairMiss:3,RegMiss:3,PairMiss,RegMiss:2," => "RegMiss:3,RegMiss,PairMiss:3,PairMiss,RegMiss:2,"

eventuell durch die etwas unglückliche darstellung?:
komma getrennte listen innerhalb einer komma getrennten liste.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

#1
hallo martin,

den fehler a) "template undefined" nach fhem restart konnte ich jetzt schon mal etwas eingrenzen:

es lag an den template infos in meiner config datei.
scheinbar war es für loadConfig nicht möglich aus den templatedaten für alle entities brauchbare infos beim fhem start zu generieren.
nach einem "set hminfo purgeConfig" sind die fehler nun verschwunden.


edit:
leider war das wohl nur ein zufall oder eine halluzination, denn gerade haben sich die 8 entities wieder mit "template undefined" nach restart gemeldet.
???


die problematische config datei habe ich hier mal angehängt.
bei jedem restart haben folgende 8 entities "template undefined" geliefert.

SwitchES01
SwitchES01_Pwr
SwitchES01_Sw
SwitchPBU01_Sw_01
Thermostat.OZ
Thermostat.OZ_Climate
Thermostat.WZ
Wetter.Sued



nach purgeConfig sehen die templatedaten so aus:

templateDef templateStart Block stored:2020-09-14 12:02:39*******************


templateDef =>BlStopDnLg=>0=>"Blind: stop drive on any key - for long drive down"=>BlJtRampOff:rampOff BlJtOff:dlyOff BlJtOn:dlyOff BlJtRampOn:on BlJtDlyOn:dlyOff BlJtRefOn:on ActionType:jmpToTarget BlJtRefOff:rampOff BlJtDlyOff:refOff
templateDef =>BlStopDnSh=>0=>"Blind: stop drive on any key - for short drive down"=>BlJtDlyOff:refOff BlJtRefOff:rampOff ActionType:jmpToTarget BlJtRefOn:on BlJtDlyOn:dlyOff BlJtOn:dlyOff BlJtRampOn:on BlJtOff:dlyOff BlJtRampOff:off
templateDef =>BlStopUpLg=>0=>"Blind: stop drive on any key - for long drive up"=>BlJtRefOff:off BlJtDlyOff:dlyOn BlJtDlyOn:refOn BlJtRefOn:rampOn ActionType:jmpToTarget BlJtOff:dlyOn BlJtRampOn:rampOn BlJtOn:dlyOn BlJtRampOff:off
templateDef =>BlStopUpSh=>0=>"Blind: stop drive on"=>BlJtRefOn:rampOn ActionType:jmpToTarget BlJtDlyOn:refOn BlJtDlyOff:dlyOn BlJtRefOff:off BlJtRampOff:off BlJtRampOn:on BlJtOn:dlyOn BlJtOff:dlyOn
templateDef =>DimOff=>0=>"Dimmer: off if trigger"=>DimJtDlyOn:dlyOff DimJtOn:dlyOff DimJtRampOff:dlyOff DimJtDlyOff:off DimJtRampOn:dlyOff OnTime:unused DimJtOff:no ActionTypeDim:jmpToTarget OffTime:unused
templateDef =>DimOn=>0=>"Dimmer: on if trigger"=>DimJtRampOff:dlyOn DimJtOn:no DimJtDlyOn:on DimJtOff:dlyOn OnTime:unused DimJtRampOn:dlyOn DimJtDlyOff:dlyOn OffTime:unused ActionTypeDim:jmpToTarget
templateDef =>ES01_normal=>0=>"brunnenpumpe"=>txThrVlt:unused txThrFrq:unused txThrPwr:unused txMinDly:0 txThrCur:50 averaging:1
templateDef =>ES_00=>powerUpAction=>"hallo. "=>statusInfoRandom:0 transmitTryMax:6 powerUpAction:p0 statusInfoMinDly:0.5
templateDef =>ES_device=>intKeyVisib:localResDis=>"hallo"=>statusInfoRandom:0 intKeyVisib:p0 localResDis:p1 transmitTryMax:6 statusInfoMinDly:1
templateDef =>ES_power_standby=>0=>"measure standby-power for hm-lc-sw1pbu-fm. "=>txThrPwr:0.01 txMinDly:0 txThrCur:unused averaging:1 txThrVlt:unused txThrFrq:unused
templateDef =>RHS=>0=>"my default values. "=>eventDlyTime:2 transmitTryMax:6 msgRhsPosA:open msgRhsPosB:tilted transmDevTryMax:6 cyclicInfoMsg:on msgRhsPosC:closed ledOnTime:0.5
templateDef =>SwCondAbove=>condition=>"Switch: execute only if condition level is above limit"=>CtValLo:p0 CtDlyOn:geLo CtDlyOff:geLo CtOff:geLo CtOn:geLo
templateDef =>SwCondBelow=>condition=>"Switch: execute only if condition level is below limit"=>CtOff:ltLo CtDlyOff:ltLo CtOn:ltLo CtValLo:p0 CtDlyOn:ltLo
templateDef =>SwOff=>0=>"Switch: off if trigger"=>SwJtOff:no SwJtOn:dlyOff ActionType:jmpToTarget SwJtDlyOff:off SwJtDlyOn:dlyOff OnTime:unused OffTime:unused
templateDef =>SwOn=>0=>"Switch: on if trigger"=>SwJtOff:dlyOn ActionType:jmpToTarget SwJtOn:no SwJtDlyOff:dlyOn SwJtDlyOn:on OnTime:unused OffTime:unused
templateDef =>SwOnCond=>level:cond=>"switch: execute only if condition [geLo|ltLo] level is below limit"=>CtDlyOn:p1 CtValLo:p0 CtOn:p1 CtDlyOff:p1 CtOff:p1
templateDef =>SwToggle=>0=>"Switch: toggle on trigger"=>SwJtDlyOff:off ActionType:jmpToTarget SwJtOn:dlyOff SwJtOff:dlyOn OffTime:unused OnTime:unused SwJtDlyOn:on
templateDef =>SwToggleIgnore=>timeOn=>"sh:toggle lg:ignore"=>shMultiExec:off shSwJtDlyOn:on shOnTimeMode:absolut shSwJtDlyOff:off shOffDly:0 shOnDly:0 lgActionType:off shSwJtOff:dlyOn shOnTime:p0 shOffTimeMode:absolut shActionType:jmpToTarget shOffTime:unused shSwJtOn:dlyOff
templateDef =>TC_00_sensor=>0=>"basic sensor-config for the HM-CC-TC device. "=>btnLock:off burstRx:off backlOnTime:20 backlOnMode:auto
templateDef =>TC_02_sensor=>0=>"basic sensor-config for the HM-CC-TC climate channel. "=>displayTempUnit:celsius displayMode:temp-hum controlMode:central displayTemp:actual
templateDef =>TC_02_test=>controlMode:displayMode=>"test"=>displayMode:p1 controlMode:p0
templateDef =>THPL_00_default=>0=>"default values for homebrew THPL-sensors. "=>lowBatLimitTHPL:2.3 burstRx:off ledMode:off altitude:78 transmDevTryMax:3
templateDef =>autoOff=>time=>"staircase - auto off after -time-, extend time with each trigger"=>SwJtOff:dlyOn ActionType:jmpToTarget SwJtOn:on SwJtDlyOff:dlyOn SwJtDlyOn:no OnTime:p0 OffTime:unused
templateDef =>dimUpToMaxLevel_dimmer_onlyLong=>maxLevel:upStep=>"dimm up to maxLevel with upStep for long only. "=>lgOffDlyBlink:off lgCtOff:geLo lgCtOn:geLo lgCtRampOn:geLo lgOffDlyStep:5 lgDimStep:p1 lgOffTimeMode:absolut lgDimMinLvl:0 lgOffLevel:0 lgOnTimeMode:absolut lgCtValHi:100 lgDimJtOff:dlyOn lgOffDlyNewTime:0.4 lgOffDly:0 lgOnDlyMode:setToOff lgDimJtOn:rampOn lgOnDly:0 lgDimJtRampOn:on lgOnTime:unused lgDimMaxLvl:p0 lgRampOffTime:0.5 lgOffDlyOldTime:0.4 lgOnLvlPrio:high lgDimJtDlyOn:rampOn lgCtRampOff:geLo lgOffTime:unused lgOnLevel:100 lgActionTypeDim:upDim lgRampOnTime:0.5 lgCtDlyOff:geLo lgCtDlyOn:geLo lgDimJtDlyOff:rampOn lgOnMinLevel:10 lgRampSstep:5 lgMultiExec:on lgDimJtRampOff:rampOn lgCtValLo:50
templateDef =>ignore=>0=>"ignore button press. "=>ActionType:off
templateDef =>motionOnDim=>ontime:brightness=>"Dimmer: on for time if MDIR-brightness below level"=>CtOn:ltLo OffTime:unused CtRampOff:ltLo CtDlyOff:ltLo CtRampOn:ltLo DimJtOn:on OnTime:p0 ActionTypeDim:jmpToTarget CtOff:ltLo DimJtDlyOn:rampOn DimJtRampOff:dlyOn CtDlyOn:ltLo DimJtRampOn:on DimJtOff:dlyOn CtValLo:p1 DimJtDlyOff:dlyOn
templateDef =>motionOnSw=>ontime:brightness=>"Switch: on for time if MDIR-brightness below level"=>SwJtOn:on CtDlyOff:ltLo SwJtOff:dlyOn OnTime:p0 CtOn:ltLo SwJtDlyOff:dlyOn OffTime:unused SwJtDlyOn:on ActionType:jmpToTarget CtOff:ltLo CtDlyOn:ltLo CtValLo:p1
templateDef =>s1=>0=>"hvc"=>controlMode:central
templateDef =>single-chn-sensor-device=>0=>"a"=>cyclicInfoMsg:on transmDevTryMax:6 ledOnTime:0.5 msgScPosB:open eventDlyTime:0 msgScPosA:closed transmitTryMax:6 sabotageMsg:on
templateDef =>single-chn-sensor-peer=>0=>"a"=>expectAES:off peerNeedsBurst:off
templateDef =>switchToOffLevel_dimmer=>offLevel:rampTime=>"switch dimmer to off (offLevel) within rampTime. "=>RampSstep:0 OnTimeMode:absolut DimStep:5 DimJtDlyOff:rampOff CtValLo:50 DimJtRampOn:dlyOff CtOff:geLo DimJtRampOff:off OffDlyStep:5 RampOffTime:p1 MultiExec:off CtRampOff:geLo OffDlyOldTime:0.4 OffTimeMode:absolut DimMinLvl:0 OnDly:0 OffTime:unused OffDlyNewTime:0.4 CtOn:geLo RampOnTime:p1 ActionTypeDim:jmpToTarget OnDlyMode:setToOff OnLevel:100 CtDlyOn:geLo DimJtOff:rampOff DimJtDlyOn:rampOff CtValHi:100 OnLvlPrio:high OffLevel:p0 OnMinLevel:p0 OnTime:unused OffDly:0 CtDlyOff:geLo DimJtOn:rampOff CtRampOn:geLo DimMaxLvl:100 OffDlyBlink:off
templateDef =>switchToOnLevel_dimmer=>onLevel:rampTime=>"switch dimmer to on (onLevel) within rampTime."=>CtDlyOn:geLo DimJtOff:rampOn OnLevel:p0 DimJtDlyOn:rampOn CtValHi:100 OnLvlPrio:high OnDlyMode:setToOff ActionTypeDim:jmpToTarget OnTime:unused OffDly:0 OnMinLevel:0 DimMaxLvl:100 OffDlyBlink:off CtDlyOff:geLo DimJtOn:rampOn CtRampOn:geLo OffLevel:0 DimJtRampOn:on CtValLo:50 DimJtDlyOff:rampOn OffDlyStep:5 RampOffTime:p1 CtOff:geLo DimJtRampOff:dlyOn RampSstep:0 DimStep:5 OnTimeMode:absolut OnDly:0 OffTime:unused MultiExec:off CtRampOff:geLo DimMinLvl:0 OffTimeMode:absolut OffDlyOldTime:0.4 CtOn:geLo RampOnTime:p1 OffDlyNewTime:0.4
templateDef =>tc1=>a:b:c:d=>"hallo"=>backlOnMode:p0 backlOnTime:p1 btnLock:p2 burstRx:p3
templateDef =>test09=>a=>"fasd"=>controlMode:central day-temp:p0
templateDef =>test=>intKeyVisib:localResDis=>"test"=>intKeyVisib:p0 localResDis:p1
templateDef =>toggleMaxMin_dimmer=>maxLevel:minLevel:rampTime=>"toggle a dimmer between on (maxLevel) and off (minLevel) within rampTime. "=>CtOn:geLo RampOnTime:p2 OffDlyNewTime:0.4 OffTime:unused OnDly:0 CtRampOff:geLo MultiExec:off OffDlyOldTime:0.4 DimMinLvl:0 OffTimeMode:absolut DimStep:5 OnTimeMode:absolut RampSstep:0 OffDlyStep:5 RampOffTime:p2 CtOff:geLo DimJtRampOff:off DimJtRampOn:on CtValLo:50 DimJtDlyOff:rampOff OffLevel:p1 OffDlyBlink:off DimMaxLvl:100 CtDlyOff:geLo DimJtOn:dlyOff CtRampOn:geLo OnTime:unused OffDly:0 OnMinLevel:p1 ActionTypeDim:jmpToTarget OnDlyMode:setToOff DimJtDlyOn:rampOn OnLvlPrio:high CtValHi:100 CtDlyOn:geLo DimJtOff:dlyOn OnLevel:p0
templateDef =>toggleOn-for-timerOff_switch=>onTime=>"toggle from off to on for onTime. "=>CtOn:geLo SwJtDlyOff:off MultiExec:off SwJtDlyOn:on OffTimeMode:absolut OnDly:0 OffTime:unused CtDlyOff:geLo SwJtOff:dlyOn SwJtOn:dlyOff OnTime:p0 OffDly:0 OnTimeMode:absolut CtOff:geLo CtValHi:100 ActionType:jmpToTarget CtValLo:50 CtDlyOn:geLo
templateDef =>tplCheck=>confBtnTime=>"test"=>confBtnTime:p0
templateDef =>wmClose=>speed=>"winmatic: close window"=>WinJtRampOff:rampOnFast WinJtOn:rampOff RampOffSp:p0 WinJtOff:rampOff WinJtRampOn:on
templateDef =>wmClosed=>0=>"winmatic: lock window"=>OffLevelKm:0
templateDef =>wmLock=>0=>"winmatic: lock window"=>OffLevelKm:127.5
templateDef =>wmOpen=>speed=>"winmatic: open window"=>WinJtRampOff:rampOnFast WinJtOn:rampOn WinJtRampOn:on WinJtOff:rampOn RampOnSp:p0
templateDef =>~HM-LC-DIM1TPBU-FM_2.6_01_general=>0=>"reset register values. "=>logicCombination:or statusInfoRandom:1 powerUpAction:off redTempLvl:75 fuseDelay:1 ovrTempLvl:80 transmitTryMax:6 redLvl:40 statusInfoMinDly:2
templateDef =>~HM-LC-DIM1TPBU-FM_2.6_01_self01=>0=>"reset register values. "=>shCtDlyOn:geLo shOnLevel:100 lgCtRampOn:geLo shOffDlyOldTime:0.4 shRampOffTime:0.5 lgDimStep:5 shDimElsJtRampOff:off shDimMaxLvl:100 lgDimElsJtOff:dlyOn lgOnTimeMode:minimal shDimJtDlyOff:rampOff lgDimJtOff:dlyOff shOffTimeMode:absolut shOffLevel:0 shOffDlyStep:5 lgRampOnTime:0.5 shOffDlyBlink:on lgActionTypeDim:downDim shOnDlyMode:setToOff shOnDly:0 lgDimElsJtDlyOn:rampOn lgCtValLo:50 shCtValHi:100 lgOffDlyStep:5 lgOffDlyBlink:on shRampOnTime:0.5 shActionTypeDim:jmpToTarget lgOffLevel:0 lgOffTimeMode:absolut lgCtValHi:100 shCtValLo:50 lgOnDly:0 lgOnDlyMode:setToOff shDimElsJtDlyOn:rampOn lgOffDlyOldTime:0.4 lgRampOffTime:0.5 lgDimElsJtRampOff:off lgDimMaxLvl:100 shDimStep:5 lgCtDlyOn:geLo shCtRampOn:geLo lgOnLevel:100 shDimJtOff:dlyOff lgDimJtDlyOff:rampOff shDimElsJtOff:dlyOn shOnTimeMode:absolut lgCtOn:geLo lgCtOff:geLo shCtDlyOff:geLo lgDimMinLvl:0 shCtRampOff:geLo shDimJtRampOn:dlyOff shDimElsOffTimeMd:absolut shMultiExec:off lgDimJtOn:dlyOff shDimJtRampOff:off shRampSstep:5 lgOnLvlPrio:high lgDimJtDlyOn:dlyOff lgDimElsOnTimeMd:absolut lgOnTime:1 shDimElsActionType:off shDimElsJtOn:dlyOff shDimElsJtRampOn:on lgOffTime:unused shOffDly:0 lgOnMinLevel:10 shOffDlyNewTime:0.4 lgDimElsJtDlyOff:rampOff lgDimElsJtRampOn:on lgDimElsJtOn:dlyOff shOffTime:unused lgDimElsActionType:off shDimJtDlyOn:dlyOff shOnLvlPrio:high shDimElsOnTimeMd:absolut shOnTime:unused shDimElsJtDlyOff:rampOff lgOffDly:0 shOnMinLevel:10 lgOffDlyNewTime:0.4 lgCtRampOff:geLo shDimMinLvl:0 lgDimJtRampOn:dlyOff lgCtDlyOff:geLo shCtOff:geLo shCtOn:geLo lgDimJtRampOff:off lgMultiExec:on shDimJtOn:dlyOff lgRampSstep:5 lgDimElsOffTimeMd:absolut
templateDef =>~HM-LC-DIM1TPBU-FM_2.6_01_self02=>0=>"reset register values. "=>lgDimElsOffTimeMd:absolut shDimJtOn:rampOn lgMultiExec:on lgDimJtRampOff:rampOn lgRampSstep:5 shCtOn:geLo shCtOff:geLo lgCtDlyOff:geLo shDimMinLvl:0 lgCtRampOff:geLo lgDimJtRampOn:on lgOffDly:0 lgOffDlyNewTime:0.4 shOnMinLevel:10 shDimElsJtDlyOff:rampOff shOnLvlPrio:high shDimJtDlyOn:rampOn shOnTime:unused shDimElsOnTimeMd:absolut lgDimElsActionType:off shOffTime:unused lgDimElsJtOn:dlyOff lgDimElsJtRampOn:on lgDimElsJtDlyOff:rampOff shOffDly:0 shOffDlyNewTime:0.4 lgOnMinLevel:10 lgOffTime:unused shDimElsJtRampOn:on shDimElsJtOn:dlyOff shDimElsActionType:off lgOnLvlPrio:high lgDimJtDlyOn:rampOn lgOnTime:unused lgDimElsOnTimeMd:absolut shDimJtRampOff:rampOn lgDimJtOn:rampOn shMultiExec:off shRampSstep:5 shDimElsOffTimeMd:absolut shCtRampOff:geLo lgDimMinLvl:0 shDimJtRampOn:on lgCtOff:geLo shCtDlyOff:geLo lgCtOn:geLo shDimElsJtOff:dlyOn shOnTimeMode:absolut lgDimJtDlyOff:rampOn shDimJtOff:dlyOn lgCtDlyOn:geLo lgOnLevel:100 shCtRampOn:geLo lgRampOffTime:0.5 lgOffDlyOldTime:0.4 shDimStep:5 lgDimMaxLvl:100 lgDimElsJtRampOff:off lgOnDlyMode:setToOff lgOnDly:0 shDimElsJtDlyOn:rampOn lgCtValHi:100 shCtValLo:50 lgOffTimeMode:absolut lgOffLevel:0 lgOffDlyStep:5 shActionTypeDim:jmpToTarget shRampOnTime:0.5 lgOffDlyBlink:on lgCtValLo:50 shCtValHi:100 shOnDly:0 shOnDlyMode:setToOff lgDimElsJtDlyOn:rampOn shOffDlyStep:5 lgActionTypeDim:upDim lgRampOnTime:0.5 shOffDlyBlink:on shOffLevel:0 shOffTimeMode:absolut lgDimJtOff:dlyOn shDimJtDlyOff:rampOn lgDimElsJtOff:dlyOn lgOnTimeMode:absolut shRampOffTime:0.5 shOffDlyOldTime:0.4 shDimMaxLvl:100 shDimElsJtRampOff:off lgDimStep:5 shCtDlyOn:geLo shOnLevel:100 lgCtRampOn:geLo
======= finished templates ===

templateSet =>DimPBU01_Sw1_V01=>start
templateSet =>DimPBU01_Sw1_V02=>start
templateSet =>DimPBU01_chn01=>start
templateSet =>DimPBU01_chn01=>self01:short>switchToOffLevel_dimmer=>0 0.5
templateSet =>DimPBU01_chn01=>self02:short>toggleMaxMin_dimmer=>80 20 0.5
templateSet =>DimUP01=>start
templateSet =>DimUP01=>self01:long>switchToOffLevel_dimmer=>0 0.5
templateSet =>DimUP01=>SwitchPBU01_Btn_01:short>toggleMaxMin_dimmer=>80 0 1
templateSet =>Fenster.Bad=>start
templateSet =>SD.AZ=>start
templateSet =>SD.SZ=>start
templateSet =>SD.WZ=>start
templateSet =>SwitchES01=>start
templateSet =>SwitchES01=>0>tplCheck=>permanent
templateSet =>SwitchES01_Pwr=>start
templateSet =>SwitchES01_Pwr=>0>ES01_normal=>
templateSet =>SwitchES01_SenF=>start
templateSet =>SwitchES01_SenI=>start
templateSet =>SwitchES01_SenPwr=>start
templateSet =>SwitchES01_SenU=>start
templateSet =>SwitchES01_Sw=>start
templateSet =>SwitchES01_Sw=>self01:short>toggleOn-for-timerOff_switch=>1800
templateSet =>SwitchES01_Sw=>SwitchPBU01_Btn_01:long>ignore=>
templateSet =>SwitchES01_Sw=>SwitchPBU01_Btn_01:short>toggleOn-for-timerOff_switch=>1800
templateSet =>SwitchES01_Sw=>self01:long>ignore=>
templateSet =>SwitchPBU01=>start
templateSet =>SwitchPBU01_Btn_01=>start
templateSet =>SwitchPBU01_Btn_02=>start
templateSet =>SwitchPBU01_Sw_01=>start
templateSet =>SwitchPBU01_Sw_01=>self02:short>toggleOn-for-timerOff_switch=>unused
templateSet =>SwitchPBU01_Sw_02=>start
templateSet =>SwitchPBU02_Btn_01=>start
templateSet =>SwitchPBU02_Btn_02=>start
templateSet =>SwitchPBU02_Sw_01=>start
templateSet =>SwitchPBU02_Sw_02=>start
templateSet =>SwitchPBU03=>start
templateSet =>SwitchPBU03=>self01:short>autoOff=>3600
templateSet =>SwitchPBU03=>self02:short>SwOff=>
templateSet =>SwitchPBU06=>start
templateSet =>SwitchPBU06=>self02:both>SwToggleIgnore=>unused
templateSet =>SwitchPBU06=>0>ES_00=>off
templateSet =>SwitchPBU06=>self01:short>autoOff=>20
templateSet =>SwitchUP01=>start
templateSet =>SwitchUP02=>start
templateSet =>Thermostat.AZ=>start
templateSet =>Thermostat.AZ=>0>tc1=>auto 25 off on
templateSet =>Thermostat.AZ_Climate=>start
templateSet =>Thermostat.AZ_Weather=>start
templateSet =>Thermostat.AZ_WindowRec=>start
templateSet =>Thermostat.Bad=>start
templateSet =>Thermostat.Bad=>0>tc1=>auto 25 off on
templateSet =>Thermostat.Bad.OG=>start
templateSet =>Thermostat.Bad.OG=>0>tc1=>auto 15 off off
templateSet =>Thermostat.Bad.OG_Climate=>start
templateSet =>Thermostat.Bad.OG_Weather=>start
templateSet =>Thermostat.Bad.OG_WindowRec=>start
templateSet =>Thermostat.Bad_Climate=>start
templateSet =>Thermostat.Bad_Weather=>start
templateSet =>Thermostat.Bad_WindowRec=>start
templateSet =>Thermostat.GZ=>start
templateSet =>Thermostat.GZ=>0>tc1=>auto 15 off off
templateSet =>Thermostat.GZ_Climate=>start
templateSet =>Thermostat.GZ_Climate=>0>TC_02_test=>central temp-only
templateSet =>Thermostat.GZ_Weather=>start
templateSet =>Thermostat.GZ_WindowRec=>start
templateSet =>Thermostat.Keller=>start
templateSet =>Thermostat.Keller=>0>tc1=>auto 15 off off
templateSet =>Thermostat.Keller_Climate=>start
templateSet =>Thermostat.Keller_Climate=>0>TC_02_test=>central temp-hum
templateSet =>Thermostat.Keller_Weather=>start
templateSet =>Thermostat.Keller_WindowRec=>start
templateSet =>Thermostat.Kueche=>start
templateSet =>Thermostat.Kueche=>0>tc1=>auto 25 off on
templateSet =>Thermostat.Kueche_Climate=>start
templateSet =>Thermostat.Kueche_Weather=>start
templateSet =>Thermostat.Kueche_WindowRec=>start
templateSet =>Thermostat.OZ=>start
templateSet =>Thermostat.OZ=>0>tc1=>auto 15 off off
templateSet =>Thermostat.OZ_Climate=>start
templateSet =>Thermostat.OZ_Climate=>0>TC_02_test=>central temp-hum
templateSet =>Thermostat.OZ_Weather=>start
templateSet =>Thermostat.OZ_WindowRec=>start
templateSet =>Thermostat.SZ=>start
templateSet =>Thermostat.SZ=>0>tc1=>auto 15 off off
templateSet =>Thermostat.SZ_Climate=>start
templateSet =>Thermostat.SZ_Climate=>0>s1=>
templateSet =>Thermostat.SZ_Weather=>start
templateSet =>Thermostat.SZ_WindowRec=>start
templateSet =>Thermostat.WZ=>start
templateSet =>Thermostat.WZ=>0>tc1=>auto 25 off on
templateSet =>Thermostat.WZ_Climate=>start
templateSet =>Thermostat.WZ_Weather=>start
templateSet =>Thermostat.WZ_WindowRec=>start
templateSet =>Tuer.SZ=>start
templateSet =>Tuer.WZ.Terrasse=>start
templateSet =>Ventil.AZ.Nord=>start
templateSet =>Ventil.AZ.West=>start
templateSet =>Ventil.Bad=>start
templateSet =>Ventil.Kueche=>start
templateSet =>Ventil.SZ=>start
templateSet =>Ventil.WZ=>start
templateSet =>Wetter.Nord=>start
templateSet =>Wetter.Sued=>start
templateSet =>Wetter.Sued=>0>THPL_00_default=>
templateSet =>test_IEC_01=>start
templateSet =>test_IEC_02=>start
======= finished templates ===





workaround für fehler b)

damit hminfo keine cfgState fehler für ignored entities anzeigt, kann man die cfgState-readings bei den ignored entities löschen.


fix für fehler b)

oder alle ignored entities vom fehler sammeln ausschliessen:
ich habe das problem jetzt mal mit diesem zusätzlichen code in zeile 319 98_HMinfo.pm eleminiert:

next if(CUL_HM_getAttrInt($eName,"ignore"));
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

ich habe nun mal ein paar logmeldungen eingebaut, wodurch 3 fehler "sichtbar" werden:

a) in 10_CUL_HM in die funktion:
sub CUL_HM_cfgStateUpdate($) {#update cfgState
  my $tmrId = shift;
  my (undef,$name) = split(':',$tmrId,2);
  my ($hm) = devspec2array("TYPE=HMinfo");
  Log(1,"----- cfgState test01 ----- -> name:$name id:$tmrId");
  HMinfo_GetFn($defs{$hm},$hm,"configCheck","-f","^(".join("|",(CUL_HM_getAssChnNames($name),$name)).")\$") if(defined $hm); 
}


b) und in 98_HMinfo in der funktion HMinfo_loadConfig am anfang und am ende der funktion:
sub HMinfo_loadConfig($@) {####################################################
  Log(1,"----- loadConfig ----- -> start");

...

  Log(1,"----- loadConfig ----- -> end");
  return $ret;
}





1. "template undefined" nach fhem restart
das ergebnis bestätigt den verdacht, dass die template definitionen zu spät zur verfügung stehen, wodurch regelmässig "template undefined" gemeldet wird.

2020.09.15 14:57:11.761 1: ----- loadConfig ----- -> start
2020.09.15 14:57:11.862 1: ----- cfgState test01 ----- -> name:Fenster.Bad id:cfgStateUpdate:Fenster.Bad
2020.09.15 14:57:11.950 1: ----- cfgState test01 ----- -> name:Fenster.Bad id:cfgStateUpdate:Fenster.Bad
2020.09.15 14:57:12.018 1: ----- cfgState test01 ----- -> name:SwitchPBU01 id:cfgStateUpdate:SwitchPBU01
2020.09.15 14:57:12.162 1: ----- cfgState test01 ----- -> name:SwitchES01 id:cfgStateUpdate:SwitchES01
2020.09.15 14:57:12.340 1: ----- cfgState test01 ----- -> name:Tuer.WZ.Terrasse id:cfgStateUpdate:Tuer.WZ.Terrasse
2020.09.15 14:57:12.426 1: ----- cfgState test01 ----- -> name:Tuer.WZ.Terrasse id:cfgStateUpdate:Tuer.WZ.Terrasse
2020.09.15 14:57:12.508 1: ----- cfgState test01 ----- -> name:Thermostat.OZ id:cfgStateUpdate:Thermostat.OZ
2020.09.15 14:57:12.664 1: ----- cfgState test01 ----- -> name:Thermostat.WZ id:cfgStateUpdate:Thermostat.WZ
2020.09.15 14:57:12.775 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:57:13.031 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:57:13.098 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:57:13.182 1: ----- cfgState test01 ----- -> name:Wetter.Sued id:cfgStateUpdate:Wetter.Sued
2020.09.15 14:57:13.297 1: ----- cfgState test01 ----- -> name:Wetter.Nord id:cfgStateUpdate:Wetter.Nord
2020.09.15 14:57:13.369 1: ----- cfgState test01 ----- -> name:SwitchUP02 id:cfgStateUpdate:SwitchUP02
2020.09.15 14:57:13.438 1: ----- cfgState test01 ----- -> name:SwitchUP02 id:cfgStateUpdate:SwitchUP02
2020.09.15 14:57:13.488 1: ----- loadConfig ----- -> end



2. unnötige configChecks für ignored devices

ausserdem wird viel zeit vergeudet durch configchecks von ignored devices. im beispiel sind HM_114B05 und SwitchUP02 ignored.


3. seltsame "blockbildung" der durchgeführten configchecks

ich habe gestern 6 restarts mit den eingebauten logmeldungen durchgeführt.
dabei sind mir einige seltsame dinge aufgefallen.

(vor jedem restart habe ich einen manuellen configcheck ausgeführt, wenn configfehler existierten.
ein manueller configcheck zeigt bei mir zur zeit null einträge an und "repariert" somit alle readings cfgState mit "ok".
ausserdem habe ich das file fhem.save kontrolliert, ob wirklich vor einem restart bei allen entities cfgState=ok eingetragen war.)


a) es werden grundsätzlich nur 2 unterschiedliche "blöcke" von configchecks mit wenigen devices durchgeführt.
eigentlich hatte ich vermutet, dass bei jedem restart alle entities einen configcheck erfahren.

das erklärt meine beobachtung, dass von 9 thermostaten, denen das selbe template zugewiesen ist, immer nur genau die selben 2 devices den fehler "template undefined" gemeldet haben => denn es werden grundsätzlich seit wochen immer nur diese beiden thermostate gecheckt.
die reihenfolge der devices in jedem block variiert zwar, aber es sind jedes mal exakt die selben devices, die für die configchecks aufgerufen werden. sogar die wiederholungen der einzelnen devices sind jeweils identisch.

b) die 2 blöcke erscheinen immer abwechselnd.
der kürzere block verursacht bei mir keine "template undefined" meldungen, da bei diesen devices keine templates definiert sind.
der andere block enthält genau die 8 entities, die bei mir regelmässig die fehlermeldungen erzeugen.
da die fehlermeldungen also immer bei jedem zweiten restart auftauchen, ist das auch die erklärung für meine "halluzination" von vorgestern.


fazit: mit der "auswahl" der devices für einen configcheck beim fhem restart stimmt etwas nicht.


2020.09.15 12:57:55.633 1: ----- cfgState test01 ----- -> name:Ventil.Bad id:cfgStateUpdate:Ventil.Bad
2020.09.15 12:57:55.710 1: ----- cfgState test01 ----- -> name:Ventil.Bad id:cfgStateUpdate:Ventil.Bad
2020.09.15 12:57:55.789 1: ----- cfgState test01 ----- -> name:Ventil.AZ.Nord id:cfgStateUpdate:Ventil.AZ.Nord
2020.09.15 12:57:55.895 1: ----- cfgState test01 ----- -> name:Ventil.AZ.Nord id:cfgStateUpdate:Ventil.AZ.Nord
2020.09.15 12:57:56.017 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 12:57:56.126 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 12:57:56.204 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 12:57:56.289 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ

2020.09.15 13:15:25.224 1: ----- cfgState test01 ----- -> name:Fenster.Bad id:cfgStateUpdate:Fenster.Bad
2020.09.15 13:15:25.336 1: ----- cfgState test01 ----- -> name:Fenster.Bad id:cfgStateUpdate:Fenster.Bad
2020.09.15 13:15:25.460 1: ----- cfgState test01 ----- -> name:Wetter.Nord id:cfgStateUpdate:Wetter.Nord
2020.09.15 13:15:25.532 1: ----- cfgState test01 ----- -> name:SwitchUP02 id:cfgStateUpdate:SwitchUP02
2020.09.15 13:15:25.641 1: ----- cfgState test01 ----- -> name:SwitchUP02 id:cfgStateUpdate:SwitchUP02
2020.09.15 13:15:25.746 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 13:15:25.817 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 13:15:26.090 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 13:15:26.175 1: ----- cfgState test01 ----- -> name:Thermostat.WZ id:cfgStateUpdate:Thermostat.WZ
2020.09.15 13:15:26.306 1: ----- cfgState test01 ----- -> name:Tuer.WZ.Terrasse id:cfgStateUpdate:Tuer.WZ.Terrasse
2020.09.15 13:15:26.397 1: ----- cfgState test01 ----- -> name:Tuer.WZ.Terrasse id:cfgStateUpdate:Tuer.WZ.Terrasse
2020.09.15 13:15:26.481 1: ----- cfgState test01 ----- -> name:SwitchES01 id:cfgStateUpdate:SwitchES01
2020.09.15 13:15:26.679 1: ----- cfgState test01 ----- -> name:Wetter.Sued id:cfgStateUpdate:Wetter.Sued
2020.09.15 13:15:26.784 1: ----- cfgState test01 ----- -> name:SwitchPBU01 id:cfgStateUpdate:SwitchPBU01
2020.09.15 13:15:26.944 1: ----- cfgState test01 ----- -> name:Thermostat.OZ id:cfgStateUpdate:Thermostat.OZ

2020.09.15 14:22:17.469 1: ----- cfgState test01 ----- -> name:Ventil.AZ.Nord id:cfgStateUpdate:Ventil.AZ.Nord
2020.09.15 14:22:17.574 1: ----- cfgState test01 ----- -> name:Ventil.AZ.Nord id:cfgStateUpdate:Ventil.AZ.Nord
2020.09.15 14:22:17.679 1: ----- cfgState test01 ----- -> name:Ventil.Bad id:cfgStateUpdate:Ventil.Bad
2020.09.15 14:22:17.756 1: ----- cfgState test01 ----- -> name:Ventil.Bad id:cfgStateUpdate:Ventil.Bad
2020.09.15 14:22:17.834 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 14:22:17.943 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 14:22:18.027 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 14:22:18.148 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ

2020.09.15 14:38:37.081 1: ----- cfgState test01 ----- -> name:Wetter.Sued id:cfgStateUpdate:Wetter.Sued
2020.09.15 14:38:37.190 1: ----- cfgState test01 ----- -> name:Tuer.WZ.Terrasse id:cfgStateUpdate:Tuer.WZ.Terrasse
2020.09.15 14:38:37.276 1: ----- cfgState test01 ----- -> name:Tuer.WZ.Terrasse id:cfgStateUpdate:Tuer.WZ.Terrasse
2020.09.15 14:38:37.355 1: ----- cfgState test01 ----- -> name:SwitchES01 id:cfgStateUpdate:SwitchES01
2020.09.15 14:38:37.530 1: ----- cfgState test01 ----- -> name:Fenster.Bad id:cfgStateUpdate:Fenster.Bad
2020.09.15 14:38:37.618 1: ----- cfgState test01 ----- -> name:Fenster.Bad id:cfgStateUpdate:Fenster.Bad
2020.09.15 14:38:37.701 1: ----- cfgState test01 ----- -> name:Thermostat.WZ id:cfgStateUpdate:Thermostat.WZ
2020.09.15 14:38:37.812 1: ----- cfgState test01 ----- -> name:SwitchUP02 id:cfgStateUpdate:SwitchUP02
2020.09.15 14:38:37.914 1: ----- cfgState test01 ----- -> name:SwitchUP02 id:cfgStateUpdate:SwitchUP02
2020.09.15 14:38:38.026 1: ----- cfgState test01 ----- -> name:Thermostat.OZ id:cfgStateUpdate:Thermostat.OZ
2020.09.15 14:38:38.170 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:38:38.234 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:38:38.491 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:38:38.556 1: ----- cfgState test01 ----- -> name:SwitchPBU01 id:cfgStateUpdate:SwitchPBU01
2020.09.15 14:38:38.709 1: ----- cfgState test01 ----- -> name:Wetter.Nord id:cfgStateUpdate:Wetter.Nord

2020.09.15 14:45:52.350 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 14:45:52.459 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 14:45:52.544 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 14:45:52.666 1: ----- cfgState test01 ----- -> name:Tuer.SZ id:cfgStateUpdate:Tuer.SZ
2020.09.15 14:45:52.740 1: ----- cfgState test01 ----- -> name:Ventil.AZ.Nord id:cfgStateUpdate:Ventil.AZ.Nord
2020.09.15 14:45:52.819 1: ----- cfgState test01 ----- -> name:Ventil.AZ.Nord id:cfgStateUpdate:Ventil.AZ.Nord
2020.09.15 14:45:52.897 1: ----- cfgState test01 ----- -> name:Ventil.Bad id:cfgStateUpdate:Ventil.Bad
2020.09.15 14:45:53.002 1: ----- cfgState test01 ----- -> name:Ventil.Bad id:cfgStateUpdate:Ventil.Bad

2020.09.15 14:57:11.862 1: ----- cfgState test01 ----- -> name:Fenster.Bad id:cfgStateUpdate:Fenster.Bad
2020.09.15 14:57:11.950 1: ----- cfgState test01 ----- -> name:Fenster.Bad id:cfgStateUpdate:Fenster.Bad
2020.09.15 14:57:12.018 1: ----- cfgState test01 ----- -> name:SwitchPBU01 id:cfgStateUpdate:SwitchPBU01
2020.09.15 14:57:12.162 1: ----- cfgState test01 ----- -> name:SwitchES01 id:cfgStateUpdate:SwitchES01
2020.09.15 14:57:12.340 1: ----- cfgState test01 ----- -> name:Tuer.WZ.Terrasse id:cfgStateUpdate:Tuer.WZ.Terrasse
2020.09.15 14:57:12.426 1: ----- cfgState test01 ----- -> name:Tuer.WZ.Terrasse id:cfgStateUpdate:Tuer.WZ.Terrasse
2020.09.15 14:57:12.508 1: ----- cfgState test01 ----- -> name:Thermostat.OZ id:cfgStateUpdate:Thermostat.OZ
2020.09.15 14:57:12.664 1: ----- cfgState test01 ----- -> name:Thermostat.WZ id:cfgStateUpdate:Thermostat.WZ
2020.09.15 14:57:12.775 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:57:13.031 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:57:13.098 1: ----- cfgState test01 ----- -> name:HM_114B05 id:cfgStateUpdate:HM_114B05
2020.09.15 14:57:13.182 1: ----- cfgState test01 ----- -> name:Wetter.Sued id:cfgStateUpdate:Wetter.Sued
2020.09.15 14:57:13.297 1: ----- cfgState test01 ----- -> name:Wetter.Nord id:cfgStateUpdate:Wetter.Nord
2020.09.15 14:57:13.369 1: ----- cfgState test01 ----- -> name:SwitchUP02 id:cfgStateUpdate:SwitchUP02
2020.09.15 14:57:13.438 1: ----- cfgState test01 ----- -> name:SwitchUP02 id:cfgStateUpdate:SwitchUP02
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

martinp876

a) TmplChk zeigt immer bei einigen devices "template undefined".
   korrekt, das einlesen des "Archives", so es in HMInfo eingeschalten ist, kommt typisch nach CUL_HM finish. Ich baue ein zwingendes templateCheck nach jedem loadConfig ein

b) ignored entities mit cfgState fehlern werden ebenfalls in hminfo ermittelt und angezeigt.
   Ignored Entites werden nicht geprüft. d.h. gefiltert. Ich sehe das Problem also nicht.
   Ich werden keine Readings von Entites löschen, welche auf "Ignored" stehen. Das Attribut ist systemweit und sollte immer die gleiche Ausprägung haben. Wenn es gesetzt ist, kann ich mich auf viele Readings nicht mehr verlassen, ausser die ID. Ich werde das einbauen, was üblich ist. Es ist  Sache des Anwenders, "ignored" devices auszuschliessen.

   next if(CUL_HM_getAttrInt($eName,"ignore"));
  ist absolut korekt und das hätte ich bei Status-Update einbauen sollten - danke.

c) wenn mehrere cfgState fehler existieren, müssten diese sortiert werden.
  Genauer redest du nicht von Sortieren sondern akkumulieren. Das sehe ich erst einmal nicht. State könnte sich entweder auf "configFail - please check" reduzieren oder es so lassen wie es ist.

d) ausserdem erzeugt das reading ERR_cfgState in hminf ständig neue events
   Ich baue ein "sort" ein - das sollte es lösen.

das Config file ist eine Art journaling config - um zu häufiges aufräumen zu vermeiden. Die Definitionen ggf überschrieben. Purge räumt auf... sollte technisch aber keinen Unterschied machen. Interessant ist also das config vor und nach dem purge sowie die Fehlermeldung.
Ich sehe ein problem: wenn die defines erst nach den Sets im File stehen. Könnte möglich sein... werde ich "sequenzialisieren"


Ein Config-Check wird für alle Devices durchgeführt - in einem Schuss.

frank

Zitata) TmplChk zeigt immer bei einigen devices "template undefined".
   korrekt, das einlesen des "Archives", so es in HMInfo eingeschalten ist, kommt typisch nach CUL_HM finish. Ich baue ein zwingendes templateCheck nach jedem loadConfig ein

im log ist der templateCheck zwar zu sehen, aber am problem hat es nichts geändert.
es werden immer noch die selben 8 entities mit "template undefined" nach jedem 2 restart gemeldet.

2020.09.19 11:33:58.907 3: HMinfo hminfo get:loadConfig :
2020.09.19 11:33:59.011 3: HMinfo hminfo get:configCheck :-f,^(Fenster.Bad|Fenster.Bad)$
2020.09.19 11:33:59.099 3: HMinfo hminfo get:configCheck :-f,^(Fenster.Bad|Fenster.Bad)$
2020.09.19 11:33:59.184 3: HMinfo hminfo get:configCheck :-f,^(Thermostat.OZ|Thermostat.OZ_Climate|Thermostat.OZ_Weather|Thermostat.OZ_WindowRec|Thermostat.OZ)$
2020.09.19 11:33:59.342 3: HMinfo hminfo get:configCheck :-f,^(Tuer.WZ.Terrasse|Tuer.WZ.Terrasse)$
2020.09.19 11:33:59.452 3: HMinfo hminfo get:configCheck :-f,^(Tuer.WZ.Terrasse|Tuer.WZ.Terrasse)$
2020.09.19 11:33:59.549 3: HMinfo hminfo get:configCheck :-f,^(SwitchPBU01|SwitchPBU01_Btn_01|SwitchPBU01_Btn_02|SwitchPBU01_Sw_01|SwitchPBU01_Sw_02|SwitchPBU01)$
2020.09.19 11:33:59.702 3: HMinfo hminfo get:configCheck :-f,^(Wetter.Sued|Wetter.Sued)$
2020.09.19 11:33:59.805 3: HMinfo hminfo get:configCheck :-f,^(SwitchUP02|SwitchUP02)$
2020.09.19 11:33:59.874 3: HMinfo hminfo get:configCheck :-f,^(SwitchUP02|SwitchUP02)$
2020.09.19 11:33:59.954 3: HMinfo hminfo get:configCheck :-f,^(SwitchES01|SwitchES01_Pwr|SwitchES01_SenF|SwitchES01_SenI|SwitchES01_SenPwr|SwitchES01_SenU|SwitchES01_Sw|SwitchES01)$
2020.09.19 11:34:00.139 3: HMinfo hminfo get:configCheck :-f,^(Wetter.Nord|Wetter.Nord)$
2020.09.19 11:34:00.222 3: HMinfo hminfo get:configCheck :-f,^(Thermostat.WZ|Thermostat.WZ_Climate|Thermostat.WZ_Weather|Thermostat.WZ_WindowRec|Thermostat.WZ)$
2020.09.19 11:34:00.341 3: HMinfo hminfo get:configCheck :-f,^(HM_114B05|HM_114B05)$
2020.09.19 11:34:00.600 3: HMinfo hminfo get:configCheck :-f,^(HM_114B05|HM_114B05)$
2020.09.19 11:34:00.669 3: HMinfo hminfo get:configCheck :-f,^(HM_114B05|HM_114B05)$
2020.09.19 11:34:00.717 3: HMinfo hminfo get:templateChk :
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

martinp876

wie du beobachtetest - bei jeden 2. Reload. Das  liegt an den Zeitstempeln der State-Files.

Es war etwas mehr Umbau, die Kontrolle nach Reboot zu sequenzialisieren und nicht zu duplizieren....
Nun kann ich es (mit diesem Ablauf) nicht mehr reproduzieren.
HMInfo und CUL_HM sind notwendig. HMConfig wegen der Änderung zuvor.

frank

danke,
das aktuelle update erzeugt nun keine "template undefined" meldungen mehr.

2020.09.21 10:18:35.636 3: HMinfo hminfo get:loadConfig :
2020.09.21 10:18:35.789 2: HMinfo hminfo get:configCheck :-f,^(Thermostat.OZ|Thermostat.OZ_Climate|Thermostat.OZ_Weather|Thermostat.OZ_WindowRec|Thermostat.OZ)$
2020.09.21 10:18:35.845 2: HMinfo hminfo get:configCheck :-f,^(Thermostat.WZ|Thermostat.WZ_Climate|Thermostat.WZ_Weather|Thermostat.WZ_WindowRec|Thermostat.WZ)$
2020.09.21 10:18:35.945 2: HMinfo hminfo get:configCheck :-f,^(Tuer.WZ.Terrasse|Tuer.WZ.Terrasse)$
2020.09.21 10:18:35.986 2: HMinfo hminfo get:configCheck :-f,^(SwitchPBU01|SwitchPBU01_Btn_01|SwitchPBU01_Btn_02|SwitchPBU01_Sw_01|SwitchPBU01_Sw_02|SwitchPBU01)$
2020.09.21 10:18:36.284 2: HMinfo hminfo get:configCheck :-f,^(HM_114B05|HM_114B05)$
2020.09.21 10:18:36.336 2: HMinfo hminfo get:configCheck :-f,^(SwitchES01|SwitchES01_Pwr|SwitchES01_SenF|SwitchES01_SenI|SwitchES01_SenPwr|SwitchES01_SenU|SwitchES01_Sw|SwitchES01)$
2020.09.21 10:18:36.435 2: HMinfo hminfo get:configCheck :-f,^(Fenster.Bad|Fenster.Bad)$
2020.09.21 10:18:36.494 2: HMinfo hminfo get:configCheck :-f,^(Wetter.Nord|Wetter.Nord)$
2020.09.21 10:18:36.570 2: HMinfo hminfo get:configCheck :-f,^(SwitchUP02|SwitchUP02)$
2020.09.21 10:18:36.630 2: HMinfo hminfo get:configCheck :-f,^(Wetter.Sued|Wetter.Sued)$
2020.09.21 10:18:36.645 2: HMinfo hminfo get:configCheck :




nun hätte ich noch warnungen von "get hminfo protoEvents long" im angebot:

2020.09.21 11:14:36.585 2: HMinfo hminfo get:protoEvents :long
2020.09.21 11:14:36.595 1: PERL WARNING: Use of uninitialized value $date in sprintf at ./FHEM/98_HMinfo.pm line 1282.
2020.09.21 11:14:36.596 1: stacktrace:
2020.09.21 11:14:36.596 1:     main::__ANON__                      called by ./FHEM/98_HMinfo.pm (1282)
2020.09.21 11:14:36.596 1:     main::HMinfo_GetFn                  called by fhem.pl (3816)
2020.09.21 11:14:36.597 1:     main::CallFn                        called by fhem.pl (1988)
2020.09.21 11:14:36.597 1:     main::CommandGet                    called by fhem.pl (1255)
2020.09.21 11:14:36.597 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2715)
2020.09.21 11:14:36.598 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (941)
2020.09.21 11:14:36.598 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (592)
2020.09.21 11:14:36.598 1:     main::FW_Read                       called by fhem.pl (3816)
2020.09.21 11:14:36.599 1:     main::CallFn                        called by fhem.pl (763)
2020.09.21 11:14:36.599 1: PERL WARNING: Argument "  -" isn't numeric in addition (+) at ./FHEM/98_HMinfo.pm line 1283.
2020.09.21 11:14:36.599 1: stacktrace:
2020.09.21 11:14:36.600 1:     main::__ANON__                      called by ./FHEM/98_HMinfo.pm (1283)
2020.09.21 11:14:36.600 1:     main::HMinfo_GetFn                  called by fhem.pl (3816)
2020.09.21 11:14:36.600 1:     main::CallFn                        called by fhem.pl (1988)
2020.09.21 11:14:36.601 1:     main::CommandGet                    called by fhem.pl (1255)
2020.09.21 11:14:36.601 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2715)
2020.09.21 11:14:36.601 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (941)
2020.09.21 11:14:36.602 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (592)
2020.09.21 11:14:36.602 1:     main::FW_Read                       called by fhem.pl (3816)
2020.09.21 11:14:36.602 1:     main::CallFn                        called by fhem.pl (763)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

#7
seit ein paar tagen zeigt ein RHS-fensterkontakt im reading cfgState plötzlich "updating" an und hängt in diesem zustand quasi fest.

ich hätte gedacht, dass "updating" ein "übergangs-status" ist, der nach einer gewissen zeit in ein "ergebnis-zustand" übergeht.
ist dem so, oder soll das eine "aufforderung" für mich sein?


ich wüsste nicht, was ihm plötzlich fehlt.
ich habe gerade gesehen, dass unter get deviceInfo fälschlicher weise der mode lazyconfig angezeigt wird, der aber in der eq3-xml datei gar nicht existiert. dort werden die modes CONFIG und WAKEUP angegeben => https://github.com/eq-3/occu/blob/master/firmware/rftypes/rf_rhs.xml

deviceInfo:
Device name:Fenster.Bad
   org ID    :0030  Model=HM-SEC-RHS
   alias ID :0030  Model=HM-SEC-RHS
   mode    :config,lazyConf - activity:switchedOff
   protState : CMDs_done pending: none

configuration check: updating


list rhs:
Internals:
   DEF        1C1BE3
   FUUID      5c4ce2e9-f33f-09c4-7a30-ecfb079a3a5fdcec
   IODev      cul868
   LASTInputDev hmlan1
   MSGCNT     116
   NAME       Fenster.Bad
   NOTIFYDEV  global
   NR         309
   NTFY_ORDER 50-Fenster.Bad
   STATE      Fenster:tilted (to ccu), Status:tilted, Cover:cover, Bat:ok
   TYPE       CUL_HM
   chanNo     01
   cul868_MSGCNT 58
   cul868_RAWMSG A0D04A6101C1BE31ACE1F06016400::-65.5:cul868
   cul868_RSSI -65.5
   cul868_TIME 2020-10-01 08:59:42
   hmlan1_MSGCNT 58
   hmlan1_RAWMSG E1C1BE3,0000,90CFD69B,FF,FFC0,04A6101C1BE31ACE1F06016400
   hmlan1_RSSI -64
   hmlan1_TIME 2020-10-01 08:59:42
   lastMsg    No:04 - t:10 s:1C1BE3 d:1ACE1F 06016400
   protLastRcv 2020-10-01 08:59:42
   protRcv    58 last_at:2020-10-01 08:59:42
   protSnd    107 last_at:2020-10-01 08:59:42
   protState  CMDs_done
   rssi_at_cul868 cnt:58 min:-77.5 max:-59.5 avg:-67.68 lst:-65.5
   rssi_at_hmlan1 cnt:58 min:-81 max:-62 avg:-69.65 lst:-64
   .attraggr:
   .attreocr:
     .*
   .attrminint:
   .attrtocr:
     .*
   .userReadings:
     HASH(0x4e74e60)
   READINGS:
     from archivexx        .D-devInfo      910101
     from archivexx        .D-stc          80
     2020-09-21 11:24:11   .associatedWith Fenster.Bad,Fenster.Bad
     2020-08-10 13:21:09   .peerListRDate  2020-08-10 13:21:09
     2020-10-01 08:59:42   .protLastRcv    20201001085942
     2020-08-10 17:14:38   Activity        switchedOff
     2020-08-10 13:17:55   CommandAccepted no
     from archivexx        D-firmware      2.0
     from archivexx        D-serialNr      JEQ0346697
     2020-08-10 13:21:08   PairedTo        0x1ACE1F
     2020-09-21 10:18:36   R-cyclicInfoMsg on
     2020-09-21 10:18:36   R-eventDlyTime  0 s
     2020-09-21 10:18:36   R-ledOnTime     0.5 s
     2020-09-21 10:18:36   R-msgRhsPosA    closed
     2020-09-21 10:18:36   R-msgRhsPosB    open
     2020-09-21 10:18:36   R-msgRhsPosC    tilted
     2020-09-21 10:18:36   R-pairCentral   0x1ACE1F
     2020-09-21 10:18:36   R-sign          off
     2020-09-21 10:18:36   R-transmDevTryMax 6
     2020-09-21 10:18:36   R-transmitTryMax 6
     2020-08-10 13:21:08   RegL_00.        00:00 02:01 09:01 0A:1A 0B:CE 0C:1F 10:01 14:06
     2020-08-10 13:21:09   RegL_01.        00:00 08:00 20:6C 21:00 22:64 30:06
     2020-08-10 13:21:34   alive           yes
     2020-08-12 07:59:44   battery         ok
     2020-09-28 14:37:41   cfgState        updating
     2020-08-12 07:59:44   commState       CMDs_done
     2020-09-30 09:09:30   contact         tilted (to ccu)
     2020-09-30 08:54:40   powerOn         2020-09-30 08:54:39
     2020-08-10 13:21:34   recentStateType info
     2020-08-10 13:21:34   sabotageError   off
     2020-09-30 09:09:30   state           tilted
     2020-09-30 09:09:30   trigger_cnt     3
   helper:
     HM_CMDNR   4
     PONtest    0
     mId        0030
     peerFriend peerAct,peerVirt
     peerOpt    4:threeStateSensor
     regLst     0,1,4p
     rxType     20
     supp_Pair_Rep 0
     tmplChg    0
     ack:
     cfgChk:
     cmds:
       TmplKey    :1600680269.35338:1601544785.79812
       TmplTs     1601544785.79812
       cmdKey     1:1:0::Fenster.Bad:0030:01:
       cmdLst:
         assignHmKey noArg
         clear      [(readings|trigger|register|oldRegs|rssi|msgEvents|{msgErrors}|attack|all)]
         deviceRename -newName-
         fwUpdate   -filename- [-bootTime-]
         getConfig  noArg
         getDevInfo noArg
         getRegRaw  (List0|List1|List2|List3|List4|List5|List6) [-peerChn-]
         peerBulk   -peer1,peer2,...- [({set}|unset)]
         peerChan   -btnNumber- -actChn- [({single})] [({set}|unset)] [actor|remote|both]
         peerSmart  -peerOpt-
         raw        -data- [...]
         regBulk    -list-.-peerChn- -addr1:data1- -addr2:data2-...
         regSet     [(prep|{exec})] -regName- -value- [-peerChn-]
         reset      noArg
         sign       [(on|{off})]
         tplDel     -tplDel-
         tplSet_0   -tplChan-
         trgEventL  -peer- -condition-
         trgEventS  -peer- -condition-
         trgPressL  [(-peer-|{all})]
         trgPressS  [(-peer-|{all})]
         unpair     noArg
       lst:
         condition  closed,open,tilted
         peer       
         peerOpt    DimPBU01_Sw1_V01,DimPBU01_Sw1_V02,DimPBU01_chn01,DimUP01,SDTeam_Btn1,SwitchES01_Sw,SwitchPBU01_Sw_01,SwitchPBU01_Sw_02,SwitchPBU02_Sw_01,SwitchPBU02_Sw_02,SwitchPBU03,SwitchPBU06,SwitchUP01,SwitchUP02,VentilControler.AZ.Nord_Btn1,VentilControler.AZ.West_Btn1,VentilControler.Bad_Btn1,VentilControler.Kueche_Btn1,VentilControler.SZ_Btn1,VentilControler.WZ_Btn1,ccu_Btn1,ccu_Btn2,ccu_Btn3,ccu_Btn4,ccu_Btn5,virtAktorAlarmOff_Btn1
         tplChan    RHS
         tplDel     
         tplPeer   
       rtrvLst:
         cmdList    [({short}|long)]
         deviceInfo [({short}|long)]
         param      -param-
         reg        -addr- -list- [-peerChn-]
         regList    noArg
         regTable   noArg
         regVal     -addr- -list- [-peerChn-]
         saveConfig [-filename-]
         tplInfo    noArg
     expert:
       def        1
       det        1
       raw        1
       tpl        1
     io:
       newChn     +1C1BE3,00,00,00
       nextSend   1601535582.68104
       rxt        2
       vccu       ccu
       p:
         1C1BE3
         00
         00
         00
       prefIO:
         cul868
     mRssi:
       mNo        04
       io:
         cul868:
           -61.5
           -61.5
         hmlan1:
           -64
           -64
         hmuart1:
         hmusb1:
     prt:
       bErr       0
       sProc      0
       sleeping   1
       rspWait:
     q:
       qReqConf   00
       qReqStat   
     role:
       chn        1
       dev        1
     rpt:
       IO         cul868
       flg        A
       ts         1601535582.47422
       ack:
         HASH(0x4e76b80)
         0480021ACE1F1C1BE300
     rssi:
       at_cul868:
         avg        -67.6810344827586
         cnt        58
         lst        -65.5
         max        -59.5
         min        -77.5
       at_hmlan1:
         avg        -69.6551724137931
         cnt        58
         lst        -64
         max        -62
         min        -81
     shadowReg:
     tmpl:
Attributes:
   .mId       0030
   IODev      cul868
   IOgrp      ccu:cul868
   actCycle   000:00
   actStatus  switchedOff
   autoReadReg 5_readMissing
   comment    Lueftung
   event-on-change-reading .*
   expert     defReg,allReg,rawReg,templ
   firmware   2.0
   group      Alarmmelder
   model      HM-SEC-RHS
   peerIDs    00000000,
   room       01_ALARM,40_Bad
   serialNr   JEQ0346697
   stateFormat Fenster:contact, Status:state, Cover:cover, Bat:battery
   subType    threeStateSensor
   timestamp-on-change-reading .*




edit_1:
ausgelösst wurde cfgState=updating durch einen configCheck, den ich gerade in fhem.log gesehen habe.
2020.09.28 14:37:40.645 2: HMinfo hminfo get:configCheck :

ein weiterer configCheck, der keine fehler zeigt, kann den zustand cfgState=updating aber nicht beseitigen.

    requests pending
    ----------------
    autoReadReg          :
        recent           : none
    status request       :
    autoReadReg wakeup   : Fenster.Bad
    status request wakeup:
    autoReadTest         : Fenster.Bad



edit_2:
es gibt ein haufen hminfo warnings:

2020.10.01 11:57:51.501 2: HMinfo hminfo get:models :-f,RHS
2020.10.01 11:57:51.505 1: PERL WARNING: Use of uninitialized value $s in string eq at ./FHEM/98_HMinfo.pm line 1675.
2020.10.01 11:57:51.506 1: stacktrace:
2020.10.01 11:57:51.506 1:     main::__ANON__                      called by ./FHEM/98_HMinfo.pm (1675)
2020.10.01 11:57:51.507 1:     main::HMinfo_GetFn                  called by fhem.pl (3816)
2020.10.01 11:57:51.507 1:     main::CallFn                        called by fhem.pl (1988)
2020.10.01 11:57:51.507 1:     main::CommandGet                    called by fhem.pl (1255)
2020.10.01 11:57:51.508 1:     main::AnalyzeCommand                called by fhem.pl (1106)
2020.10.01 11:57:51.508 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2717)
2020.10.01 11:57:51.508 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (941)
2020.10.01 11:57:51.508 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (592)
2020.10.01 11:57:51.509 1:     main::FW_Read                       called by fhem.pl (3816)
2020.10.01 11:57:51.509 1:     main::CallFn                        called by fhem.pl (763)
2020.10.01 11:57:51.509 1: PERL WARNING: Use of uninitialized value $e in string eq at ./FHEM/98_HMinfo.pm line 1675.
2020.10.01 11:57:51.510 1: stacktrace:
2020.10.01 11:57:51.510 1:     main::__ANON__                      called by ./FHEM/98_HMinfo.pm (1675)
2020.10.01 11:57:51.510 1:     main::HMinfo_GetFn                  called by fhem.pl (3816)
2020.10.01 11:57:51.511 1:     main::CallFn                        called by fhem.pl (1988)
2020.10.01 11:57:51.511 1:     main::CommandGet                    called by fhem.pl (1255)
2020.10.01 11:57:51.511 1:     main::AnalyzeCommand                called by fhem.pl (1106)
2020.10.01 11:57:51.511 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2717)
2020.10.01 11:57:51.512 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (941)
2020.10.01 11:57:51.512 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (592)
2020.10.01 11:57:51.512 1:     main::FW_Read                       called by fhem.pl (3816)
2020.10.01 11:57:51.513 1:     main::CallFn                        called by fhem.pl (763)
2020.10.01 11:57:51.513 1: PERL WARNING: Use of uninitialized value $s in concatenation (.) or string at ./FHEM/98_HMinfo.pm line 1675.
2020.10.01 11:57:51.513 1: stacktrace:
2020.10.01 11:57:51.514 1:     main::__ANON__                      called by ./FHEM/98_HMinfo.pm (1675)
2020.10.01 11:57:51.514 1:     main::HMinfo_GetFn                  called by fhem.pl (3816)
2020.10.01 11:57:51.514 1:     main::CallFn                        called by fhem.pl (1988)
2020.10.01 11:57:51.515 1:     main::CommandGet                    called by fhem.pl (1255)
2020.10.01 11:57:51.515 1:     main::AnalyzeCommand                called by fhem.pl (1106)
2020.10.01 11:57:51.515 1:     main::AnalyzeCommandChain           called by ./FHEM/01_FHEMWEB.pm (2717)
2020.10.01 11:57:51.516 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (941)
2020.10.01 11:57:51.516 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (592)
2020.10.01 11:57:51.516 1:     main::FW_Read                       called by fhem.pl (3816)
2020.10.01 11:57:51.517 1:     main::CallFn                        called by fhem.pl (763)
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

push.

hallo martin,
die 2 letzten posts sind noch aktuell.

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html