Nachdem die Anforderung eine 1-10 V Lüftungssteuerung durch den Bus auszuführen immer wieder auftaucht, will ich an dieser Stelle meinen Code posten. Die Schaltung und ein paar weitere Informationen sind in diesem Threat unter #34 zu finden:
https://knx-user-forum.de/gebaeudete...modelle-4.html
[highlight=epc] //Lüftungsstufen
Lueftungsstufe=2
Lueftungsstufe_vorher=2
if event("Lüftung-Erhöhen-1/6/19") then Lueftungsstufe=Lueftungsstufe+1 endif
if Lueftungsstufe>6 then Lueftungsstufe=6 endif
if event("Lüftung-Reduzieren-1/6/16") then Lueftungsstufe=Lueftungsstufe-1 endif
if Lueftungsstufe<1 then Lueftungsstufe=1 endif
if Lueftungsstufe==1 then write ("Lüftung-Schalter-A-1/6/30", AUS); write("Lüftung-Schalter-B-1/6/32", AUS); write("Lüftung-Schalter-C-1/6/34", EIN) endif
if Lueftungsstufe==2 then write ("Lüftung-Schalter-A-1/6/30", AUS); write("Lüftung-Schalter-B-1/6/32", EIN); write("Lüftung-Schalter-C-1/6/34", EIN) endif
if Lueftungsstufe==3 then write ("Lüftung-Schalter-A-1/6/30", AUS); write("Lüftung-Schalter-B-1/6/32", EIN); write("Lüftung-Schalter-C-1/6/34", AUS) endif
if Lueftungsstufe==4 then write ("Lüftung-Schalter-A-1/6/30", EIN); write("Lüftung-Schalter-B-1/6/32", AUS); write("Lüftung-Schalter-C-1/6/34", EIN) endif
if Lueftungsstufe==5 then write ("Lüftung-Schalter-A-1/6/30", EIN); write("Lüftung-Schalter-B-1/6/32", EIN); write("Lüftung-Schalter-C-1/6/34", AUS) endif
if Lueftungsstufe==6 then write ("Lüftung-Schalter-A-1/6/30", EIN); write("Lüftung-Schalter-B-1/6/32", AUS); write("Lüftung-Schalter-C-1/6/34", AUS) endif
if Lueftungsstufe==1 then write ("Lüftung-Status-Min-1/6/17", EIN) endif
if Lueftungsstufe>1 then write ("Lüftung-Status-Min-1/6/17", AUS) endif
if Lueftungsstufe==6 then write ("Lüftung-Status-Max-1/6/18", EIN); write("Lüftung-Intensiv-Status-1/6/21", EIN) endif
if Lueftungsstufe<6 then write ("Lüftung-Status-Max-1/6/18", AUS); write("Lüftung-Intensiv-Status-1/6/21", AUS) endif
//Stosslüften
if "Lüftung-Intensiv-Aktivieren-1/6/20"==EIN then {
Lueftungsstufe_vorher=Lueftungsstufe;
Lueftungsstufe=6
} endif
if delay("Lüftung-Intensiv-Aktivieren-1/6/20"==EIN,900000u64) then write("Lüftung-Intensiv-Aktivieren-1/6/20", AUS); Lueftungsstufe=Lueftungsstufe_vorher endif
//Lüftung leise
if "Lüftung-Leise-1/6/15" then {
Lueftungsstufe_vorher=Lueftungsstufe;
Lueftungsstufe=1
} endif
if "Lüftung-Leise-1/6/15" and event("HWR-PM-Schalten-5/0/30") and "HWR-PM-Schalten-5/0/30"==AUS then {
Lueftungsstufe=Lueftungsstufe_vorher;
write("Lüftung-Leise-1/6/15", AUS)
} endif [/highlight]
Grüße
Uwe
https://knx-user-forum.de/gebaeudete...modelle-4.html
[highlight=epc] //Lüftungsstufen
Lueftungsstufe=2
Lueftungsstufe_vorher=2
if event("Lüftung-Erhöhen-1/6/19") then Lueftungsstufe=Lueftungsstufe+1 endif
if Lueftungsstufe>6 then Lueftungsstufe=6 endif
if event("Lüftung-Reduzieren-1/6/16") then Lueftungsstufe=Lueftungsstufe-1 endif
if Lueftungsstufe<1 then Lueftungsstufe=1 endif
if Lueftungsstufe==1 then write ("Lüftung-Schalter-A-1/6/30", AUS); write("Lüftung-Schalter-B-1/6/32", AUS); write("Lüftung-Schalter-C-1/6/34", EIN) endif
if Lueftungsstufe==2 then write ("Lüftung-Schalter-A-1/6/30", AUS); write("Lüftung-Schalter-B-1/6/32", EIN); write("Lüftung-Schalter-C-1/6/34", EIN) endif
if Lueftungsstufe==3 then write ("Lüftung-Schalter-A-1/6/30", AUS); write("Lüftung-Schalter-B-1/6/32", EIN); write("Lüftung-Schalter-C-1/6/34", AUS) endif
if Lueftungsstufe==4 then write ("Lüftung-Schalter-A-1/6/30", EIN); write("Lüftung-Schalter-B-1/6/32", AUS); write("Lüftung-Schalter-C-1/6/34", EIN) endif
if Lueftungsstufe==5 then write ("Lüftung-Schalter-A-1/6/30", EIN); write("Lüftung-Schalter-B-1/6/32", EIN); write("Lüftung-Schalter-C-1/6/34", AUS) endif
if Lueftungsstufe==6 then write ("Lüftung-Schalter-A-1/6/30", EIN); write("Lüftung-Schalter-B-1/6/32", AUS); write("Lüftung-Schalter-C-1/6/34", AUS) endif
if Lueftungsstufe==1 then write ("Lüftung-Status-Min-1/6/17", EIN) endif
if Lueftungsstufe>1 then write ("Lüftung-Status-Min-1/6/17", AUS) endif
if Lueftungsstufe==6 then write ("Lüftung-Status-Max-1/6/18", EIN); write("Lüftung-Intensiv-Status-1/6/21", EIN) endif
if Lueftungsstufe<6 then write ("Lüftung-Status-Max-1/6/18", AUS); write("Lüftung-Intensiv-Status-1/6/21", AUS) endif
//Stosslüften
if "Lüftung-Intensiv-Aktivieren-1/6/20"==EIN then {
Lueftungsstufe_vorher=Lueftungsstufe;
Lueftungsstufe=6
} endif
if delay("Lüftung-Intensiv-Aktivieren-1/6/20"==EIN,900000u64) then write("Lüftung-Intensiv-Aktivieren-1/6/20", AUS); Lueftungsstufe=Lueftungsstufe_vorher endif
//Lüftung leise
if "Lüftung-Leise-1/6/15" then {
Lueftungsstufe_vorher=Lueftungsstufe;
Lueftungsstufe=1
} endif
if "Lüftung-Leise-1/6/15" and event("HWR-PM-Schalten-5/0/30") and "HWR-PM-Schalten-5/0/30"==AUS then {
Lueftungsstufe=Lueftungsstufe_vorher;
write("Lüftung-Leise-1/6/15", AUS)
} endif [/highlight]
Grüße
Uwe
Kommentar