Hallo Jörg,
ich habe die Anmerkung mit dem zyklisch vergleichen nicht verstanden, aber meinst Du sowas?
defmod di_temperatur_WG DOIF ([SensorWG:temperature]>([$SELF:desired]+[$SELF:hysterese]/2) and [?SD1:state] ne "off") \
(set SD1 off) \
DOELSEIF ([SensorWG:temperature]<([$SELF:desired]-[$SELF:hysterese]/2) and [?SD1:state] ne "on") \
(set SD1 on)
attr di_temperatur_WG cmdState off|on
attr di_temperatur_WG readingList desired,hysterese
attr di_temperatur_WG room Wintergarten
attr di_temperatur_WG setList desired:selectnumbers,8,2,18,0,lin hysterese:1,2,5
attr di_temperatur_WG webCmd desired:hysterese
SensorWG ist ein Wandthermometer,
SD1 ist eine Schaltdose die einen Heizlüfter steuert.
Das Ganze ergibt quasi ein Device mit Einstellknöpfen. Eine Zweipunktregelung, die bei elektrischer Raumheizung mit relativ kurzen Verzögerungszeiten normalerweise ganz gutes Verhalten aufweist.
Du kannst natürlich auch die Solltemperatur aus dem Wandthermo auslesen.
Oder willst Du den Wandthermo selbst nutzen und dann schalten wenn er schalten würde? Quasi wie einen virtuellen Aktor? Geht das nicht auch mit einer CCU2/3 (wie immer die in echt aussieht)? Einen virtuellen Channel mit dem Thermo peeren? Dann den virtuellen Channel auswerten?
Gruß Otto