Hallo beinander,
ich habe mir mal ein RTR Makro aus einem anderen Thread geborgt und für mein Z38 geändert. Soweit funktioniert das prima.
Aber warum bekommt das Icon einen sofortigen update, aber der Sollwert nicht. Der Sollwert wird erst nach ein paar Sekunden beim normalen Refresh ausgeführt.
1. Warum geht das beim Icon? Weil ich eine Veränderung erzwinge indem ich Icon_^ID_^PageID=ABSENT setze und danach nochmal einen update drauf mache?
2. Kann ich den Sollwert-Update anders erzwingen?
Merci,
Harry
ich habe mir mal ein RTR Makro aus einem anderen Thread geborgt und für mein Z38 geändert. Soweit funktioniert das prima.
Aber warum bekommt das Icon einen sofortigen update, aber der Sollwert nicht. Der Sollwert wird erst nach ein paar Sekunden beim normalen Refresh ausgeführt.
1. Warum geht das beim Icon? Weil ich eine Veränderung erzwinge indem ich Icon_^ID_^PageID=ABSENT setze und danach nochmal einen update drauf mache?
2. Kann ich den Sollwert-Update anders erzwingen?
Code:
:begin RTR_Z38(PageID,ID,Sollwert,Istwert,Standby,Komfortbetrieb,Nachtbetrieb,Aktiv) :info $Einen Raumtemperaturregler im Webinterface mit einem pshifter ansteuern. Der Raumkontroller wird über die 1-Bit Adresse Komfortbetrieb / Nachtbetrieb gesteuert (Umschaltung in Standby,\\ Komfort, Nachtmodus).Der pshifter sollte folgende Form haben(§ mit Dollarzeichen ersetzen): pshifter(ID)[ABSENT,PRESENT,NIGHT,ABSENT]§Raumkontroller§. $\\ $Page ID des pshifters$ \\ $ID des pshifters$ \\ $GA Sollwert$ \\ $GA Istwert$ \\ $GA Standby$ \\ $GA Komfortbetrieb$ \\ $GA Nachtbetrieb$ \\ $GA Aktiv$ :shortinfo $Raumtemperaturregler_Z38_mit_Statusanzeige$ //System if after(systemstart(),5000u64) then { read(Sollwert); read(Istwert); read(Aktiv) } endif Icon_^ID_^PageID=ABSENT if pbutton(ID,PageID)==1 then { write (Standby, ON); Icon_^ID_^PageID=ABSENT; }endif if pbutton(ID,PageID)==2 then { write (Komfortbetrieb, ON); Icon_^ID_^PageID=PRESENT }endif if pbutton(ID,PageID)==3 then { write (Nachtbetrieb, ON); Icon_^ID_^PageID=NIGHT }endif if change(Icon_^ID_^PageID) then read(Sollwert) endif text_rtr_^ID_^PageID = $ Soll:$+convert(Sollwert,$$)+$°C Ist:$+convert(Istwert,$$)+$°C$ if (change(Icon_^ID_^PageID) or change(Sollwert) or change(Istwert) or change(Aktiv)) and Aktiv==ON then { pdisplay(ID,text_rtr_^ID_^PageID,Icon_^ID_^PageID,BRIGHTRED,GREEN,PageID) } endif if (change(Icon_^ID_^PageID) or change(Sollwert) or change(Istwert) or change(Aktiv)) and Aktiv==OFF then { pdisplay(ID,text_rtr_^ID_^PageID,Icon_^ID_^PageID,ACTIVE,GREEN,PageID) } endif :end
Harry
Kommentar