PID20 - Fehlermeldung

Begonnen von martinbaumert, 19 September 2014, 18:07:27

Vorheriges Thema - Nächstes Thema

martinbaumert

Hallo Zusammen,

ich habe mir eine Heizungsregelung aufgebaut. PID20 leider habe ich in der LOG-Datei seit kurzem diese Fehlermeldung:

Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.

Folgende weitere Info´s:
-Ist-Vorlauf wird über Onewire übergeben.
-Soll-Vorlauf wird über Außentemperatur(Onewire) und einen Notify berechnet und übergeben.
-Thresholdmodul starte die Regelung

Problem die LOG-Datei ist durch die vielen Einträge sehr unübersichtlich.

Könnte mir ggf. jemand mitteilen wo der Fehler liegt und wie ich ihn ggf. abstellen kann.

Danke
FHEM5.7@RaspPi.1: HMLAN,HM-CC-RT-DN,HM-LC-Sw1+SW2,HM-LC-BI1PBU-FM,HM-CC-RT-DN,HM-CC-TC, HM-TC-IT-WM-W-EU,HM-RC-8,HM-WDS100-C6-O,HM-Sen-MDIR-O,FBDECT, USB to OneWire + 2xRelay Card 8-fach mit DS2408 (Denkovi), 13xDS18B20

rudolfkoenig

ZitatUse of uninitialized value $d in hash element at fhem.pl line 3281.
Du (oder ein Modul) rufst ReadingsVal(undefined, ....) auf.
ZitatUse of uninitialized value $d in hash element at fhem.pl line 3301.
das gleiche mit ReadingsTimestamp.

Falls das Problem auch nach einem FHEM-Neustart auftritt, dann wird $defs{undefined} irgendwo programmatisch angelegt, normal ist das aber nicht.


betateilchen

Vermutlich hast Du einen Fehler in Deiner PID20 Definiton, speziell bei der Angabe der Daten zum Sensor.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

martinbaumert

Hier die entsprechende Auszüge wie die einzelnen Module aufgerufen werden.

Hardware für Onewire ist ein AVR-NET-IO

Zitatdefine VL_Mischer1 ECMDDevice ONEWIRE 285a2d5005000006
attr VL_Mischer1 IODev NETIO_644_2
attr VL_Mischer1 room HZ-Haupthaus,HZ-Steuerung
attr VL_Mischer1 stateFormat { sprintf("%s°C", ReadingsVal("VL_Mischer1","T:",0)) }

und weiter über diesen Befehl

Zitatdefine 1Wire_Temp1 at +*00:00:30 get VL_Mischer1 T:
attr 1Wire_Temp1 room Sensoren
attr 1Wire_Temp1 verbose 2
define Log_VL_Mischer1 FileLog ./log/Temp_Haupt-%Y-%W.log VL_Mischer1:.*(temperature).*
attr Log_VL_Mischer1 room Heizung
Der PID20 ist wie folgt aufgebaut:

Zitatdefine PID_Mischer1H PID20 VL_Mischer1:temperature Mischer1H
attr PID_Mischer1H pidActorInterval 15
attr PID_Mischer1H pidActorLimitLower 1
attr PID_Mischer1H pidActorLimitUpper 100
attr PID_Mischer1H pidActorTreshold 2
attr PID_Mischer1H pidActorValueDecPlaces 0
attr PID_Mischer1H pidCalcInterval 15
attr PID_Mischer1H pidFactor_D 0
attr PID_Mischer1H pidFactor_I 2
attr PID_Mischer1H pidFactor_P 4
attr PID_Mischer1H room HZ-Haupthaus

Der PID wird Außentemperatur abhängt geschaltet.

Zitatdefine Mischer1_An THRESHOLD Aussentemperatur:temperature:1 PID_Mischer1H|set PID_Mischer1H stop|set PID_Mischer1H start
attr Mischer1_An number_format %.1f
attr Mischer1_An room HZ-Haupthaus
attr Mischer1_An state_cmd1_gt stop
attr Mischer1_An state_cmd2_lt start
attr Mischer1_An state_format _m _dv _sc

Der Threshold besitzt noch eine Wochentimer.

Die Vorlauftemperatur wird wie folgt berechnet und an die PID übergeben

