Hallo,
finde leider nichts um die Ursache des voll laufen meines fhem log
aufzuspüren.
2018.10.20 00:00:38 1: ERROR: empty name in readingsBeginUpdate
2018.10.20 00:00:38 1: stacktrace:
2018.10.20 00:00:38 1: main::readingsBeginUpdate called by ./FHEM/98_PID20.pm (720)
2018.10.20 00:00:38 1: main::PID20_Calc called by fhem.pl (3142)
2018.10.20 00:00:38 1: main::HandleTimeout called by fhem.pl (649)
2018.10.20 00:00:38 1: readingsUpdate(,p_i,0) missed to call readingsBeginUpdate first.
2018.10.20 00:00:38 1: stacktrace:
2018.10.20 00:00:38 1: main::readingsBulkUpdate called by ./FHEM/98_PID20.pm (725)
2018.10.20 00:00:38 1: main::PID20_Calc called by fhem.pl (3142)
2018.10.20 00:00:38 1: main::HandleTimeout called by fhem.pl (649)
Mit Perl bin ich leider vollkommen unbedarft, eventuell liegt es an der DEF dieses PID20 oder der DEF
des HeatingControl
heizung_bad mo,di,mi,do,fr,$we|08:25|24 mo,di,mi,do,fr,$we|21:26|24 {fhem("set ZWave_THERMOSTAT_5 tmManual");; fhem("set $NAME desired $EVENT")}
hierzu mal ein list vom PID20
Internals:
CFGFN
CHANGED
DEF Badsensor:temperature ZWave_THERMOSTAT_5:dim
NAME heizung_bad
NR 3531
NTFY_ORDER 50-heizpid_bad
STATE processing
STILLDONETIME 0
TYPE PID20
VERSION 1.0.0.9
Helper:
DBLOG:
actuation:
myDbLog:
TIME 1540017032.27141
VALUE 99
actuationCalc:
myDbLog:
TIME 1540017212.41237
VALUE 109.04
desired:
myDbLog:
TIME 1540017152.33043
VALUE 24.0
measured:
myDbLog:
TIME 1540017152.33043
VALUE 22.1
p_i:
myDbLog:
TIME 1540017032.27141
VALUE 14.04
p_p:
myDbLog:
TIME 1540017212.41237
VALUE 94.9999999999999
state:
myDbLog:
TIME 1539967105.23768
VALUE alarm - missing desired
READINGS:
2018-10-20 08:34:32 actuation 99
2018-10-20 08:34:32 actuationCalc 109.04
2018-10-20 08:34:32 delta 1.9
2018-10-20 08:34:32 desired 24.0
2018-10-20 08:34:32 measured 22.1
2018-10-20 08:34:32 p_d 0
2018-10-20 08:34:32 p_i 14.04
2018-10-20 08:34:32 p_p 94.9999999999999
2018-10-20 08:34:32 state processing
helper:
actor ZWave_THERMOSTAT_5
actorCommand dim
actorErrorAction freeze
actorErrorPos 5
actorInterval 120
actorKeepAlive 1800
actorLimitLower 0
actorLimitUpper 99
actorThreshold 1
actorTimestamp 2018-10-20 08:15:31
actorValueDecPlaces 0
adjust
calcInterval 60
deltaGradient 0.00019704115202391
deltaOld 1.9
deltaOldTS 2018-10-20 08:28:30
deltaTreshold 0
desiredName desired
disable 0
factor_D 0
factor_I 0.2
factor_P 50
isWindUP 1
measuredName measured
reading temperature
regexp ^([\+,\-]?\d+\.?\d*$)
reverseAction 0
sensor Badsensor
sensorTimeout 7200
stopped 0
updateInterval 600
Attributes:
DbLogExclude state,delta,p_d
DbLogInclude measured,desired,actuation,p_p,p_i,actuationCalc
alias Heizung_Bad
event-min-interval actuation:300,actuationCalc:300,delta:300,desired:300,measured:300,p_d:300,p_i:300,p_p:300
event-on-change-reading actuation:1,actuationCalc:0.5,delta:0.2,desired,measured:0.2,p_d:0.1,p_i:1.0,p_p:1.0
group Thermostate
pidActorErrorPos 5
pidActorInterval 120
pidActorLimitUpper 99
pidActorTreshold 1
pidActorValueDecPlaces 0
pidFactor_D 0
pidFactor_I 0.2
pidFactor_P 50
pidSensorTimeout 7200
room Bad
verbose 0
Kann mir mal bitte jemand hierzu unter die Arme greifen.
Danke
Hans-Jürgen
Die unmittelbare Ursache ist, dass die Definition der im PID20_Calc verwendeten PID20 Intanz keinen Namen hat (NAME ist nicht definiert, Leerstring oder 0).
Ich habe nach etlichen Minuten Code-Anstarren keine Idee, wie das zustandekommen kann.
Es wuerde mich wundern, wenn das eine Anfaengerfrage ist, vmtl. muss man im passenden Forumsbereich dem Maintainer eine Moeglichkeit bieten, das Problem nachzustellen.
Hallo Rudolf,
Danke das Du dir die Zeit genommen hast.
Habe mal FHEM neu gestartet seitdem ist
die Minütliche Eintragung erst mal weg.
Wenn weiter keine Nachwehen zu befürchten sind bin
ich erst mal zufrieden.
Vielen Dank!
Hans-Jürgen