FHEM Forum

FHEM => Automatisierung => Thema gestartet von: derda am 12 November 2020, 21:18:25

Titel: PID20 Übergabe IST-Wert
Beitrag von: derda am 12 November 2020, 21:18:25
Hallo Forum,

ich bin gerade dabei meine ersten Erfahrung mit dem PID20-Modul zu sammeln. Eigentlich funktioniert dies soweit, bis auf die Übergabe des IST-Werts. Dieser kommt vom einem ext. Sensor DS118 angeschlossen an einen FIBARO FGBS-222. Leider kommt dieser Wert, trotz Angabe des Readings, nicht an. "measured" bleibt 0.

Es wäre super wenn mir hier jemand helfen könnte.

Das wäre meine Definition des PID20:

defmod UG.Lueftung.Heizung.PID PID20 UG.Lueftung.TemperaturZuluft:temperature PIDdummy:valve
attr UG.Lueftung.Heizung.PID event-min-interval actuation:1800,actuationCalc:1800,delta:1800,desired:1800,measured:1800,p_d:1800,p_i:1800,p_p:1800
attr UG.Lueftung.Heizung.PID 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
attr UG.Lueftung.Heizung.PID pidActorInterval 300
attr UG.Lueftung.Heizung.PID pidActorTreshold 5
attr UG.Lueftung.Heizung.PID pidActorValueDecPlaces 0
attr UG.Lueftung.Heizung.PID pidFactor_I 0.2
attr UG.Lueftung.Heizung.PID pidFactor_P 10
attr UG.Lueftung.Heizung.PID room Lueftung
attr UG.Lueftung.Heizung.PID verbose 5

setstate UG.Lueftung.Heizung.PID processing
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 actuation 100
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 actuationCalc 187.2
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 delta 18
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 desired 18
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 measured 0
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 p_d 0
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 p_i 7.2
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 p_p 180
setstate UG.Lueftung.Heizung.PID 2020-11-12 21:15:38 state processing


Das Log zeigt mir hierzu folgendes:
2020.11.12 21:05:35 5: PID20 UG.Lueftung.Heizung.PID: Notify.248 check event:<temperature: 16.0 C>
Titel: Antw:PID20 Übergabe IST-Wert
Beitrag von: Deckoffizier am 13 November 2020, 22:04:53
Hallo derda,

bin gerade etwas in Eile,
aber eventuell musst Du die Maßeinheit(C) bei Deinem Temperaturgeber entfernen.

Stichwort userReading ,readingsProxi oder DOIF mit zusatz d

wie     
([Thermostat_Bad:temperature:d]) DOELSE

Gruß
Hans-Jürgen
Titel: Antw:PID20 Übergabe IST-Wert
Beitrag von: betateilchen am 14 November 2020, 14:41:38
Zitat von: Deckoffizier am 13 November 2020, 22:04:53
bin gerade etwas in Eile,
aber eventuell musst Du...

vermutlich hat diese Antwort wenig bis nichts mit dem Problem eines PID20-devices zu tun...

@derda: entferne zuerst die beiden Attribute event-min-interval und event-on-change, solange es noch nicht so funktioniert, wie es eigentlich sein sollte.

Und dann wäre ein list des devices "UG.Lueftung.TemperaturZuluft" vielleicht hilfreich.

Beobachte doch mal im Event-Monitor, was passiert, wenn der Sensor einen Wert liefert. Am besten machst Du ein Event-Monitor-Fenster auf und setzt den Filter auf das Sensor-device und in einem zweiten Event-Monitor setzt Du den Filter auf das PID20 device
Titel: Antw:PID20 Übergabe IST-Wert
Beitrag von: Deckoffizier am 14 November 2020, 20:40:31
Hallo betateilchen,

Zitatvermutlich hat diese Antwort wenig bis nichts mit dem Problem eines PID20-devices zu tun...

Ich bitte Dich ?......

Also genau das Gleiche hatte ich bei  meinem Sensor(Zwave Magische Auge) Batterie alle und deshalb
den internen Sensor des Zwave Thermostaten(Spirit) für PID20 als Ersatz genommen.
Dieser hat auch das C im Reading temperature.
Habe hierfür extra ein readingsProxy mit user Readings angelegt  für temperature OHNE C
und alles war gut und keine Null(0) mehr.

Ja, event-min-interval ist bei mir etwas kürzer(300) und event-on-change-reading
   
actuation:1,actuationCalc:0.5,delta:0.5,desired,measured:0.5,p_d:0.1,p_i:1.0,p_p:1.0 aber
was macht Dich da so sicher ?

Gruß
Hans-Jürgen