Zitatdefine n_Vorlauf notify n_Vorlauf {\
my $TempAussen=(ReadingsVal("Aussentemperatur","temperature","nA"));;\
my $Steilheit=0.6;;\
my $TempVorlauf=((($TempAussen - 18) * (0 - 1) * $Steilheit ) +23);;\
fhem("set Vorlauf_Soll $TempVorlauf");;\
fhem("set PID_Mischer1H desired $TempVorlauf");;\
fhem("set PID_Mischer2M desired $TempVorlauf");;\
}
attr n_Vorlauf room Heizung
#
define n_Vorlauf_Soll at +*00:10 {if ((ReadingsVal("Aussentemperatur","temperature","nA"))> 15){fhem("set PID_Mischer1H desired 25");; fhem("set PID_Mischer2M desired 25")} else {fhem("trigger n_Vorlauf")}}
attr n_Vorlauf_Soll room HZ-Haupthaus,HZ-Mieter,HZ-Steuerung,Heizung
attr n_Vorlauf_Soll verbose 3

Zu Rudolf König:

Ja, direkt nach einem Neustart erscheinen die Fehlermeldungen im LOG.
FHEM5.7@RaspPi.1: HMLAN,HM-CC-RT-DN,HM-LC-Sw1+SW2,HM-LC-BI1PBU-FM,HM-CC-RT-DN,HM-CC-TC, HM-TC-IT-WM-W-EU,HM-RC-8,HM-WDS100-C6-O,HM-Sen-MDIR-O,FBDECT, USB to OneWire + 2xRelay Card 8-fach mit DS2408 (Denkovi), 13xDS18B20

John

#4
Hi martinbaumert,

kannst du bitte die Ausgabe zu folgenden Befehlen schicken:
list PID_Mischer1H
list VL_Mischer1
list Mischer1H


Weiterhin bitte verbose-Level für 2 Minuten auf 5 stellen und Log-Auszug senden.

Tritt der Fehler nur beim Hochfahren von FHEM auf oder permanent (alle 15 Sekunden) ?

Wenn sensor und dessen reading nicht definiert sind, sollte dies beim Hochfahren von FHEM auch zu Fehlern in
der Log-Datei führen. Bitte dahingehend die Logdatei checken.


John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

martinbaumert

Hallo John

hier das List zu PID

ZitatInternals:
   DEF        VL_Mischer1:temperature Mischer1H
   NAME       PID_Mischer1H
   NR         554
   NTFY_ORDER 50-PID_Mischer1H
   STATE      processing
   TYPE       PID20
   Readings:
     2014-09-20 11:19:39   actuation       1
     2014-09-20 11:19:39   actuationCalc   1.01999999999999
     2014-09-20 11:19:39   delta           -1.6
     2014-09-20 11:19:39   desired         25
     2014-09-20 11:19:39   measured        26.6
     2014-09-20 11:19:39   p_d             0
     2014-09-20 11:19:39   p_i             7.42
     2014-09-20 11:19:39   p_p             -6.40000000000001
     2014-09-20 11:19:39   state           processing
     2014-09-09 22:29:46   vorlauf_soll    20
   Helper:
     actor      Mischer1H
     actorCommand
     actorErrorAction freeze
     actorErrorPos 0
     actorInterval 15
     actorKeepAlive 1800
     actorLimitLower 1
     actorLimitUpper 100
     actorThreshold 2
     actorTimestamp 2014-09-20 11:19:39
     actorValueDecPlaces 0
     adjust
     calcInterval 30
     deltaGradient 0.00662179737382508
     deltaOld   -1.6
     deltaOldTS 2014-09-20 11:19:33
     deltaTreshold 0
     desiredName desired
     disable    0
     factor_D   0
     factor_I   2
     factor_P   4
     isWindUP
     measuredName measured
     reading    temperature
     regexp     ^([\+,\-]?\d+\.?\d*$)
     reverseAction 0
     sensor     VL_Mischer1
     sensorTimeout 3600
     stopped    0
     updateInterval 600
Attributes:
   pidActorInterval 15
   pidActorLimitLower 1
   pidActorLimitUpper 100
   pidActorTreshold 2
   pidActorValueDecPlaces 0
   pidCalcInterval 30
   pidFactor_D 0
   pidFactor_I 2
   pidFactor_P 4
   room       HZ-Haupthaus

List zu VL_Mischer1

ZitatInternals:
   DEF        ONEWIRE 285a2d5005000006
   IODev      NETIO_644_2
   NAME       VL_Mischer1
   NR         367
   STATE      26.4
°C
   TYPE       ECMDDevice
   Readings:
     2014-09-20 11:21:33   T:              26.4

     2014-09-20 11:21:33   state           T: 26.4

     2014-09-20 11:21:33   temperature     26.4

   Fhem:
     classname  ONEWIRE
     Cache:
       Specials:
         %NAME      VL_Mischer1
         %TYPE      ECMDDevice
         %devID     285a2d5005000006
     Params:
       devID      285a2d5005000006
Attributes:
   IODev      NETIO_644_2
   room       HZ-Haupthaus,HZ-Steuerung
   stateFormat { sprintf("%s°C", ReadingsVal("VL_Mischer1","T:",0)) }

zu Mischer1H

ZitatInternals:
   DEF        FhemDev
   NAME       Mischer1H
   NOTIFYDEV  global
   NR         547
   NTFY_ORDER 50-Mischer1H
   STATE      2
   TYPE       STELLMOTOR
   Readings:
     2014-09-10 22:24:08   DoResetAtStop   1410380648.16063
     2014-09-19 23:23:34   OutType         FhemDev
     2014-09-19 20:24:18   command_queue   0
     2014-09-20 11:19:09   lastStart       1411204749.15094
     2014-09-20 11:19:16   locked          0
     2014-09-20 11:19:39   position        1
     2014-09-20 11:19:39   queue_lastdiff  -0.935302933057149
     2014-09-20 11:19:16   state           2
     2014-09-20 11:19:16   stopTime        0
Attributes:
   STMcalibrateDirection L
   STMdebugToLog3 0
   STMfhemDevRL Mischer1_Auf
   STMfhemDevSTART Mischer1_Zu
   STMinvertOut 0
   STMlastDiffMax 1
   STMmapOffCmd off
   STMmapOnCmd on
   STMmaxDriveSeconds 240
   STMmaxTics 100
   STMpollInterval 0.1
   STMresetOtherDeviceAtCalibrate 0
   STMrlType  einzel
   STMtimeTolerance 0.01
   room       HZ-Haupthaus

Bei  LOG habe ich jetzt nur die 15 Sekunden kopiert danach kommt die Wiederholung.

Zitat2014.09.20 11:33:37 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 11:33:37 5: PID20 PID_Mischer1H: Notify.232 check event:<temperature: 25.4
>
2014.09.20 11:33:37 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 11:33:37 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 25.4
>
2014.09.20 11:33:37 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 11:33:37 5: PID20 PID_Mischer1H: Notify.232 check event:<25.4
>
2014.09.20 11:33:37 4: PID20 PID_Mischer1H: Notify.225 check 2 readings for temperature
2014.09.20 11:33:37 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 25.4
>
2014.09.20 11:33:37 5: PID20 PID_Mischer1H: Notify.232 check event:<T: 25.4
>
2014.09.20 11:33:40 3: PID20 PID_Mischer1H: Set.342 set PID_Mischer1H desired 25
2014.09.20 11:33:40 3: PID20 PID_Mischer2M: Set.342 set PID_Mischer2M desired 25
2014.09.20 11:34:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 11:34:03 5: PID20 PID_Mischer1H: Notify.232 check event:<temperature: 25.4
>
2014.09.20 11:34:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 11:34:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 25.4
>
2014.09.20 11:34:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 11:34:03 5: PID20 PID_Mischer1H: Notify.232 check event:<25.4
>
2014.09.20 11:34:03 4: PID20 PID_Mischer1H: Notify.225 check 2 readings for temperature
2014.09.20 11:34:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 25.4
>
2014.09.20 11:34:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T: 25.4
>
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.

FHEM5.7@RaspPi.1: HMLAN,HM-CC-RT-DN,HM-LC-Sw1+SW2,HM-LC-BI1PBU-FM,HM-CC-RT-DN,HM-CC-TC, HM-TC-IT-WM-W-EU,HM-RC-8,HM-WDS100-C6-O,HM-Sen-MDIR-O,FBDECT, USB to OneWire + 2xRelay Card 8-fach mit DS2408 (Denkovi), 13xDS18B20

John

#6
Kannst du bitte noch alle Attribute pidDebug* auf 1 setzen und noch eine Runde Log-Datei aufnehmen. (verbose 5)

Weiterhin bitte noch eine Auszug des Eventlogs zu VL_Mischer1.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

martinbaumert

Hier der Auszug aus der LOG-Datei

Zitat2014.09.20 12:53:33 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:53:33 5: PID20 PID_Mischer1H: Notify.232 check event:<temperature: 24.7
>
2014.09.20 12:53:33 5: PID20 PID_Mischer1H: Notify.247 Diff: delta[0.30] - deltaOld[0.30]= Diff[0.00]
2014.09.20 12:53:33 5: PID20 PID_Mischer1H: Notify.258 tsDiff: tsDiff = 30.1697289943695
2014.09.20 12:53:33 5: PID20 PID_Mischer1H: Notify.267 deltaGradient: (Diff[]/tsDiff[30.17]=deltaGradient per sec []
2014.09.20 12:53:33 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:53:33 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 24.7
>
2014.09.20 12:53:33 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:53:33 5: PID20 PID_Mischer1H: Notify.232 check event:<24.7
>
2014.09.20 12:53:33 4: PID20 PID_Mischer1H: Notify.225 check 2 readings for temperature
2014.09.20 12:53:33 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 24.7
>
2014.09.20 12:53:33 5: PID20 PID_Mischer1H: Notify.232 check event:<T: 24.7
>
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.494 --------------------------
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.495 S1 sensorStr:24.7
sensorTS:2014-09-20 12:53:33
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.506 S2 timeOfDay:1411210414.58862 timeDiff:1.58786702156067 sensorTimeout:3600 --> sensorIsAlive:1
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.522 25.0
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.572 P1 delta:0.30 isWindup:
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.576 P2 pPortion:1.20 iPortion:24.42 dPortion:0.00 actuationCalc:25.62
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.614 A1 act:26 actDone:25  actThreshold:2 actDiff:1
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.638 A2 rsTS: rsUp: rsDown: noTrouble:1
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.644 A3 actTS:2014-09-20 12:52:03 actTimeDiff:91.60 actInterval:15-->actByTime:1
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.663 A4 (actByTh: && actByTime:1)||actKeepAlive:||rsLimit:=actnReq:
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.693 U1 actReq: updateAlive: -->  updateReq:
2014.09.20 12:53:34 2: PID20 PID_Mischer1H: Calc.719 C1 stateStr:processing calcReq:1
2014.09.20 12:53:34 3: PID20 PID_Mischer1H: Set.342 set PID_Mischer1H desired 25
2014.09.20 12:53:34 3: PID20 PID_Mischer2M: Set.342 set PID_Mischer2M desired 25
2014.09.20 12:53:58 3: owo meinWetter: started: SendData
2014.09.20 12:53:59 3: owo meinWetter: reading: owoSrc00 temp OC3 20.3
2014.09.20 12:53:59 3: owo meinWetter: reading: owoSrc01 humidity OC3 83
2014.09.20 12:53:59 3: owo meinWetter: reading: owoSrc02 wind_dir OC3 235
2014.09.20 12:53:59 3: owo meinWetter: reading: owoSrc03 rain_today RegenmengeTag 0.294999999999959
2014.09.20 12:53:59 3: owo meinWetter: reading: owoSrc04 wind_speed WindSpeed_mps 3.11
2014.09.20 12:53:59 3: owo meinWetter: reading: owoSrc05 rain_1h RegenmengeLast1Hours 0
2014.09.20 12:53:59 3: owo meinWetter: reading: owoSrc06 rain_24h RegenmengeLast24Hours 13.865
2014.09.20 12:53:59 3: owo meinWetter: sending: name=59590G10d&lat=51.6422&long=8.4998&alt=&temp=20.3&humidity=83&wind_dir=235&rain_today=0.294999999999959&wind_speed=3.11&rain_1h=0&rain_24h=13.865&APPID=
2014.09.20 12:53:59 3: owo meinWetter: htmlResponse: 200 OK
2014.09.20 12:54:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:54:03 5: PID20 PID_Mischer1H: Notify.232 check event:<temperature: 24.8
>
2014.09.20 12:54:03 5: PID20 PID_Mischer1H: Notify.247 Diff: delta[0.20] - deltaOld[0.30]= Diff[-0.10]
2014.09.20 12:54:03 5: PID20 PID_Mischer1H: Notify.258 tsDiff: tsDiff = 30.1697919368744
2014.09.20 12:54:03 5: PID20 PID_Mischer1H: Notify.267 deltaGradient: (Diff[-0.10]/tsDiff[30.17]=deltaGradient per sec [-0.003315]
2014.09.20 12:54:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:54:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 24.8
>
2014.09.20 12:54:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:54:03 5: PID20 PID_Mischer1H: Notify.232 check event:<24.8
>
2014.09.20 12:54:03 4: PID20 PID_Mischer1H: Notify.225 check 2 readings for temperature
2014.09.20 12:54:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 24.8
>
2014.09.20 12:54:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T: 24.8
>
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.494 --------------------------
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.495 S1 sensorStr:24.8
sensorTS:2014-09-20 12:54:03
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.506 S2 timeOfDay:1411210444.62571 timeDiff:1.62541890144348 sensorTimeout:3600 --> sensorIsAlive:1
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.522 25.0
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.572 P1 delta:0.20 isWindup:
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.576 P2 pPortion:0.80 iPortion:24.62 dPortion:-0.00 actuationCalc:25.42
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.614 A1 act:25 actDone:25  actThreshold:2 actDiff:0
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.638 A2 rsTS: rsUp: rsDown: noTrouble:1
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.644 A3 actTS:2014-09-20 12:52:03 actTimeDiff:121.64 actInterval:15-->actByTime:1
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.663 A4 (actByTh: && actByTime:1)||actKeepAlive:||rsLimit:=actnReq:
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.693 U1 actReq: updateAlive: -->  updateReq:
2014.09.20 12:54:04 2: PID20 PID_Mischer1H: Calc.719 C1 stateStr:processing calcReq:1
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
2014.09.20 12:54:33 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:54:33 5: PID20 PID_Mischer1H: Notify.232 check event:<temperature: 24.8
>
2014.09.20 12:54:33 5: PID20 PID_Mischer1H: Notify.247 Diff: delta[0.20] - deltaOld[0.20]= Diff[0.00]
2014.09.20 12:54:33 5: PID20 PID_Mischer1H: Notify.258 tsDiff: tsDiff = 30.1715009212494
2014.09.20 12:54:33 5: PID20 PID_Mischer1H: Notify.267 deltaGradient: (Diff[]/tsDiff[30.17]=deltaGradient per sec []
2014.09.20 12:54:33 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:54:33 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 24.8
>
2014.09.20 12:54:33 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:54:33 5: PID20 PID_Mischer1H: Notify.232 check event:<24.8
>
2014.09.20 12:54:33 4: PID20 PID_Mischer1H: Notify.225 check 2 readings for temperature
2014.09.20 12:54:33 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 24.8
>
2014.09.20 12:54:33 5: PID20 PID_Mischer1H: Notify.232 check event:<T: 24.8
>
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.494 --------------------------
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.495 S1 sensorStr:24.8
sensorTS:2014-09-20 12:54:33
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.506 S2 timeOfDay:1411210474.77727 timeDiff:1.77676200866699 sensorTimeout:3600 --> sensorIsAlive:1
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.522 25.0
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.572 P1 delta:0.20 isWindup:
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.576 P2 pPortion:0.80 iPortion:24.82 dPortion:0.00 actuationCalc:25.62
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.614 A1 act:26 actDone:25  actThreshold:2 actDiff:1
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.638 A2 rsTS: rsUp: rsDown: noTrouble:1
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.644 A3 actTS:2014-09-20 12:52:03 actTimeDiff:151.82 actInterval:15-->actByTime:1
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.663 A4 (actByTh: && actByTime:1)||actKeepAlive:||rsLimit:=actnReq:
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.693 U1 actReq: updateAlive: -->  updateReq:
2014.09.20 12:54:34 2: PID20 PID_Mischer1H: Calc.719 C1 stateStr:processing calcReq:1
2014.09.20 12:55:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:55:03 5: PID20 PID_Mischer1H: Notify.232 check event:<temperature: 24.8
>
2014.09.20 12:55:03 5: PID20 PID_Mischer1H: Notify.247 Diff: delta[0.20] - deltaOld[0.20]= Diff[0.00]
2014.09.20 12:55:03 5: PID20 PID_Mischer1H: Notify.258 tsDiff: tsDiff = 30.1691429615021
2014.09.20 12:55:03 5: PID20 PID_Mischer1H: Notify.267 deltaGradient: (Diff[]/tsDiff[30.17]=deltaGradient per sec []
2014.09.20 12:55:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:55:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 24.8
>
2014.09.20 12:55:03 4: PID20 PID_Mischer1H: Notify.225 check 1 readings for temperature
2014.09.20 12:55:03 5: PID20 PID_Mischer1H: Notify.232 check event:<24.8
>
2014.09.20 12:55:03 4: PID20 PID_Mischer1H: Notify.225 check 2 readings for temperature
2014.09.20 12:55:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T:: 24.8
>
2014.09.20 12:55:03 5: PID20 PID_Mischer1H: Notify.232 check event:<T: 24.8
>
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.494 --------------------------
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.495 S1 sensorStr:24.8
sensorTS:2014-09-20 12:55:03
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.506 S2 timeOfDay:1411210504.84265 timeDiff:1.8423490524292 sensorTimeout:3600 --> sensorIsAlive:1
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.522 25.0
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.572 P1 delta:0.20 isWindup:
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.576 P2 pPortion:0.80 iPortion:25.02 dPortion:0.00 actuationCalc:25.82
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.614 A1 act:26 actDone:25  actThreshold:2 actDiff:1
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.638 A2 rsTS: rsUp: rsDown: noTrouble:1
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.644 A3 actTS:2014-09-20 12:52:03 actTimeDiff:181.86 actInterval:15-->actByTime:1
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.663 A4 (actByTh: && actByTime:1)||actKeepAlive:||rsLimit:=actnReq:
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.693 U1 actReq: updateAlive: -->  updateReq:
2014.09.20 12:55:04 2: PID20 PID_Mischer1H: Calc.719 C1 stateStr:processing calcReq:1
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.
Use of uninitialized value $d in hash element at fhem.pl line 3281.
Use of uninitialized value $d in hash element at fhem.pl line 3301.
Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
Use of uninitialized value $dev in hash element at fhem.pl line 3194.

FHEM5.7@RaspPi.1: HMLAN,HM-CC-RT-DN,HM-LC-Sw1+SW2,HM-LC-BI1PBU-FM,HM-CC-RT-DN,HM-CC-TC, HM-TC-IT-WM-W-EU,HM-RC-8,HM-WDS100-C6-O,HM-Sen-MDIR-O,FBDECT, USB to OneWire + 2xRelay Card 8-fach mit DS2408 (Denkovi), 13xDS18B20

martinbaumert

Hallo John,

leider bin ich noch nicht so ganz lange Dabei und weiß nicht genau wie ein "Eventlog" zu VL_Mischer1 angelegt wird. Ich bitte um Unterstützung.

Danke

Martin
FHEM5.7@RaspPi.1: HMLAN,HM-CC-RT-DN,HM-LC-Sw1+SW2,HM-LC-BI1PBU-FM,HM-CC-RT-DN,HM-CC-TC, HM-TC-IT-WM-W-EU,HM-RC-8,HM-WDS100-C6-O,HM-Sen-MDIR-O,FBDECT, USB to OneWire + 2xRelay Card 8-fach mit DS2408 (Denkovi), 13xDS18B20

John

Hallo Martin,
kein Problem.

In der Web-Oberfläche von FHEM findest du den Menü-Punkt "Event Monitor", den musst du anklicken und einfach warten,
solange, bis die Events zum entsprechenden Device auftauchen.

John
CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP

martinbaumert

Hallo John,

ich glaube das benötigen wir jetzt nicht mehr. Ich war mir eigentlich sicher, dass die Sache schon einmal ohne Probleme lief. Ich habe jetzt noch etwas Neues, was ggf. zur Problemlösung beitragen könnte.

Zeitlicher Ablauf.
- Mein Fehler, wenn man nicht immer auf dem Laufenden, mit dem Ende von FHEM auf der Fritzbox ist. :(

- Ursprünglich, da ich generell Update, hatte ich bereits OS 6.20 auf meiner Box. Problem FHEM starte nicht mehr. Auch zuvor ist mir dieses Problem aufgefallen, dass ich es immer wieder von Hand starten
  musste. Poblemlösung aufgeschoben da Zeitmangel. >:( Jetzt musste ich mir Zeit nehmen.

- Da jedoch der Winter naht und bei uns die Heizungsregelung über die Anlage läuft. Wieder zurück auf 6.04 mit Grundinstallation von FHEM, update etc. und aufspielen der benötigen Module und
  Startdateien.  Glücklicherweise sichere ich von Zeit zu Zeit alles.

- In dieser Konfiguration treten diese Fehlermeldungen auf.

- Gestern Abend habe ich überlegt und es getan. FRITZ!OS 06.10-28634 BETA aufgespielt. Musste jedoch wieder von Hand FHEM starten.  :'( - Jedoch keine Fehlermeldungen mehr in der LOG-Datein :) ???

Ich würde jetzt gerne diesen Stand behalten, wenn man es Einrichten kann, das FHEM wieder automatisch starte.

Martin

FHEM5.7@RaspPi.1: HMLAN,HM-CC-RT-DN,HM-LC-Sw1+SW2,HM-LC-BI1PBU-FM,HM-CC-RT-DN,HM-CC-TC, HM-TC-IT-WM-W-EU,HM-RC-8,HM-WDS100-C6-O,HM-Sen-MDIR-O,FBDECT, USB to OneWire + 2xRelay Card 8-fach mit DS2408 (Denkovi), 13xDS18B20

gero

Hallo John,

ich bekomme bei meinem System (raspberry mit aktuellem rasbian und aktualisiertem fhem) dieselben Fehlermeldungen:

Zitat2014.10.15 10:26:29 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3328.
2014.10.15 10:26:29 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3348.
2014.10.15 10:26:29 1: PERL WARNING: Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
2014.10.15 10:26:29 1: PERL WARNING: Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
2014.10.15 10:26:29 1: PERL WARNING: Use of uninitialized value $dev in hash element at fhem.pl line 3241.

Hier der Auszug aus dem Logfile:
Zitat2014.10.15 10:24:29 4: HTTP FHEMWEB:127.0.0.1:34870 GET /fhem&detail=DG.BZ.MAX.HT.pid&detail=DG.BZ.MAX.HT.pid&dev.setDG.BZ.MAX.HT.pid=DG.BZ.MAX.HT.pid&cmd.setDG.BZ.MAX.HT.pid=set&arg.setDG.BZ.MAX.HT.pid=stop
2014.10.15 10:24:29 5: Cmd: >set DG.BZ.MAX.HT.pid stop<
2014.10.15 10:24:29 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3328.
2014.10.15 10:24:29 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3348.
2014.10.15 10:24:29 1: PERL WARNING: Use of uninitialized value $reading in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
2014.10.15 10:24:29 1: PERL WARNING: Use of uninitialized value $sensor in concatenation (.) or string at ./FHEM/98_PID20.pm line 496.
2014.10.15 10:24:29 1: PERL WARNING: Use of uninitialized value $dev in hash element at fhem.pl line 3241.
2014.10.15 10:24:29 5: Triggering DG.BZ.MAX.HT.pid (1 changes)
2014.10.15 10:24:29 5: Notify loop for DG.BZ.MAX.HT.pid stop
2014.10.15 10:24:29 4: eventTypes: PID20 DG.BZ.MAX.HT.pid stop -> stop


Das Problem scheint zu entstehen, wenn man einen PID20 Regler stopped. Danach gibt es zyklisch im 1 Minuten Takt diese Fehlermeldung. Auch ein anschließendes start behebt das Problem nicht. Nur ein Neustart von FHEM bringt abhilfe. Bei Bedarf kann ich gerne Logs und Infos nachliefern.

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

gero

Ich habe mir den Code jetzt mal etwas angesehen. Meiner Meinung ist in der Funktion PID20_Set der Aufruf PID20_Calc($hash) falsch. Die Funktion erwartet den Namen als Parameter und holt sich den hash selbständig.
Mein korrigierter Code sieht wie folgt aus:
Zitatwhen ("stop") 
      {
         return "Set stop needs a <value> parameter"
           if ( @a != 2 );
         $hash->{helper}{stopped} =1;
#         PID20_Calc($hash);
         PID20_Calc($name);
      }

Bei mir scheint es nach der Änderung zu funktionieren. (Aber vielleicht liege ich auch falsch.)

Gruß,
Gero
Odroid C1 - CULV3-868, JeeLink
16 x TX 29 DTH
MAX!: 15x Heizkörperthermostat+, 2x Wandthermostat, 14x Fenserkontakt, 1x Ecotaster
FS20 S4A, FS20IRF, BSB-Heizungssteuerung über Atmega2560
Z-Wave: ZME_UZB1, Fibaro Wall Plug + Motion Sensor

John

Hallo Gero,

du liegst richtig, das ist ein BUG und deine Lösung ist der korrekte FIX.

John

CubieTruck Docker Node-Red Tasmota Shelly Homematic-IP