Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Stimmt, das haben meine auch. Ich werde vielleicht mal mit einer Delay Funktion versuchen in der Form, dass ich 10 Sek. nach Änderung der Status GA diesen Statuswert auf die Ansteuerungs-GA für den Dimmwert sende. So wäre sichergestellt, dass auch bei Änderung über die 4-bit Funktion der Webserver aktuell wäre.
Der Gira Dimmer schick nachdem die Dimmung abgeschlossen ist nur einmal einen Wert. Also wenn ich an einen Schalter gehe und dimme dann wird nach dem Dimmvorgang der Slider richtig aktualisiert. Ich stelle das Makro heute abend rein.
GAset-> Schreiben auf den Bus (bei Gira 217400 mit Helligkeitswert verbinden)
GAstat-> Lesen vom Bus (Gira Rückmeldung Helligkeitswert)
Code:
:begin SliderDimmerButtonStatus(ID, PageID, GAset, GAstat)
:info $Ein seitenbezogenen Slider(pslider), der einen Dimmer ansteuert. Die GA ist vom Typ u08 (= Prozenttyp). Das Icon wird dem Zustand angepasst. Der Knopf kann gedrückt werden, um ein Toggeln des Wertes zwischen 0 und 100% zu ereichen.$\\
:$ID des psliders$\\
:$SeitenID des psliders$\\
:$Gruppenadresse des Dimmers (Wert)(Prozenttyp (u08))$\\
:$GA des Dimmers (Status)$
:shortinfo $Einen Dimmer mit einem Slider ansteuern - der Knopf kann betätigt werden$
initga(GAstat)
InternDimmer_^ID_^PageID=getpslider(ID,PageID)
// Status bei normaler Busänderung
if delay(change(GAstat),150u64) or systemstart() then InternDimmer_^ID_^PageID=GAstat endif
if pbutton(ID,PageID)==1 and GAstat==0 then write(GAset, 100%) endif
if pbutton(ID,PageID)==1 and GAstat>0 then write(GAset, 0%) endif
if change(InternDimmer_^ID_^PageID) then {
if InternDimmer_^ID_^PageID!=GAstat then {
write(GAset,InternDimmer_^ID_^PageID)
} endif;
if InternDimmer_^ID_^PageID==0 then {
setpslider(ID,InternDimmer_^ID_^PageID,LIGHT,INACTIVE,PageID)
} endif ;
if InternDimmer_^ID_^PageID>=1 and InternDimmer_^ID_^PageID<50 then {
setpslider(ID,InternDimmer_^ID_^PageID,LIGHT,STATE4,PageID)
} endif;
if InternDimmer_^ID_^PageID>=50 and InternDimmer_^ID_^PageID<100 then {
setpslider(ID,InternDimmer_^ID_^PageID,LIGHT,STATE5,PageID)
} endif;
if InternDimmer_^ID_^PageID>=100 and InternDimmer_^ID_^PageID<200 then {
setpslider(ID,InternDimmer_^ID_^PageID,LIGHT,STATE6,PageID)
} endif;
if InternDimmer_^ID_^PageID>=200 then {
setpslider(ID,InternDimmer_^ID_^PageID,LIGHT,ACTIVE,PageID)
} endif
} endif
:end
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar