Hallo zusammen,
für meine Heizungssteuerung verwende ich einen Slider, um die gewünschte Temperatur (tempSollKomfort) einzustellen. Das funktioniert auch soweit; auch wenn der Wert über andere Wege (KNX) geändert wird, springt der Slider erstmal auf den neuen Wert.
Mein Problem ist jetzt, dass der Slider nicht auf diesem Wert bleibt, sondern bei jeder Änderung irgendeines Readings den Wert von "state" annimmt.
Was mach ich falsch?
defmod 24RTR KNX 4/1/240:dpt9.001:tempSollKomfort:set 4/1/241:dpt9.001:tempIstRaum:listenonly 4/1/242:dpt9.001:tempIstBoden:listenonly 4/2/241:dpt1.001:sperren 4/2/242:dpt20.102:baVorwahl:set 4/2/243:dpt9.001:swVerschiebung:listenonly 4/2/245:dpt1.002:betrKomfort 4/2/246:dpt1.002:betrNacht 4/2/247:dpt1.002:betrFrost 4/2/249:dpt1.002:zwangstellung 4/4/241:dpt5.001:statusStellwert:get 4/4/242:dpt20.102:HVACStatus:get 4/4/243:dpt20.102:RHCCStatus:get 4/4/244:dpt9.001:aktSollwert:get
attr 24RTR IODev tul
attr 24RTR devStateIcon { "<div align=left>" . FW_makeImage("temp_temperature") . ReadingsVal($name,"tempIstRaum-get",0) . "<br/>" . FW_makeImage("sani_floor_heating") . " ". ReadingsVal($name,"tempIstBoden-set",0) . "<br/>" . "soll: ". ReadingsVal($name,"aktSollwert-get",0) . " | Stellwert: ". ReadingsVal($name,"statusStellwert-get",0) . "</div>" }
attr 24RTR group RTR
attr 24RTR room Heizung,OG->Gast
attr 24RTR webCmd tempSollKomfort
attr 24RTR widgetOverride tempSollKomfort:slider,0,0.5,255
Der Wertebereich des Sliders ist gerade nur deswegen so groß, damit ich meine obige Behauptung besser beobachten konnte 8)
Vielen Dank für sachdienliche Hinweise :)
Hi,
Ändere die definition von:
defmod 24RTR KNX 4/1/240:dpt9.001:tempSollKomfort:set 4/1/241:.....
auf:
defmod 24RTR KNX 4/1/240:dpt9.001:tempSollKomfort:set:nosuffix 4/1/241:.....
l.g erwin
PS: mit einem list <device> wärs einfacher!
Hallo Erwin,
vielen Dank - scheint zu funktionieren.
Ich versuch jetzt grad noch zu verstehen, wieso das so ist. Meine Erklärung wäre, dass es vorher kein Reading "tempSollKomfort" gab und der Slider deshalb auf alle Readings reagiert. Mit der Änderung gibt's das Reading und der Slider verwendet deshalb nur noch dieses.
Liege ich da halbwegs richtig? Man will ja was lernen 8)
Und deshalb der Vollständigkeit halber die Ausgabe von list 24RTR :)
Internals:
DEF 4/1/240:dpt9.001:tempSollKomfort:set:nosuffix 4/1/241:dpt9.001:tempIstRaum 4/1/242:dpt9.001:tempIstBoden 4/2/241:dpt1.001:sperren 4/2/242:dpt20.102:baVorwahl:set 4/2/243:dpt9.001:swVerschiebung:listenonly 4/2/245:dpt1.002:betrKomfort 4/2/246:dpt1.002:betrNacht 4/2/247:dpt1.002:betrFrost 4/2/249:dpt1.002:zwangstellung 4/4/241:dpt5.001:statusStellwert:get 4/4/242:dpt20.102:HVACStatus:get 4/4/243:dpt20.102:RHCCStatus:get 4/4/244:dpt9.001:aktSollwert:get
DEVNAME 24RTR
FIRSTGADNAME tempSollKomfort
FUUID 5f72bfcc-f33f-46a8-2eb8-03ff48c8be7956c6
GETSTRING RHCCStatus:noArg betrFrost:noArg betrNacht:noArg betrKomfort:noArg HVACStatus:noArg sperren:noArg statusStellwert:noArg tempIstBoden:noArg tempIstRaum:noArg zwangstellung:noArg aktSollwert:noArg
IODev tul
LASTInputDev tul
MSGCNT 4823
NAME 24RTR
NR 125
SETSTRING betrFrost:false,true betrNacht:false,true betrKomfort:false,true sperren:on,off,toggle tempSollKomfort:slider,-274,6710,670760 tempIstBoden:slider,-274,6710,670760 tempIstRaum:slider,-274,6710,670760 baVorwahl:Auto,Comfort,Standby,Economy,Protection zwangstellung:false,true
STATE 30 %
TYPE KNX
model dpt9
tul_MSGCNT 4823
tul_RAWMSG C01136w044f14d
tul_TIME 2023-02-12 18:54:04
GADDETAILS:
HVACStatus:
CODE 044f2
GROUP 4/4/242
MODEL dpt20.102
NO 12
OPTION get
RDNAMEGET HVACStatus-get
RDNAMEPUT HVACStatus-put
RDNAMESET HVACStatus-set
SETLIST :Auto,Comfort,Standby,Economy,Protection
RHCCStatus:
CODE 044f3
GROUP 4/4/243
MODEL dpt20.102
NO 13
OPTION get
RDNAMEGET RHCCStatus-get
RDNAMEPUT RHCCStatus-put
RDNAMESET RHCCStatus-set
SETLIST :Auto,Comfort,Standby,Economy,Protection
aktSollwert:
CODE 044f4
GROUP 4/4/244
MODEL dpt9.001
NO 14
OPTION get
RDNAMEGET aktSollwert-get
RDNAMEPUT aktSollwert-put
RDNAMESET aktSollwert-set
SETLIST :slider,-274,6710,670760
baVorwahl:
CODE 042f2
GROUP 4/2/242
MODEL dpt20.102
NO 5
OPTION set
RDNAMEGET baVorwahl-get
RDNAMEPUT baVorwahl-put
RDNAMESET baVorwahl-set
SETLIST :Auto,Comfort,Standby,Economy,Protection
betrFrost:
CODE 042f7
GROUP 4/2/247
MODEL dpt1.002
NO 9
OPTION
RDNAMEGET betrFrost-get
RDNAMEPUT betrFrost-put
RDNAMESET betrFrost-set
SETLIST :false,true
betrKomfort:
CODE 042f5
GROUP 4/2/245
MODEL dpt1.002
NO 7
OPTION
RDNAMEGET betrKomfort-get
RDNAMEPUT betrKomfort-put
RDNAMESET betrKomfort-set
SETLIST :false,true
betrNacht:
CODE 042f6
GROUP 4/2/246
MODEL dpt1.002
NO 8
OPTION
RDNAMEGET betrNacht-get
RDNAMEPUT betrNacht-put
RDNAMESET betrNacht-set
SETLIST :false,true
sperren:
CODE 042f1
GROUP 4/2/241
MODEL dpt1.001
NO 4
OPTION
RDNAMEGET sperren-get
RDNAMEPUT sperren-put
RDNAMESET sperren-set
SETLIST :on,off,toggle
statusStellwert:
CODE 044f1
GROUP 4/4/241
MODEL dpt5.001
NO 11
OPTION get
RDNAMEGET statusStellwert-get
RDNAMEPUT statusStellwert-put
RDNAMESET statusStellwert-set
SETLIST :slider,0,1,100
swVerschiebung:
CODE 042f3
GROUP 4/2/243
MODEL dpt9.001
NO 6
OPTION listenonly
RDNAMEGET swVerschiebung-get
RDNAMEPUT swVerschiebung-put
RDNAMESET swVerschiebung-set
SETLIST :slider,-274,6710,670760
tempIstBoden:
CODE 041f2
GROUP 4/1/242
MODEL dpt9.001
NO 3
OPTION
RDNAMEGET tempIstBoden-get
RDNAMEPUT tempIstBoden-put
RDNAMESET tempIstBoden-set
SETLIST :slider,-274,6710,670760
tempIstRaum:
CODE 041f1
GROUP 4/1/241
MODEL dpt9.001
NO 2
OPTION
RDNAMEGET tempIstRaum-get
RDNAMEPUT tempIstRaum-put
RDNAMESET tempIstRaum-set
SETLIST :slider,-274,6710,670760
tempSollKomfort:
CODE 041f0
GROUP 4/1/240
MODEL dpt9.001
NO 1
OPTION set
RDNAMEGET tempSollKomfort
RDNAMEPUT tempSollKomfort
RDNAMESET tempSollKomfort
SETLIST :slider,-274,6710,670760
zwangstellung:
CODE 042f9
GROUP 4/2/249
MODEL dpt1.002
NO 10
OPTION
RDNAMEGET zwangstellung-get
RDNAMEPUT zwangstellung-put
RDNAMESET zwangstellung-set
SETLIST :false,true
GADTABLE:
041f0 tempSollKomfort
041f1 tempIstRaum
041f2 tempIstBoden
042f1 sperren
042f2 baVorwahl
042f3 swVerschiebung
042f5 betrKomfort
042f6 betrNacht
042f7 betrFrost
042f9 zwangstellung
044f1 statusStellwert
044f2 HVACStatus
044f3 RHCCStatus
044f4 aktSollwert
OLDREADINGS:
READINGS:
2023-02-12 18:53:44 HVACStatus-get reserved
2023-02-12 18:20:03 IODev tul
2023-02-11 15:38:43 RHCCStatus-get Auto
2023-02-12 18:53:44 aktSollwert-get 22.00 °C
2023-02-11 15:38:43 betrFrost-get false
2023-02-11 15:38:43 betrKomfort-get true
2023-02-12 18:53:43 betrKomfort-set true
2023-02-11 15:38:43 betrNacht-get false
2023-02-11 15:38:43 betrNacht-set false
2023-02-12 18:54:04 last-sender 1.1.54
2023-02-12 18:54:04 state 30 %
2023-02-12 18:54:04 statusStellwert-get 30 %
2023-02-11 15:38:43 swVerschiebung-get 0.00 °C
2023-02-12 18:43:56 tempIstRaum-get 20.50 °C
2023-02-12 18:52:45 tempSollKomfort 22 °C
2023-02-11 15:38:43 tempSollKomfort-get 23.00 °C
2023-02-12 02:48:18 tempSollKomfort-set 19 °C
Attributes:
IODev tul
devStateIcon {"<div align=left>".FW_makeImage("temp_temperature").ReadingsVal($name,"tempIstRaum-get",0)."<br/>"."soll: ".ReadingsVal($name,"aktSollwert-get",0)." | Stellwert: ".ReadingsVal($name,"statusStellwert-get",0)."</div>"}
group RTR
room Heizung,OG->Gast
webCmd tempSollKomfort
widgetOverride tempSollKomfort:slider,18,0.5,25
ZitatLiege ich da halbwegs richtig?
Ja völlig 8) , das ist auch nicht KNX-spezifisch,
das Attr widgetoverride will (als ersten Param) einen "set-Namen".... den aktuellen Wert holt es sich aus einem gleichnamigen reading (falls es eines gibt...)
Sorry, ich war am Nachmittag kurz, weil unterwegs...
l.g. erwin
PS: du kannst jetzt die readings tempSollKomfort-get/set löschen, , diese werden nicht mehr verwendet!
PS2: wann hast du das letzte mal ein update gemacht? Das reading für dpt9.001 schaut mittlerweile so aus:
11.87 °C