Moin Moin,
ich würde gerne meine bisherige DOIF-basierende Lösung zur Steuerung meines Mischermotors für den FB-Kreis auf PID20 umstellen.
Dazu habe ich die folgende Definition verwendet:
Internals:
CFGFN
DEF EG.Heizung.Mischer.Vorlauf:temperature.avg EG.HWR.Fussbodenmischer
NAME PID_MischerCommands
NR 75899
NTFY_ORDER 50-PID_MischerCommands
STATE processing
TYPE PID20
VERSION 1.0.0.9
Readings:
2017-02-17 11:11:10 actuation 30
2017-02-17 11:11:10 actuationCalc 29.9645
2017-02-17 11:11:10 delta 1.133
2017-02-17 11:11:10 desired 30
2017-02-17 11:11:10 measured 28.867
2017-02-17 11:11:10 p_d 0
2017-02-17 11:11:10 p_i 1.6395
2017-02-17 11:11:10 p_p 28.325
2017-02-17 11:11:10 state processing
Helper:
actor EG.HWR.Fussbodenmischer
actorCommand
actorErrorAction errorPos
actorErrorPos 0
actorInterval 40
actorKeepAlive 1800
actorLimitLower 0
actorLimitUpper 100
actorThreshold 1
actorTimestamp 2017-02-17 11:11:10
actorValueDecPlaces 0
adjust
calcInterval 60
deltaGradient 0.00603217367605127
deltaOld 1.404
deltaOldTS 2017-02-17 11:11:42
deltaTreshold 0
desiredName desired
disable 0
factor_D 0
factor_I 0.25
factor_P 25
isWindUP
measuredName measured
reading temperature.avg
regexp ^([\+,\-]?\d+\.?\d*$)
reverseAction 0
sensor EG.Heizung.Mischer.Vorlauf
sensorTimeout 3600
stopped 0
updateInterval 600
Attributes:
pidActorErrorAction errorPos
pidActorErrorPos 0
pidActorInterval 40
pidActorValueDecPlaces 0
room EG.HWR
verbose 5
Dabei sind:
- EG.Heizung.Mischer.Vorlauf:temperature.avg: gleitender Mittelwert über die Vorlauftemperatur des Mischers
- EG.HWR.Fussbodenmischer Mischeransteuerung über das STELLMOTOR-Modul
Laut https://fhem.de/commandref.html#PID20 sollte jedoch der Aktor ein Reading haben:
<actor:cmd >, ich verwende nur <actor>, das das STELLMOTOR-Modul mit
set EG.HWR.Fussbodenmischer <position>
arbeitet, d.h. nur ein Argument möchte.
Leider funktioniert dies nicht wie gewünscht (und es liegt bestimmt an mir): Laut Logfile:
2017-02-17_10:38:38 PID_MischerCommands desired: 30
2017-02-17_10:38:38 PID_MischerCommands measured: 27.267
2017-02-17_10:38:38 PID_MischerCommands p_p: 68.325
2017-02-17_10:38:38 PID_MischerCommands p_d: 0
2017-02-17_10:38:38 PID_MischerCommands p_i: 1.34475
2017-02-17_10:38:38 PID_MischerCommands actuation: 67
2017-02-17_10:38:38 PID_MischerCommands actuationCalc: 69.66975
2017-02-17_10:38:38 PID_MischerCommands delta: 2.733
2017-02-17_10:38:38 PID_MischerCommands processing
2017-02-17_10:39:38 PID_MischerCommands desired: 30
2017-02-17_10:39:38 PID_MischerCommands measured: 27.512
2017-02-17_10:39:38 PID_MischerCommands p_p: 62.2
2017-02-17_10:39:38 PID_MischerCommands p_d: 0
2017-02-17_10:39:38 PID_MischerCommands p_i: 1.96675
2017-02-17_10:39:38 PID_MischerCommands actuation: 64
2017-02-17_10:39:38 PID_MischerCommands actuationCalc: 64.16675
2017-02-17_10:39:38 PID_MischerCommands delta: 2.488
2017-02-17_10:39:38 PID_MischerCommands processing
2017-02-17_10:40:38 PID_MischerCommands desired: 30
2017-02-17_10:40:38 PID_MischerCommands measured: 29.967
2017-02-17_10:40:38 PID_MischerCommands p_p: 0.825000000000031
2017-02-17_10:40:38 PID_MischerCommands p_d: 0
2017-02-17_10:40:38 PID_MischerCommands p_i: 1.975
2017-02-17_10:40:38 PID_MischerCommands actuation: 64
2017-02-17_10:40:38 PID_MischerCommands actuationCalc: 2.80000000000003
2017-02-17_10:40:38 PID_MischerCommands delta: 0.0330000000000013
2017-02-17_10:40:38 PID_MischerCommands processing
2017-02-17_10:41:39 PID_MischerCommands desired: 30
2017-02-17_10:41:39 PID_MischerCommands measured: 33.075
2017-02-17_10:41:39 PID_MischerCommands p_p: -76.8750000000001
2017-02-17_10:41:39 PID_MischerCommands p_d: 0
2017-02-17_10:41:39 PID_MischerCommands p_i: 1.20625
2017-02-17_10:41:39 PID_MischerCommands actuation: 0
2017-02-17_10:41:39 PID_MischerCommands actuationCalc: -75.6687500000001
2017-02-17_10:41:39 PID_MischerCommands delta: -3.075
2017-02-17_10:41:39 PID_MischerCommands processing
2017-02-17_10:42:40 PID_MischerCommands desired: 30
2017-02-17_10:42:40 PID_MischerCommands measured: 36.283
2017-02-17_10:42:40 PID_MischerCommands p_p: -157.075
2017-02-17_10:42:40 PID_MischerCommands p_d: 0
2017-02-17_10:42:40 PID_MischerCommands p_i: 1.20625
2017-02-17_10:42:40 PID_MischerCommands actuation: 0
2017-02-17_10:42:40 PID_MischerCommands actuationCalc: -155.86875
2017-02-17_10:42:40 PID_MischerCommands delta: -6.283
2017-02-17_10:42:40 PID_MischerCommands processing
2017-02-17_10:43:41 PID_MischerCommands desired: 30
2017-02-17_10:43:41 PID_MischerCommands measured: 39.404
2017-02-17_10:43:41 PID_MischerCommands p_p: -235.1
2017-02-17_10:43:41 PID_MischerCommands p_d: 0
2017-02-17_10:43:41 PID_MischerCommands p_i: 1.20625
2017-02-17_10:43:41 PID_MischerCommands actuation: 0
2017-02-17_10:43:41 PID_MischerCommands actuationCalc: -233.89375
2017-02-17_10:43:41 PID_MischerCommands delta: -9.404
2017-02-17_10:43:41 PID_MischerCommands processing
2017-02-17_10:44:43 PID_MischerCommands desired: 30
2017-02-17_10:44:43 PID_MischerCommands measured: 41.967
2017-02-17_10:44:43 PID_MischerCommands p_p: -299.175
2017-02-17_10:44:43 PID_MischerCommands p_d: 0
2017-02-17_10:44:43 PID_MischerCommands p_i: 1.20625
2017-02-17_10:44:43 PID_MischerCommands actuation: 0
2017-02-17_10:44:43 PID_MischerCommands actuationCalc: -297.96875
2017-02-17_10:44:43 PID_MischerCommands delta: -11.967
2017-02-17_10:44:43 PID_MischerCommands processing
2017-02-17_10:45:44 PID_MischerCommands desired: 30
2017-02-17_10:45:44 PID_MischerCommands measured: 42.212
2017-02-17_10:45:44 PID_MischerCommands p_p: -305.3
2017-02-17_10:45:44 PID_MischerCommands p_d: 0
2017-02-17_10:45:44 PID_MischerCommands p_i: 1.20625
2017-02-17_10:45:44 PID_MischerCommands actuation: 0
2017-02-17_10:45:44 PID_MischerCommands actuationCalc: -304.09375
2017-02-17_10:45:44 PID_MischerCommands delta: -12.212
2017-02-17_10:45:44 PID_MischerCommands processing
2017-02-17_10:46:46 PID_MischerCommands desired: 30
2017-02-17_10:46:46 PID_MischerCommands measured: 41.783
2017-02-17_10:46:46 PID_MischerCommands p_p: -294.575
2017-02-17_10:46:46 PID_MischerCommands p_d: 0
2017-02-17_10:46:46 PID_MischerCommands p_i: 1.20625
2017-02-17_10:46:46 PID_MischerCommands actuation: 0
2017-02-17_10:46:46 PID_MischerCommands actuationCalc: -293.36875
2017-02-17_10:46:46 PID_MischerCommands delta: -11.783
2017-02-17_10:46:46 PID_MischerCommands processing
2017-02-17_10:47:47 PID_MischerCommands desired: 30
2017-02-17_10:47:47 PID_MischerCommands measured: 41.371
2017-02-17_10:47:47 PID_MischerCommands p_p: -284.275
2017-02-17_10:47:47 PID_MischerCommands p_d: 0
2017-02-17_10:47:47 PID_MischerCommands p_i: 1.20625
2017-02-17_10:47:47 PID_MischerCommands actuation: 0
2017-02-17_10:47:47 PID_MischerCommands actuationCalc: -283.06875
2017-02-17_10:47:47 PID_MischerCommands delta: -11.371
2017-02-17_10:47:48 PID_MischerCommands processing
2017-02-17_10:48:48 PID_MischerCommands desired: 30
2017-02-17_10:48:48 PID_MischerCommands measured: 41.508
2017-02-17_10:48:48 PID_MischerCommands p_p: -287.7
2017-02-17_10:48:48 PID_MischerCommands p_d: 0
2017-02-17_10:48:48 PID_MischerCommands p_i: 1.20625
2017-02-17_10:48:48 PID_MischerCommands actuation: 0
2017-02-17_10:48:48 PID_MischerCommands actuationCalc: -286.49375
2017-02-17_10:48:48 PID_MischerCommands delta: -11.508
2017-02-17_10:48:48 PID_MischerCommands processing
2017-02-17_10:49:48 PID_MischerCommands desired: 30
2017-02-17_10:49:48 PID_MischerCommands measured: 42.171
2017-02-17_10:49:48 PID_MischerCommands p_p: -304.275
2017-02-17_10:49:48 PID_MischerCommands p_d: 0
2017-02-17_10:49:48 PID_MischerCommands p_i: 1.20625
2017-02-17_10:49:48 PID_MischerCommands actuation: 0
2017-02-17_10:49:48 PID_MischerCommands actuationCalc: -303.06875
2017-02-17_10:49:48 PID_MischerCommands delta: -12.171
2017-02-17_10:49:48 PID_MischerCommands processing
2017-02-17_10:50:49 PID_MischerCommands desired: 30
2017-02-17_10:50:49 PID_MischerCommands measured: 43.204
2017-02-17_10:50:49 PID_MischerCommands p_p: -330.1
2017-02-17_10:50:49 PID_MischerCommands p_d: 0
2017-02-17_10:50:49 PID_MischerCommands p_i: 1.20625
2017-02-17_10:50:49 PID_MischerCommands actuation: 0
2017-02-17_10:50:49 PID_MischerCommands actuationCalc: -328.89375
2017-02-17_10:50:49 PID_MischerCommands delta: -13.204
2017-02-17_10:50:49 PID_MischerCommands processing
2017-02-17_10:51:50 PID_MischerCommands desired: 30
2017-02-17_10:51:50 PID_MischerCommands measured: 44.442
2017-02-17_10:51:50 PID_MischerCommands p_p: -361.05
2017-02-17_10:51:50 PID_MischerCommands p_d: 0
2017-02-17_10:51:50 PID_MischerCommands p_i: 1.20625
2017-02-17_10:51:50 PID_MischerCommands actuation: 0
2017-02-17_10:51:50 PID_MischerCommands actuationCalc: -359.84375
2017-02-17_10:51:50 PID_MischerCommands delta: -14.442
2017-02-17_10:51:50 PID_MischerCommands processing
2017-02-17_10:52:51 PID_MischerCommands desired: 30
2017-02-17_10:52:51 PID_MischerCommands measured: 45.587
2017-02-17_10:52:51 PID_MischerCommands p_p: -389.675
2017-02-17_10:52:51 PID_MischerCommands p_d: 0
2017-02-17_10:52:51 PID_MischerCommands p_i: 1.20625
2017-02-17_10:52:51 PID_MischerCommands actuation: 0
2017-02-17_10:52:51 PID_MischerCommands actuationCalc: -388.46875
2017-02-17_10:52:51 PID_MischerCommands delta: -15.587
2017-02-17_10:52:51 PID_MischerCommands processing
2017-02-17_10:53:52 PID_MischerCommands desired: 30
2017-02-17_10:53:52 PID_MischerCommands measured: 46.263
2017-02-17_10:53:52 PID_MischerCommands p_p: -406.575
2017-02-17_10:53:52 PID_MischerCommands p_d: 0
2017-02-17_10:53:52 PID_MischerCommands p_i: 1.20625
2017-02-17_10:53:52 PID_MischerCommands actuation: 0
2017-02-17_10:53:52 PID_MischerCommands actuationCalc: -405.36875
2017-02-17_10:53:52 PID_MischerCommands delta: -16.263
2017-02-17_10:53:52 PID_MischerCommands processing
2017-02-17_10:54:53 PID_MischerCommands desired: 30
2017-02-17_10:54:53 PID_MischerCommands measured: 45.737
2017-02-17_10:54:53 PID_MischerCommands p_p: -393.425
2017-02-17_10:54:53 PID_MischerCommands p_d: 0
2017-02-17_10:54:53 PID_MischerCommands p_i: 1.20625
2017-02-17_10:54:53 PID_MischerCommands actuation: 0
2017-02-17_10:54:53 PID_MischerCommands actuationCalc: -392.21875
2017-02-17_10:54:53 PID_MischerCommands delta: -15.737
2017-02-17_10:54:53 PID_MischerCommands processing
2017-02-17_10:55:54 PID_MischerCommands desired: 30
2017-02-17_10:55:54 PID_MischerCommands measured: 45.038
2017-02-17_10:55:54 PID_MischerCommands p_p: -375.95
2017-02-17_10:55:54 PID_MischerCommands p_d: 0
2017-02-17_10:55:54 PID_MischerCommands p_i: 1.20625
2017-02-17_10:55:54 PID_MischerCommands actuation: 0
2017-02-17_10:55:54 PID_MischerCommands actuationCalc: -374.74375
2017-02-17_10:55:54 PID_MischerCommands delta: -15.038
2017-02-17_10:55:54 PID_MischerCommands processing
2017-02-17_10:56:55 PID_MischerCommands desired: 30
2017-02-17_10:56:55 PID_MischerCommands measured: 43.633
2017-02-17_10:56:55 PID_MischerCommands p_p: -340.825
2017-02-17_10:56:55 PID_MischerCommands p_d: 0
2017-02-17_10:56:55 PID_MischerCommands p_i: 1.20625
2017-02-17_10:56:55 PID_MischerCommands actuation: 0
2017-02-17_10:56:55 PID_MischerCommands actuationCalc: -339.61875
2017-02-17_10:56:55 PID_MischerCommands delta: -13.633
2017-02-17_10:56:55 PID_MischerCommands processing
2017-02-17_10:57:57 PID_MischerCommands desired: 30
2017-02-17_10:57:57 PID_MischerCommands measured: 41.883
2017-02-17_10:57:57 PID_MischerCommands p_p: -297.075
2017-02-17_10:57:57 PID_MischerCommands p_d: 0
2017-02-17_10:57:57 PID_MischerCommands p_i: 1.20625
2017-02-17_10:57:57 PID_MischerCommands actuation: 0
2017-02-17_10:57:57 PID_MischerCommands actuationCalc: -295.86875
2017-02-17_10:57:57 PID_MischerCommands delta: -11.883
2017-02-17_10:57:57 PID_MischerCommands processing
2017-02-17_10:58:58 PID_MischerCommands desired: 30
2017-02-17_10:58:58 PID_MischerCommands measured: 39.967
2017-02-17_10:58:58 PID_MischerCommands p_p: -249.175
2017-02-17_10:58:58 PID_MischerCommands p_d: 0
2017-02-17_10:58:58 PID_MischerCommands p_i: 1.20625
2017-02-17_10:58:58 PID_MischerCommands actuation: 0
2017-02-17_10:58:58 PID_MischerCommands actuationCalc: -247.96875
2017-02-17_10:58:58 PID_MischerCommands delta: -9.967
2017-02-17_10:58:58 PID_MischerCommands processing
2017-02-17_10:59:58 PID_MischerCommands desired: 30
2017-02-17_10:59:58 PID_MischerCommands measured: 38.767
2017-02-17_10:59:58 PID_MischerCommands p_p: -219.175
2017-02-17_10:59:58 PID_MischerCommands p_d: 0
2017-02-17_10:59:58 PID_MischerCommands p_i: 1.20625
2017-02-17_10:59:58 PID_MischerCommands actuation: 0
2017-02-17_10:59:58 PID_MischerCommands actuationCalc: -217.96875
2017-02-17_10:59:58 PID_MischerCommands delta: -8.767
2017-02-17_10:59:58 PID_MischerCommands processing
2017-02-17_11:00:59 PID_MischerCommands desired: 30
2017-02-17_11:00:59 PID_MischerCommands measured: 38.104
2017-02-17_11:00:59 PID_MischerCommands p_p: -202.6
2017-02-17_11:00:59 PID_MischerCommands p_d: 0
2017-02-17_11:00:59 PID_MischerCommands p_i: 1.20625
2017-02-17_11:00:59 PID_MischerCommands actuation: 0
2017-02-17_11:00:59 PID_MischerCommands actuationCalc: -201.39375
2017-02-17_11:00:59 PID_MischerCommands delta: -8.104
2017-02-17_11:00:59 PID_MischerCommands processing
Ist die Ventil-SOLL-Stellung
actuation lange Zeit auf dem Wert 0, jedoch bleibt der STELLMOTOR und damit der Mischer auf hohen Werten:
017-02-17_10:27:05 EG.HWR.Fussbodenmischer position: 49
2017-02-17_10:30:00 EG.HWR.Fussbodenmischer position: 1 << addLog
2017-02-17_10:35:00 EG.HWR.Fussbodenmischer position: 1 << addLog
2017-02-17_10:37:38 EG.HWR.Fussbodenmischer position: 67
2017-02-17_10:40:00 EG.HWR.Fussbodenmischer position: 63 << addLog
2017-02-17_10:45:00 EG.HWR.Fussbodenmischer position: 63 << addLog
2017-02-17_10:50:00 EG.HWR.Fussbodenmischer position: 63 << addLog
2017-02-17_10:53:04 EG.HWR.Fussbodenmischer position: 44
2017-02-17_10:55:00 EG.HWR.Fussbodenmischer position: 44 << addLog
2017-02-17_10:59:59 EG.HWR.Fussbodenmischer position: 44 << addLog
Bis ich ihn um 10:53 auf 44 setze. Das funktioniert auch prima.
Anscheinend spricht meine Aktor-Definition nur kurz (beim Start Zielwert 67) mit dem STELLMOTOR/Mischer, kann diesen aber nur einmal auf 63 einstellen, obwohl der berechnete Zielwert 0 ist...
Was sollte ich anders machen?
Danke, -MN