//Zählreihenfolge beim EIB-Kabel: rot, schwarz, weiß, gelb public static Model Build() { #region Floor sensors /* * L1.BATH 10 * L1.KTCH 1 * L1.UTIL 7 * L1.LVNG 4 * L1.CORR 8 * L1.WORK 9 * L2.CORR 20 * L2.KID1 6 * L2.KID2 11 * L2.WORK 16 * L2.BEDR 19 * L2.BATH 17 */ #endregion #region Nodes //Spezialitäten oben //5V-Versorgung der Lichtschranken //Input der Lichtschranken (FT-Eingänge) //12V-Versorgung der RGBW-Spots im L2.BATH //5V-Versorgung des OneWire //ggf LEDs für "diverses" im Tastermodul an den Betten, ein beleuchteter Rahmen könnte hier auch als Nachtlicht verwendet werden? //Spezialitäten unten //Ansteuerung des MP3-Moduls + Verstärker (seriell) //12V-Versorgung der RGBW-Spots im L1.BATH //5V-Versorgung des OneWire //LED für Außensteckdosen im Tastermodul am Terassenausgang Model model = new Model("Sattlerstraße 16"); Node SNSCT_L0_TECH_HS_1 = new SensactHs08(ID.SNSCT_L0_TECH_HS_1); model.Nodes.Add(SNSCT_L0_TECH_HS_1); Node SNSCT_L3_TECH_HS_1 = new SensactHs08(ID.SNSCT_L3_TECH_HS_1); model.Nodes.Add(SNSCT_L3_TECH_HS_1); Node SNSCT_L1_KTCH_UP = new SensactUp02(ID.SNSCT_L1_KTCH_UP); model.Nodes.Add(SNSCT_L1_KTCH_UP); Node SNSCT_L1_LVNG_UP = new SensactUp02(ID.SNSCT_L1_LVNG_UP); model.Nodes.Add(SNSCT_L1_LVNG_UP); Node SNSCT_L2_BATH_UP = new SensactUp02(ID.SNSCT_L2_BATH_UP); model.Nodes.Add(SNSCT_L2_BATH_UP); #endregion #region L0 //CORR SNSCT_L0_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_L0_CORR_B11), InputRessource = BB + I2C + 13, //36 CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.POWIT_L0_CORR_C1), }, new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___LS_STRS_W2), }, } }); SNSCT_L0_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_L0_CORR_B21), InputRessource = BB + I2C + 12, //34 CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.POWIT_L0_CORR_C1), }, new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___LS_STRS_W2), }, } }); SNSCT_L0_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_L0_CORR_B31), InputRessource = BB + I2C + 11,//33 CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.POWIT_L0_CORR_C1), }, new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___LS_STRS_W2), }, } }); SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L0_CORR_C1, BB + I2C + 40, 1000 * 60 * 15); //RL7 //PRTY SNSCT_L0_TECH_HS_1.Applications.AddTwoDimButtons(ID.PUSHB_L0_PRTY_B11, ID.PUSHB_L0_PRTY_B12, BB + I2C + 10, BB + I2C + 9, ID.PWM___L0_PRTY_S);//32,30 SNSCT_L0_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L0_PRTY_S, ID.STDBY_L0_TECH_48V, new List <ushort> { BB + I2C + 13, BB + I2C + 12, BB + I2C + 11, BB + I2C + 10 }); //144,143,142,141 //STO1 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L0_STO1_B11, BB + I2C + 8, ID.POWIT_L0_STO1_C1); //28 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L0_STO1_C1, BB + I2C + 39, 1000 * 60 * 15); //RL6 //TECH SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L0_TECH_B11, BB + I2C + 7, ID.POWIT_L0_TECH_C1); //24 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L0_TECH_C1, BB + I2C + 38, 1000 * 60 * 15); //RL5 //SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.DEVCE_L0_TECH_PUMP, InputPin.I14, ID.NO_APPLICATION);//56 SNSCT_L0_TECH_HS_1.Applications.Add(new SoundApplication { ApplicationId = _(ID.DEVCE_L0_TECH_AUDIO), StandbyOutput = (ushort)(INTI + 64u + 2u),//e2, NameOfVoulumeScheduleOrNull = null, DefaultVolume = 17, }); SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L0_TECH_PUMP, BUS0 + I2C + 45, 0, 5000); //sollte 5sek nach Start an gehen und dann auch an bleiben RL14 SNSCT_L0_TECH_HS_1.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L0_TECH_48V), OutputRessource = BB + I2C + 48, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); //RL15 K115 SNSCT_L0_TECH_HS_1.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L2_CORR_24V), OutputRessource = BB + I2C + 49, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); //RL17 K117 //TODO:Heizungsanlage //WELL SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L0_WELL_B11, BB + I2C + 6, ID.POWIT_L0_WELL_C1); //20 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L0_WELL_B12, BB + I2C + 5, ID.PWM___L0_WELL_S1); //18Für Dusche SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L0_WELL_B21, BB + I2C + 4, ID.PWM___L0_WELL_S2); //16 Für WC SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L0_WELL_C1, BB + I2C + 37, 1000 * 60 * 240); //RL4 SNSCT_L0_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L0_WELL_S1, ID.STDBY_L0_TECH_48V, new List <ushort> { BB + I2C + 9 }, 1000 * 60 * 30); //140 Dusche SNSCT_L0_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L0_WELL_S2, ID.STDBY_L0_TECH_48V, new List <ushort> { BB + I2C + 8 }, 1000 * 60 * 30); //138 WC //WORK SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L0_WORK_B11, BB + I2C + 3, ID.POWIT_L0_WORK_C1); //12 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L0_WORK_C1, BB + I2C + 36, 1000 * 60 * 240); //RL2 #endregion #region LX //Back SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_BACK_P1, BB + I2C + 59, 1000 * 60 * 360); //RL18 K118 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_BACK_P3, BB + I2C + 58, 1000 * 60 * 360); //RL32 K132//Nur für Lampe!!! SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_BACK_W1, BB + I2C + 53, 1000 * 60 * 360); //RL27 K127 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_BACK_W2, BB + I2C + 52, 1000 * 60 * 360); //RL26 K126 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_BACK_W3, BB + I2C + 51, 1000 * 60 * 360); //RL25 K125 SNSCT_L0_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_LX_BACK_J1, 40, BB + I2C + 25, BB + I2C + 35, RelayMode.INTERLOCKED_ACTIVE_DOWN); //K19 K20 //Front (Klingelknopf, Licht, Bewegungsmelder) SNSCT_L0_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_LX_FRON_B1), CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.START, TargetAppId = _(ID.DEVCE_L0_TECH_AUDIO), } }, InputRessource = BB + I2C + 62, }); SNSCT_L0_TECH_HS_1.Applications.Add(new LightbarrierApplication { ApplicationId = _(ID.LIBAR_LX_FRON_B2), InputRessource = BB + I2C + 63, //Relais-Kabel ActiveSignalLevel = false, BrightnessSensor = _(ID.NO_APPLICATION), //_(ID.SBRGH_LX_ROOF), FinalTarget = _(ID.NO_APPLICATION), }); SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_FRON_W1, BB + I2C + 57, 1000 * 60 * 2);//RL31 K131 //GARA SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_LX_GARA_B11, BB + I2C + 2, ID.POWIT_LX_GARA_C1); //4 //SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_LX_GARA_B21, BUS0 + I2C + 0, ID.BLIND_LX_GARA_J1); //2 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_GARA_C1, BB + I2C + 56, 1000 * 60 * 360); //RL30 K130 //SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.BLIND_LX_GARA_J1, OutputPin.O18, 500); //unbeschriftet //LEFT SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_LEFT_W1, BB + I2C + 55, 1000 * 60 * 360); //RL29 K129 //RGHT SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_LX_RGHT_W1, BB + I2C + 54, 1000 * 60 * 360);//RL28 K128 #endregion #region L1 //BATH SNSCT_L0_TECH_HS_1.Applications.Add( new PushButtonXApplication() { ApplicationId = _(ID.PUSHB_L1_BATH_B11), InputRessource = BB + I2C + 38, //96 CommandsOnReleased = new List <Command>() { new Command() { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.RGBW__L1_BATH_W1), }, new Command() { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___L1_BATH_S), }, }, } ); SNSCT_L0_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L1_BATH_B12, ID.PUSHB_L1_BATH_B13, BUS0 + I2C + 37, BUS0 + I2C + 36, ID.BLIND_L1_BATH_J1); //94+93 SNSCT_L0_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L1_BATH_S, ID.STDBY_L0_TECH_48V, new List <ushort> { BUS0 + I2C + 3 }, 1000 * 60 * 60); //128 SNSCT_L0_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L1_BATH_J1, 40, BB + I2C + 16, BUS0 + I2C + 26, RelayMode.INTERLOCKED_ACTIVE_UP); //K1 K2 //Dekoleuchten werden aus dem 48V-Netzteil + Spannungswandler versorgt SNSCT_L0_TECH_HS_1.Applications.Add(new RgbwApplication { ApplicationId = _(ID.RGBW__L1_BATH_W1), StandbyController = _(ID.STDBY_L0_TECH_48V), LowMeansLampOn = true, OutputRessourceR = BUS0 + I2C + 7, OutputRessourceB = BB + I2C + 5, OutputRessourceG = BB + I2C + 6, OutputRessourceW = ushort.MaxValue, AutoOffIntervalMsecs = 1000 * 60 * 60 }); //CORR //Hinweis: LeavingHome/ComingHome ist noch nicht beschaltet SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_CORR_B11, BUS0 + I2C + 16, ID.PWM___L1_CORR_S); //52 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_CORR_B21, BUS0 + I2C + 35, ID.PWM___L1_CORR_S); //88 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_CORR_B22, BUS0 + I2C + 34, ID.PWM___L1_CORR_W1); //86 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_CORR_B23, BUS0 + I2C + 33, ID.PWM___L1_CORR_S); //85 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_CORR_B24, BUS0 + I2C + 32, ID.PWM___L1_CORR_W1); //84 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_CORR_B25, BUS0 + I2C + 31, ID.POWIT_LX_FRON_W1); //82 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_CORR_B26, BUS0 + I2C + 30, ID.POWIT_LX_LEFT_W1); //81 SNSCT_L0_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L1_CORR_S, ID.STDBY_L0_TECH_48V, new List <ushort> { BUS0 + I2C + 2, BUS0 + I2C + 1, BUS0 + I2C + 0 }, 1000 * 60 * 10); //126, 125, 124 SNSCT_L0_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L1_CORR_W1, ID.STDBY_L0_TECH_48V, new List <ushort> { BUS0 + I2C + 4 }, 1000 * 60 * 240); //L1.KTCH SNSCT_L1_KTCH_UP.Applications.AddRotaryEncoder(ID.ROTAR_L1_KTCH_B21, RotaryEncoder.ROTARYENCODER_1, SensactUp02.Pin_ROTD, ID.PWM___L1_KTCH_S1); SNSCT_L1_KTCH_UP.Applications.AddToggleButton(ID.PUSHB_L1_KTCH_B22, SensactUp02.Pin_xROTD, ID.POWIT_L1_KTCH_C1); SNSCT_L1_KTCH_UP.Applications.AddOneDimButton(ID.PUSHB_L1_KTCH_B23, SensactUp02.IO1, ID.PWM___L1_KTCH_W1); SNSCT_L1_KTCH_UP.Applications.AddOneDimButton(ID.PUSHB_L1_KTCH_B24, SensactUp02.IO2, ID.PWM___L1_KTCH_S2); SNSCT_L1_KTCH_UP.Applications.AddBlindButtons(ID.PUSHB_L1_KTCH_B25, ID.PUSHB_L1_KTCH_B26, SensactUp02.IO3, SensactUp02.IO4, ID.BLIND_L1_KTCH_J1); SNSCT_L1_KTCH_UP.Applications.AddBlindButtons(ID.PUSHB_L1_KTCH_B27, ID.PUSHB_L1_KTCH_B28, SensactUp02.IO5, SensactUp02.IO6, ID.BLIND_L1_KTCH_J2); //Vier Spots SNSCT_L1_KTCH_UP.Applications.AddPWMApplication(ID.PWM___L1_KTCH_S1, ID.STDBY_L0_TECH_48V, new List <ushort> { BUS0 + I2C + 0, BUS0 + I2C + 1, BUS0 + I2C + 2, BUS0 + I2C + 3 }); //Einzelspot SNSCT_L1_KTCH_UP.Applications.AddPWMApplication(ID.PWM___L1_KTCH_S2, ID.STDBY_L0_TECH_48V, new List <ushort> { BUS0 + I2C + 4 }); //Wandlampen SNSCT_L1_KTCH_UP.Applications.AddPWMApplication(ID.PWM___L1_KTCH_W1, ID.STDBY_L0_TECH_48V, new List <ushort> { BUS0 + I2C + 5 }, 1000 * 60 * 360, 150); //hohes minimales DIM-Level, um "Verschmierungen" durch lange Leitungen zu kompensieren SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_KTCH_B11, BUS0 + I2C + 29, ID.POWIT_L1_KTCH_C1); //80 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_KTCH_B12, BUS0 + I2C + 28, ID.POWIT_LX_BACK_W1); //78 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_KTCH_B31, BUS0 + I2C + 27, ID.PWM___L1_KTCH_S2); //76 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_KTCH_B32, BUS0 + I2C + 26, ID.PWM___L1_KTCH_S1); //74 //TODO obsolet SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_CORR_W1);//RL24 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_KTCH_C1, BUS0 + I2C + 50); //RL23 K123 //TODO obsolet SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_KTCH_W1, BB + I2C + 49);//RL22 SNSCT_L0_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L1_KTCH_J1, 40, BUS0 + I2C + 18, BUS0 + I2C + 28, RelayMode.INTERLOCKED_ACTIVE_UP); //K5 K6 SNSCT_L0_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L1_KTCH_J2, 40, BUS0 + I2C + 17, BUS0 + I2C + 27, RelayMode.INTERLOCKED_ACTIVE_UP); //K3 K4 //L1.LVNG SNSCT_L1_LVNG_UP.Applications.AddBlindButtons(ID.PUSHB_L1_LVNG_B31, ID.PUSHB_L1_LVNG_B32, SensactUp02.IO1, SensactUp02.IO2, ID.BLIND_L1_LVNG_J1); SNSCT_L1_LVNG_UP.Applications.AddBlindButtons(ID.PUSHB_L1_LVNG_B33, ID.PUSHB_L1_LVNG_B34, SensactUp02.IO3, SensactUp02.IO4, ID.BLIND_L1_LVNG_J2); SNSCT_L1_LVNG_UP.Applications.AddBlindButtons(ID.PUSHB_L1_LVNG_B35, ID.PUSHB_L1_LVNG_B36, SensactUp02.IO5, SensactUp02.IO6, ID.BLIND_L1_LVNG_J3); SNSCT_L1_LVNG_UP.Applications.AddRotaryEncoder(ID.ROTAR_L1_LVNG_B41, RotaryEncoder.ROTARYENCODER_1, SensactUp02.Pin_ROTD, ID.PWM___L1_LVNG_S); SNSCT_L1_LVNG_UP.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B42, SensactUp02.Pin_xROTD, ID.POWIT_L1_LVNG_C1); SNSCT_L1_LVNG_UP.Applications.AddOneDimButton(ID.PUSHB_L1_LVNG_B43, SensactUp02.IO7, ID.PWM___L1_LVNG_W1); SNSCT_L1_LVNG_UP.Applications.AddOneDimButton(ID.PUSHB_L1_LVNG_B44, SensactUp02.IO8, ID.PWM___L1_LVNG_C2); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___L1_LVNG_S, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 0, BUS0 + I2C + 1, BUS0 + I2C + 2, BUS0 + I2C + 3, BUS0 + I2C + 4, BUS0 + I2C + 5, BUS0 + I2C + 6, BUS0 + I2C + 7, BUS0 + I2C + 8, BUS0 + I2C + 9, BUS0 + I2C + 10, BUS0 + I2C + 11 }); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___L1_LVNG_W1, ID.STDBY_L0_TECH_48V, new List <ushort> { BUS0 + I2C + 12 }, 1000 * 60 * 360, 150); //hohes minimales DIM-Level, um "Verschmierungen" durch lange Leitungen zu kompensieren //TODO: C2 soll mal eine RGBW-Applikation werden und es braucht dann 3 oder 4 Outputs SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___L1_LVNG_C2, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 13 /*14+15?*/ }); //Erinnerung: Treppenstufenbeleuchtung und Wandlampen im Treppenhaus werden auch von diesem SensactUP gesteuert //B11 I23 //B12 I22 //B13 I21 //14 I17 // SNSCT_L0_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L1_LVNG_B11, ID.PUSHB_L1_LVNG_B12, BUS0 + I2C + 25, BUS0 + I2C + 24, ID.BLIND_LX_BACK_J1); //72+70 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B13, BUS0 + I2C + 23, ID.POWIT_LX_BACK_W2); //69 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B14, BUS0 + I2C + 19, ID.POWIT_LX_BACK_W3); //60 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B15, BUS0 + I2C + 18, ID.POWIT_LX_BACK_P1); //58, P1 sind die Außensteckdosen SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_LVNG_B16, BUS0 + I2C + 17, ID.PWM___L1_LVNG_S); //57 SNSCT_L0_TECH_HS_1.Applications.AddTwoDimButtons(ID.PUSHB_L1_LVNG_B21, ID.PUSHB_L1_LVNG_B22, BUS0 + I2C + 22, BUS0 + I2C + 21, ID.PWM___L1_LVNG_W4); //68+66 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B23, BUS0 + I2C + 20, ID.POWIT_LX_RGHT_W1); //65 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_LVNG_B51, BUS0 + I2C + 61, ID.PWM___L1_LVNG_S); //120 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_LVNG_B52, BUS0 + I2C + 60, ID.PWM___L1_KTCH_S1); //118 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B53, BUS0 + I2C + 59, ID.POWIT_L1_KTCH_C1); //117 SNSCT_L0_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L1_LVNG_J1, 40, BUS0 + I2C + 19, BUS0 + I2C + 29, RelayMode.INTERLOCKED_ACTIVE_UP); ///K7 K8 SNSCT_L0_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L1_LVNG_J2, 40, BUS0 + I2C + 20, BUS0 + I2C + 30, RelayMode.INTERLOCKED_ACTIVE_UP); //K9 K10 SNSCT_L0_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L1_LVNG_J3, 40, BUS0 + I2C + 21, BUS0 + I2C + 31, RelayMode.INTERLOCKED_ACTIVE_UP); //K11 K12 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_LVNG_C1, BUS0 + I2C + 44); //RL11 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_LVNG_P4, BUS0 + I2C + 60); //RL19 K119 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_LVNG_P1, BUS0 + I2C + 61); //RL20 //W2 ist parallel zu W1 geschaltet //W3 ist noch nicht existente Effektbeleuchtung, sowohl für die Kaminregale als auch für die Wohnwand SNSCT_L0_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L1_LVNG_W4, ID.STDBY_L0_TECH_48V, new List <ushort> { BB + I2C + 14 }); //Grünes Spezialkabel, das im Schaltschrank oben raus geht //UTIL SNSCT_L0_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L1_UTIL_B11, ID.PUSHB_L1_UTIL_B12, BB + I2C + 58, BB + I2C + 57, ID.BLIND_L1_UTIL_J1); //116 + 114 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_UTIL_B13, BB + I2C + 56, ID.PWM___L1_KTCH_S1); //113,unterhalb des Jalousietasters, weil für anderen Raum SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_UTIL_B21, BB + I2C + 55, ID.POWIT_L1_UTIL_C1); //112 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_UTIL_B22, BB + I2C + 54, ID.POWIT_LX_LEFT_W1); //110 //SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_UTIL_B23, BUS0 + I2C + 53, ID.BLIND_LX_GARA_J1); //109 //SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_UTIL_B24, BUS0 + I2C + 52, ID.BLIND_LX_GARA_J1); //108 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_UTIL_C1, BB + I2C + 41);//rl8 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_UTIL_J1), OpenCloseTimeInSeconds = 40, OutputResourceUpOrPower = BB + I2C + 22, OutputResourceDownOrDirection = BB + I2C + 32, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K13 K14 //WORK SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_WORK_B11, BB + I2C + 41, ID.POWIT_L1_WORK_C1); //100 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_WORK_B12, BB + I2C + 40, ID.POWIT_L1_WORK_C2); //98 SNSCT_L0_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L1_WORK_B13, ID.PUSHB_L1_WORK_B14, BB + I2C + 39, BB + I2C + 51, ID.BLIND_L1_WORK_J1); //97+104 SNSCT_L0_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L1_WORK_B15, ID.PUSHB_L1_WORK_B16, BB + I2C + 50, BB + I2C + 49, ID.BLIND_L1_WORK_J2); //103+102 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_WORK_B17, BB + I2C + 48, ID.POWIT_LX_RGHT_W1); //101 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_WORK_C1, BB + I2C + 43); //rl10 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_WORK_C2, BB + I2C + 42); //rl9 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_WORK_J1), OpenCloseTimeInSeconds = 40, OutputResourceUpOrPower = BB + I2C + 23, OutputResourceDownOrDirection = BB + I2C + 33, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K15 16 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_WORK_J2), OpenCloseTimeInSeconds = 40, OutputResourceUpOrPower = BB + I2C + 24, OutputResourceDownOrDirection = BB + I2C + 34, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K17 18 #endregion #region L2 //BATH SNSCT_L2_BATH_UP.Applications.AddRotaryEncoder(ID.ROTAR_L2_BATH_B11, RotaryEncoder.ROTARYENCODER_1, SensactUp02.Pin_ROTD, ID.PWM___L2_BATH_S); SNSCT_L2_BATH_UP.Applications.AddRotaryEncoder(ID.ROTAR_L2_BATH_B12, RotaryEncoder.ROTARYENCODER_2, SensactUp02.Pin_xROTD, ID.RGBW__L2_BATH_W); //Start "be careful". These buttons are connected to central sensact SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_BATH_B13, ID.PUSHB_L2_BATH_B14, BB + I2C + 1, BB + I2C + 0, ID.BLIND_L2_BATH_J1); //4 2 //End "be careful" SNSCT_L2_BATH_UP.Applications.AddPWMApplication(ID.PWM___L2_BATH_S, ID.STDBY_L3_ROOF_48V, new List <ushort> { BUS0 + I2C + 0, BUS0 + I2C + 1, BUS0 + I2C + 2 }); SNSCT_L2_BATH_UP.Applications.Add(new RgbwApplication { ApplicationId = _(ID.RGBW__L2_BATH_W), StandbyController = _(ID.STDBY_L3_ROOF_48V), LowMeansLampOn = true, OutputRessourceR = /*Nach L2.Corr!*/ BUS0 + I2C + 6, OutputRessourceG = BUS0 + I2C + 7, OutputRessourceB = BUS0 + I2C + 8, OutputRessourceW = BUS0 + I2C + 9 }); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_BATH_J1, 40, RB + I2C + 16, RB + I2C + 25, RelayMode.INTERLOCKED_ACTIVE_UP); //L2.BEDR SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B11, BB + I2C + 3, ID.POWIT_L2_BEDR_P3); //Erst mal nur Netzfreischaltung SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B12, BB + I2C + 2, ID.POWIT_L2_BEDR_P1); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_BEDR_B13, BB + I2C + 6, ID.PWM___L2_BEDR_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_BEDR_B14, ID.PUSHB_L2_BEDR_B15, BB + I2C + 5, BB + I2C + 4, ID.BLIND_L2_BEDR_J1); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B25, BB + I2C + 10, ID.POWIT_L2_BEDR_P3); //Erst mal nur Netzfreischaltung SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B24, BB + I2C + 11, ID.POWIT_L2_BEDR_P2); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_BEDR_B23, BB + I2C + 9, ID.PWM___L2_BEDR_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_BEDR_B21, ID.PUSHB_L2_BEDR_B22, BB + I2C + 8, BB + I2C + 7, ID.BLIND_L2_BEDR_J1); SNSCT_L3_TECH_HS_1.Applications.AddTwoDimButtons(ID.PUSHB_L2_BEDR_B31, ID.PUSHB_L2_BEDR_B32, BB + I2C + 15, BB + I2C + 13, ID.PWM___L2_BEDR_S); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B33, BB + I2C + 12, ID.POWIT_L2_BEDR_P1); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B34, BB + I2C + 17, ID.POWIT_L2_BEDR_P2); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_BEDR_B35, ID.PUSHB_L2_BEDR_B36, BB + I2C + 14, BB + I2C + 16, ID.BLIND_L2_BEDR_J1); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_BEDR_J1, 40, RB + I2C + 17, RB + I2C + 26, RelayMode.INTERLOCKED_ACTIVE_UP); SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L2_BEDR_S, ID.STDBY_L3_TECH_48V, new List <ushort> { RB + I2C + 1, RB + I2C + 2 }); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_BEDR_P1, RB + I2C + 44); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_BEDR_P2, RB + I2C + 45); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_BEDR_P3, RB + I2C + 46); //L2.CORR SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_CORR_B11, BB + I2C + 20, ID.PWM___L2_CORR_S); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_CORR_B21, BB + I2C + 19, ID.PWM___L2_CORR_S); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_CORR_B31, BB + I2C + 18, ID.PWM___L2_CORR_S); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_CORR_B41, BB + I2C + 23, ID.PWM___L2_CORR_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_CORR_B42, ID.PUSHB_L2_CORR_B43, BB + I2C + 22, BB + I2C + 21, ID.BLIND_L2_CORR_J1); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_CORR_J1, 40, RB + I2C + 18, RB + I2C + 27, RelayMode.INTERLOCKED_ACTIVE_UP); //Start be careful: The LED Spots are controlled by the bath-sensactUP SNSCT_L2_BATH_UP.Applications.AddPWMApplication(ID.PWM___L2_CORR_S, ID.STDBY_L3_ROOF_48V, new List <ushort> { BUS0 + I2C + 3, BUS0 + I2C + 4, BUS0 + I2C + 5 }, 1000 * 60 * 240); //End be careful //KID1 SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_KID1_B11, BB + I2C + 26, ID.POWIT_L2_KID1_C1); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_KID1_B12, ID.PUSHB_L2_KID1_B13, BB + I2C + 25, BB + I2C + 24, ID.BLIND_L2_KID1_J1); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_KID1_B21, BB + I2C + 28, ID.POWIT_L2_KID1_C1); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_KID1_B22, BB + I2C + 27, ID.POWIT_L2_KID1_C2); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_KID1_C1, RB + I2C + 39); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_KID1_C2, RB + I2C + 40, 360000); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_KID1_J1, 40, RB + I2C + 19, RB + I2C + 28, RelayMode.INTERLOCKED_ACTIVE_UP); //KID2 SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_KID2_B11, BB + I2C + 31, ID.POWIT_L2_KID2_C1); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_KID2_B12, ID.PUSHB_L2_KID2_B13, BB + I2C + 30, BB + I2C + 29, ID.BLIND_L2_KID2_J1); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_KID2_C1, RB + I2C + 41); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_KID2_J1, 40, RB + I2C + 20, RB + I2C + 29, RelayMode.INTERLOCKED_ACTIVE_UP); //WORK SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_WORK_B11, BB + I2C + 34, ID.PWM___L2_WORK_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_WORK_B12, ID.PUSHB_L2_WORK_B13, BB + I2C + 33, BB + I2C + 32, ID.BLIND_L2_WORK_J1); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_WORK_J1, 40, RB + I2C + 21, RB + I2C + 30, RelayMode.INTERLOCKED_ACTIVE_UP); SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L2_WORK_S, ID.STDBY_L3_TECH_48V, new List <ushort> { RB + I2C + 3, RB + I2C + 4 }); #endregion #region L3 //BEDR SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L3_BEDR_B11, BB + I2C + 38, ID.POWIT_L3_BEDR_C1); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L3_BEDR_B12, BB + I2C + 37, ID.PWM___LS_STRS_W6); /* * SNSCT_L3_TECH_HS_1.Applications.Add(new PushButtonXApplication * { * ApplicationId = _(ID.PUSHB_L3_BEDR_B12), * InputRessource = BB + I2C + 37, * CommandsOnPressed = new List<Command> * { * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.PWM___L3_CORR_S), * }, * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.PWM___LS_STRS_W6), * }, * } * * }); */ SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L3_BEDR_B13, ID.PUSHB_L3_BEDR_B14, BB + I2C + 36, BB + I2C + 35, ID.BLIND_L3_BEDR_J1); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L3_BEDR_C1, RB + I2C + 42, 1000 * 60 * 240); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L3_BEDR_J1, 40, RB + I2C + 23, RB + I2C + 32, RelayMode.INTERLOCKED_ACTIVE_DOWN); //J2-Relais sind frei, ggf J1 und J2 vertauscht, falls Rolladen nicht geht //CORR SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L3_CORR_S, ID.STDBY_L3_TECH_48V, new List <ushort> { RB + I2C + 5 }, 1000 * 60 * 10); //TECH //SNSCT_L3_TECH_HS_1.Applications.AddPlaceholder(ID.SBRGH_LX_ROOF); SNSCT_L3_TECH_HS_1.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L3_TECH_48V), OutputRessource = RB + I2C + 35, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); SNSCT_L3_TECH_HS_1.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L3_ROOF_48V), OutputRessource = RB + I2C + 34, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); //WORK SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L3_WORK_B11, BB + I2C + 41, ID.PWM___L3_WORK_C1); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L3_WORK_B12, BB + I2C + 40, ID.PWM___L3_WORK_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L3_WORK_B13, ID.PUSHB_L3_WORK_B14, BB + I2C + 39, BB + I2C + 44, ID.BLIND_L3_WORK_J1); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L3_WORK_B15, BB + I2C + 43, ID.PWM___LS_STRS_W6); /* * SNSCT_L3_TECH_HS_1.Applications.Add(new PushButtonXApplication * { * ApplicationId = _(ID.PUSHB_L3_WORK_B15), * InputRessource = BB + I2C + 43, * CommandsOnPressed = new List<Command> * { * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.PWM___L3_CORR_S), * }, * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.PWM___LS_STRS_W6), * }, * } * * }); */ SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L3_WORK_J1, 40, RB + I2C + 22, RB + I2C + 31, RelayMode.INTERLOCKED_ACTIVE_DOWN); //SNSCT_L3_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L3_WORK_J2), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = BUS0 + I2C + 8, OutputRessourceDownOrDirection = BUS0 + I2C + 17, RelayMode = RelayMode.INTERLOCKED_ACTIVE_DOWN }); SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L3_WORK_S, ID.STDBY_L3_TECH_48V, new List <ushort> { RB + I2C + 6, RB + I2C + 7, RB + I2C + 8 }); SNSCT_L3_TECH_HS_1.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L3_WORK_C1), OutputRessource = RB + I2C + 43, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); //RL10 SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L3_WORK_C1, ID.STDBY_L3_WORK_C1, new List <ushort> { RB + I2C + 0 }); #endregion #region LS /* * SNSCT_L3_TECH_HS_2.Applications.Add(new LightbarrierApplication * { * ApplicationId= _(ID.LIBAR_LS_STRS_B11), * ActiveSignalLevel=true, * BrightnessSensor= _(ID.NO_APPLICATION),//_(ID.SBRGH_LX_ROOF), * FinalTarget =_(ID.PWM___LS_STRS_W2), * InputRessource= BUS0 + I2C + 45, * }); */ //SNSCT_L3_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_LS_STRS_B21, InputPin.I21, ID.POWIT_LS_STRS_W3); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B21, BB + I2C + 48, ID.PWM___LS_STRS_W4); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B22, BB + I2C + 47, ID.PWM___L1_CORR_S); SNSCT_L3_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_LS_STRS_B23), InputRessource = BB + I2C + 46, CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.POWIT_L0_CORR_C1), }, new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___LS_STRS_W2), }, /* * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.POWIT_LS_STRS_W1), * }, */ } }); /* * SNSCT_L3_TECH_HS_2.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B31), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),// _(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W2), * InputRessource = BUS0 + I2C + 49, * }); * * SNSCT_L3_TECH_HS_2.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B32), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),//_(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W4), * InputRessource = BUS0 + I2C + 50, * }); */ SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B41, BB + I2C + 55, ID.PWM___LS_STRS_W6); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B42, BB + I2C + 54, ID.PWM___L2_CORR_S); //SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B43, InputPin.I22, ID.POWIT_LS_STRS_W3); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B43, BB + I2C + 53, ID.PWM___LS_STRS_W4); /* * SNSCT_L3_TECH_HS_1.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B51), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),//_(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W4), * InputRessource = BUS0 + I2C + 51, * }); * SNSCT_L3_TECH_HS_1.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B52), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),//_(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W6), * InputRessource = BUS0 + I2C + 52, * }); * * * * SNSCT_L3_TECH_HS_1.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B71), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),// _(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W6), * InputRessource = BUS0 + I2C + 42, * }); */ //!!!SNSAC_L1_LVNG_UP //Treppenstufen, vom Keller zum Dach SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W2, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 16 }, 1000 * 60 * 60 * 6 /*Verzögerung siehe Wand*/); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W4, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 17 }, 1000 * 120); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W6, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 18 }, 1000 * 120); //Wandlampen, vom Keller zum Dach SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W1, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 19 }, 1000 * 60 * 60 * 6 /*Verzögerung siehe Treppe*/); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W3, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 20 }, 1000 * 120); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W5, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 21 }, 1000 * 120); #endregion return(model); }
//Infos: RL 32 ist für LX.Back.P3 auf Klemme X1.40. public static Model Build() { #region Floor sensors /* * L1.BATH 10 * L1.KTCH 1 * L1.UTIL 7 * L1.LVNG 4 * L1.CORR 8 * L1.WORK 9 * L2.CORR 20 * L2.KID1 6 * L2.KID2 11 * L2.WORK 16 * L2.BEDR 19 * L2.BATH 17 */ #endregion #region Nodes //Spezialitäten oben //5V-Versorgung der Lichtschranken //Input der Lichtschranken (FT-Eingänge) //12V-Versorgung der RGBW-Spots im L2.BATH //5V-Versorgung des OneWire //ggf LEDs für "diverses" im Tastermodul an den Betten, ein beleuchteter Rahmen könnte hier auch als Nachtlicht verwendet werden? //Spezialitäten unten //Ansteuerung des MP3-Moduls + Verstärker (seriell) //12V-Versorgung der RGBW-Spots im L1.BATH //5V-Versorgung des OneWire //LED für Außensteckdosen im Tastermodul am Terassenausgang Model model = new Model("Sattlerstraße 16"); Node SNSCT_L0_TECH_HS_1 = new SensactHs07(ID.SNSCT_L0_TECH_HS_1); model.Nodes.Add(SNSCT_L0_TECH_HS_1); Node SNSCT_L0_TECH_HS_2 = new SensactHs07(ID.SNSCT_L0_TECH_HS_2); model.Nodes.Add(SNSCT_L0_TECH_HS_2); Node SNSCT_L3_TECH_HS_1 = new SensactHs07(ID.SNSCT_L3_TECH_HS_1); model.Nodes.Add(SNSCT_L3_TECH_HS_1); Node SNSCT_L1_KTCH_UP = new SensactUp02(ID.SNSCT_L1_KTCH_UP); model.Nodes.Add(SNSCT_L1_KTCH_UP); Node SNSCT_L1_LVNG_UP = new SensactUp02(ID.SNSCT_L1_LVNG_UP); model.Nodes.Add(SNSCT_L1_LVNG_UP); Node SNSCT_L2_BATH_UP = new SensactUp02(ID.SNSCT_L2_BATH_UP); model.Nodes.Add(SNSCT_L2_BATH_UP); #endregion #region L0 //CORR SNSCT_L0_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_L0_CORR_B11), InputRessource = (ushort)InputPin.I13, //36 CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.POWIT_L0_CORR_C1), }, new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___LS_STRS_W2), }, } }); SNSCT_L0_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_L0_CORR_B21), InputRessource = (ushort)InputPin.I12, //34 CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.POWIT_L0_CORR_C1), }, new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___LS_STRS_W2), }, } }); SNSCT_L0_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_L0_CORR_B31), InputRessource = (ushort)InputPin.I11,//33 CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.POWIT_L0_CORR_C1), }, new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___LS_STRS_W2), }, } }); SNSCT_L0_TECH_HS_1.Applications.Add(new PoweritemApplication { ApplicationId = _(ID.POWIT_L0_CORR_C1), OutputRessource = (ushort)OutputPin.O25 }); //RL7 //PRTY SNSCT_L0_TECH_HS_1.Applications.AddTwoDimButtons(ID.PUSHB_L0_PRTY_B11, ID.PUSHB_L0_PRTY_B12, (ushort)InputPin.I10, (ushort)InputPin.I09, ID.PWM___L0_PRTY_S);//32,30 SNSCT_L0_TECH_HS_1.Applications.Add(new PWMApplication { ApplicationId = _(ID.PWM___L0_PRTY_S), MinimalOnLevel = DEFAULT_MIN_DIM_LEVEL, StandbyController = _(ID.STDBY_L0_TECH_48V), OutputRessources = new List <ushort> { PwmPin.P11, PwmPin.P10, PwmPin.P09, PwmPin.P08 } }); //144,143,142,141 //STO1 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L0_STO1_B11, (ushort)InputPin.I08, ID.POWIT_L0_STO1_C1);//28 SNSCT_L0_TECH_HS_1.Applications.Add(new PoweritemApplication { ApplicationId = _(ID.POWIT_L0_STO1_C1), OutputRessource = (ushort)OutputPin.O24 }); //RL6 //TECH SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L0_TECH_B11, (ushort)InputPin.I07, ID.POWIT_L0_TECH_C1);//24 SNSCT_L0_TECH_HS_1.Applications.Add(new PoweritemApplication { ApplicationId = _(ID.POWIT_L0_TECH_C1), OutputRessource = (ushort)OutputPin.O23 }); //RL5 //SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.DEVCE_L0_TECH_PUMP, InputPin.I14, ID.NO_APPLICATION);//56 SNSCT_L0_TECH_HS_2.Applications.Add(new SoundApplication { ApplicationId = _(ID.DEVCE_L0_TECH_AUDIO), StandbyOutput = (ushort)(INTI + 64u + 2u),//e2, NameOfVoulumeScheduleOrNull = null, }); SNSCT_L0_TECH_HS_2.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L0_TECH_48V), OutputRessource = (ushort)OutputPin.O04, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); //RL15 SNSCT_L0_TECH_HS_2.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L2_CORR_24V), OutputRessource = (ushort)OutputPin.O06, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); //RL17, nicht 16!!! //MISSING:Heizungsanlage //MISSING: Zirkulationspumpe RL14, O21 HS_1!!! //WELL SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L0_WELL_B11, (ushort)InputPin.I06, ID.POWIT_L0_WELL_C1); //20 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L0_WELL_B12, (ushort)InputPin.I05, ID.PWM___L0_WELL_S1); //18Für Dusche SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L0_WELL_B21, (ushort)InputPin.I04, ID.PWM___L0_WELL_S2); //16 Für WC SNSCT_L0_TECH_HS_1.Applications.Add(new PoweritemApplication { ApplicationId = _(ID.POWIT_L0_WELL_C1), OutputRessource = (ushort)OutputPin.O22 }); //RL4 SNSCT_L0_TECH_HS_1.Applications.Add(new PWMApplication { ApplicationId = _(ID.PWM___L0_WELL_S1), MinimalOnLevel = DEFAULT_MIN_DIM_LEVEL, StandbyController = _(ID.STDBY_L0_TECH_48V), OutputRessources = new List <ushort> { (ushort)PwmPin.P07 } }); //140 Dusche SNSCT_L0_TECH_HS_1.Applications.Add(new PWMApplication { ApplicationId = _(ID.PWM___L0_WELL_S2), MinimalOnLevel = DEFAULT_MIN_DIM_LEVEL, StandbyController = _(ID.STDBY_L0_TECH_48V), OutputRessources = new List <ushort> { (ushort)PwmPin.P06 } }); //138 WC //WORK SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L0_WORK_B11, (ushort)InputPin.I03, ID.POWIT_L0_WORK_C1); //12 SNSCT_L0_TECH_HS_1.Applications.Add(new PoweritemApplication { ApplicationId = _(ID.POWIT_L0_WORK_C1), OutputRessource = (ushort)OutputPin.O21 }); //RL2 #endregion #region LX //Back SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_LX_BACK_P1, (ushort)OutputPin.O21); //RL18 SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_LX_BACK_W1, (ushort)OutputPin.O12); //RL27 SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_LX_BACK_W2, (ushort)OutputPin.O11); //RL26 SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_LX_BACK_W3, (ushort)OutputPin.O10); //RL25 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_LX_BACK_J1), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O10, OutputRessourceDownOrDirection = (ushort)OutputPin.O20, RelayMode = RelayMode.INTERLOCKED_ACTIVE_DOWN, }); //K19 K20 //Front (Klingelknopf, Licht, Bewegungsmelder) SNSCT_L0_TECH_HS_2.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_LX_FRON_B1), CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.START, TargetAppId = _(ID.DEVCE_L0_TECH_AUDIO), } }, InputRessource = (ushort)InputPin.I22, }); SNSCT_L0_TECH_HS_2.Applications.Add(new LightbarrierApplication { ApplicationId = _(ID.LIBAR_LX_FRON_B2), InputRessource = (ushort)InputPin.I23, //Relais-Kabel ActiveSignalLevel = true, BrightnessSensor = _(ID.NO_APPLICATION), //_(ID.SBRGH_LX_ROOF), FinalTarget = _(ID.POWIT_LX_FRON_W1), }); SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_LX_FRON_W1, (ushort)OutputPin.O16);//RL31 //GARA SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_LX_GARA_B11, (ushort)InputPin.I02, ID.POWIT_LX_GARA_C1); //4 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_LX_GARA_B21, (ushort)InputPin.I01, ID.BLIND_LX_GARA_J1); //2 SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_LX_GARA_C1, (ushort)OutputPin.O15); //RL30 SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.BLIND_LX_GARA_J1, (ushort)OutputPin.O18, 500); //unbeschriftet //LEFT SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_LX_LEFT_W1, (ushort)OutputPin.O14); //RL29 //RGHT SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_LX_RGHT_W1, (ushort)OutputPin.O13);//RL28 #endregion #region L1 //BATH SNSCT_L0_TECH_HS_2.Applications.Add( new PushButtonXApplication() { ApplicationId = _(ID.PUSHB_L1_BATH_B11), InputRessource = (ushort)InputPin.I04, //96 CommandsOnReleased = new List <Command>() { new Command() { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.RGBW__L1_BATH_W1), }, }, CommandsOnReleasedShort = new List <Command>() { new Command() { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___L1_BATH_S), }, }, CommandsOnPressedShortAndHold = new List <Command>() { new Command() { CommandType = CommandType.START, TargetAppId = _(ID.PWM___L1_BATH_S), }, }, CommandsOnReleasedLong = new List <Command>() { new Command() { CommandType = CommandType.STOP, TargetAppId = _(ID.PWM___L1_BATH_S), }, }, } ); SNSCT_L0_TECH_HS_2.Applications.AddBlindButtons(ID.PUSHB_L1_BATH_B12, ID.PUSHB_L1_BATH_B13, (ushort)InputPin.I03, (ushort)InputPin.I02, ID.BLIND_L1_BATH_J1); //94+93 SNSCT_L0_TECH_HS_1.Applications.Add(new PWMApplication { ApplicationId = _(ID.PWM___L1_BATH_S), StandbyController = _(ID.STDBY_L0_TECH_48V), OutputRessources = new List <ushort> { (ushort)PwmPin.P04 } }); //128 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_BATH_J1), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O01, OutputRessourceDownOrDirection = (ushort)OutputPin.O11, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K1 K2 //Dekoleuchten werden aus dem 48V-Netzteil + Spannungswandler versorgt SNSCT_L0_TECH_HS_2.Applications.Add(new RgbwApplication { ApplicationId = _(ID.RGBW__L1_BATH_W1), StandbyController = _(ID.STDBY_L0_TECH_48V), LowMeansLampOn = true, OutputRessourceR = PwmPin.OP01, OutputRessourceB = (ushort)PwmPin.OP02, OutputRessourceG = (ushort)PwmPin.OP03, OutputRessourceW = (ushort)PwmPin.NONE }); //CORR //Hinweis: LeavingHome/ComingHome ist noch nicht beschaltet SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_CORR_B11, (ushort)InputPin.I14, ID.PWM___L1_CORR_S); //52 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_CORR_B21, (ushort)InputPin.I32, ID.PWM___L1_CORR_S); //88 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_CORR_B22, (ushort)InputPin.I31, ID.POWIT_L1_CORR_W1); //86 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_CORR_B23, (ushort)InputPin.I30, ID.PWM___L1_CORR_S); //85 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_CORR_B24, (ushort)InputPin.I29, ID.POWIT_L1_CORR_W1); //84 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_CORR_B25, (ushort)InputPin.I28, ID.POWIT_LX_FRON_W1); //82 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_CORR_B26, (ushort)InputPin.I27, ID.POWIT_LX_LEFT_W1); //81 SNSCT_L0_TECH_HS_1.Applications.Add(new PWMApplication { ApplicationId = _(ID.PWM___L1_CORR_S), MinimalOnLevel = DEFAULT_MIN_DIM_LEVEL, StandbyController = _(ID.STDBY_L0_TECH_48V), OutputRessources = new List <ushort> { (ushort)PwmPin.P03, (ushort)PwmPin.P02, (ushort)PwmPin.P01 } }); //126, 125, 124 SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_L1_CORR_W1, (ushort)OutputPin.O09); //RL24 //L1.KTCH SNSCT_L1_KTCH_UP.Applications.AddRotaryEncoder(ID.ROTAR_L1_KTCH_B21, RotaryEncoder.ROTARYENCODER_1, (ushort)InputPin.ROTAR_PUSH_1, ID.PWM___L1_KTCH_S1); SNSCT_L1_KTCH_UP.Applications.AddRotaryEncoder(ID.ROTAR_L1_KTCH_B22, RotaryEncoder.ROTARYENCODER_2, (ushort)InputPin.ROTAR_PUSH_2, ID.PWM___L1_KTCH_S2); SNSCT_L1_KTCH_UP.Applications.AddToggleButton(ID.PUSHB_L1_KTCH_B23, (ushort)InputPin.I01, ID.POWIT_L1_KTCH_C1); SNSCT_L1_KTCH_UP.Applications.AddToggleButton(ID.PUSHB_L1_KTCH_B24, (ushort)InputPin.I02, ID.POWIT_L1_KTCH_W1); SNSCT_L1_KTCH_UP.Applications.AddBlindButtons(ID.PUSHB_L1_KTCH_B25, ID.PUSHB_L1_KTCH_B26, (ushort)InputPin.I03, (ushort)InputPin.I04, ID.BLIND_L1_KTCH_J1); SNSCT_L1_KTCH_UP.Applications.AddBlindButtons(ID.PUSHB_L1_KTCH_B27, ID.PUSHB_L1_KTCH_B28, (ushort)InputPin.I05, (ushort)InputPin.I06, ID.BLIND_L1_KTCH_J2); //Vier Spots SNSCT_L1_KTCH_UP.Applications.Add(new PWMApplication { ApplicationId = _(ID.PWM___L1_KTCH_S1), MinimalOnLevel = DEFAULT_MIN_DIM_LEVEL, StandbyController = _(ID.STDBY_L0_TECH_48V), OutputRessources = new List <PwmPin> { PwmPin.P16, PwmPin.P17, PwmPin.P18, PwmPin.P19 } }); //Einzelspot SNSCT_L1_KTCH_UP.Applications.Add(new PWMApplication { ApplicationId = _(ID.PWM___L1_KTCH_S2), MinimalOnLevel = DEFAULT_MIN_DIM_LEVEL, StandbyController = _(ID.STDBY_L0_TECH_48V), OutputRessources = new List <PwmPin> { PwmPin.P20 } }); SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_KTCH_B11, (ushort)InputPin.I26, ID.POWIT_L1_KTCH_C1); //80 SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_KTCH_B12, (ushort)InputPin.I25, ID.POWIT_LX_BACK_W1); //78 SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_KTCH_B31, (ushort)InputPin.I24, ID.PWM___L1_KTCH_S2); //76 SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_L1_KTCH_C1, (ushort)OutputPin.O08); //RL23 SNSCT_L0_TECH_HS_2.Applications.AddPowIt(ID.POWIT_L1_KTCH_W1, (ushort)OutputPin.O07); //RL22 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_KTCH_J1), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O03, OutputRessourceDownOrDirection = (ushort)OutputPin.O13, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K5 K6 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_KTCH_J2), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O02, OutputRessourceDownOrDirection = (ushort)OutputPin.O12, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K3 K4 //L1.LVNG SNSCT_L1_LVNG_UP.Applications.AddBlindButtons(ID.PUSHB_L1_LVNG_B31, ID.PUSHB_L1_LVNG_B32, (ushort)InputPin.I01, (ushort)InputPin.I02, ID.BLIND_L1_LVNG_J1); SNSCT_L1_LVNG_UP.Applications.AddBlindButtons(ID.PUSHB_L1_LVNG_B33, ID.PUSHB_L1_LVNG_B34, (ushort)InputPin.I03, (ushort)InputPin.I04, ID.BLIND_L1_LVNG_J2); SNSCT_L1_LVNG_UP.Applications.AddBlindButtons(ID.PUSHB_L1_LVNG_B35, ID.PUSHB_L1_LVNG_B36, (ushort)InputPin.I05, (ushort)InputPin.I06, ID.BLIND_L1_LVNG_J3); SNSCT_L1_LVNG_UP.Applications.AddRotaryEncoder(ID.ROTAR_L1_LVNG_B41, RotaryEncoder.ROTARYENCODER_2, (ushort)InputPin.ROTAR_PUSH_2, ID.PWM___L1_LVNG_S); SNSCT_L1_LVNG_UP.Applications.AddRotaryEncoder(ID.ROTAR_L1_LVNG_B42, RotaryEncoder.ROTARYENCODER_1, (ushort)InputPin.ROTAR_PUSH_1, ID.PWM___L1_LVNG_S); SNSCT_L1_LVNG_UP.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B43, (ushort)InputPin.I07, ID.POWIT_L1_LVNG_W1); SNSCT_L1_LVNG_UP.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B44, (ushort)InputPin.I08, ID.POWIT_L1_LVNG_C1); SNSCT_L1_LVNG_UP.Applications.Add(new PWMApplication { ApplicationId = _(ID.PWM___L1_LVNG_S), MinimalOnLevel = DEFAULT_MIN_DIM_LEVEL, StandbyController = _(ID.STDBY_L2_CORR_24V), OutputRessources = new List <PwmPin> { PwmPin.P16, PwmPin.P17, PwmPin.P18, PwmPin.P19, PwmPin.P20, PwmPin.P21, PwmPin.P22, PwmPin.P23, PwmPin.P24, PwmPin.P25, PwmPin.P26, PwmPin.P27 } }); //B11 I23 //B12 I22 //B13 I21 //14 I17 // SNSCT_L0_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L1_LVNG_B11, ID.PUSHB_L1_LVNG_B12, (ushort)InputPin.I23, (ushort)InputPin.I22, ID.BLIND_LX_BACK_J1); SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B13, (ushort)InputPin.I21, ID.POWIT_LX_BACK_W2); SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B14, (ushort)InputPin.I17, ID.POWIT_LX_BACK_W3); SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B15, (ushort)InputPin.I16, ID.POWIT_LX_BACK_P1);//P1 sind die Außensteckdosen SNSCT_L0_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L1_LVNG_B16, (ushort)InputPin.I15, ID.PWM___L1_LVNG_S); SNSCT_L0_TECH_HS_1.Applications.AddTwoDimButtons(ID.PUSHB_L1_LVNG_B21, ID.PUSHB_L1_LVNG_B22, (ushort)InputPin.I20, (ushort)InputPin.I19, ID.PWM___L1_LVNG_W4); SNSCT_L0_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B23, (ushort)InputPin.I18, ID.POWIT_LX_RGHT_W1); SNSCT_L0_TECH_HS_2.Applications.AddOneDimButton(ID.PUSHB_L1_LVNG_B51, (ushort)InputPin.I21, ID.PWM___L1_LVNG_S); //120 SNSCT_L0_TECH_HS_2.Applications.AddOneDimButton(ID.PUSHB_L1_LVNG_B52, (ushort)InputPin.I20, ID.PWM___L1_KTCH_S1); //118 SNSCT_L0_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_L1_LVNG_B53, (ushort)InputPin.I19, ID.POWIT_L1_KTCH_C1); //117 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_LVNG_J1), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O04, OutputRessourceDownOrDirection = (ushort)OutputPin.O14, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); ///K7 K8 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_LVNG_J2), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O05, OutputRessourceDownOrDirection = (ushort)OutputPin.O15, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K9 K10 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_LVNG_J3), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O06, OutputRessourceDownOrDirection = (ushort)OutputPin.O16, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K11 K12 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_LVNG_C1, (ushort)OutputPin.O29); SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_LVNG_W1, (ushort)OutputPin.O31); //W2 ist parallel zu W1 geschaltet //W3 ist noch nicht existente Effektbeleuchtung //Begin beCareful: Wird vom zweiten device gesteuert, weil dessen Pfostenstecker noch frei ist SNSCT_L0_TECH_HS_2.Applications.Add(new PWMApplication() { ApplicationId = _(ID.PWM___L1_LVNG_W4), MinimalOnLevel = DEFAULT_MIN_DIM_LEVEL, StandbyController = _(ID.STDBY_L0_TECH_48V), OutputRessources = new List <PwmPin> { PwmPin.P01 } }); //OutputPin.O30 wird frei! //End BeCareful //UTIL SNSCT_L0_TECH_HS_2.Applications.AddBlindButtons(ID.PUSHB_L1_UTIL_B11, ID.PUSHB_L1_UTIL_B12, (ushort)InputPin.I18, (ushort)InputPin.I17, ID.BLIND_L1_UTIL_J1); //116 + 114 SNSCT_L0_TECH_HS_2.Applications.AddOneDimButton(ID.PUSHB_L1_UTIL_B13, (ushort)InputPin.I16, ID.PWM___L1_KTCH_S1); //113,unterhalb des Jalousietasters, weil für anderen Raum SNSCT_L0_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_L1_UTIL_B21, (ushort)InputPin.I15, ID.POWIT_L1_UTIL_C1); //112 SNSCT_L0_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_L1_UTIL_B22, (ushort)InputPin.I14, ID.POWIT_LX_LEFT_W1); //110 SNSCT_L0_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_L1_UTIL_B23, (ushort)InputPin.I13, ID.BLIND_LX_GARA_J1); //109 SNSCT_L0_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_L1_UTIL_B24, (ushort)InputPin.I12, ID.BLIND_LX_GARA_J1); //108 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_UTIL_C1, (ushort)OutputPin.O26); //rl8 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_UTIL_J1), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O07, OutputRessourceDownOrDirection = (ushort)OutputPin.O17, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //WORK SNSCT_L0_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_L1_WORK_B11, (ushort)InputPin.I07, ID.POWIT_L1_WORK_C1); //100 SNSCT_L0_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_L1_WORK_B12, (ushort)InputPin.I06, ID.POWIT_L1_WORK_C2); //98 SNSCT_L0_TECH_HS_2.Applications.AddBlindButtons(ID.PUSHB_L1_WORK_B13, ID.PUSHB_L1_WORK_B14, (ushort)InputPin.I05, (ushort)InputPin.I11, ID.BLIND_L1_WORK_J1); //97+104 SNSCT_L0_TECH_HS_2.Applications.AddBlindButtons(ID.PUSHB_L1_WORK_B15, ID.PUSHB_L1_WORK_B16, (ushort)InputPin.I10, (ushort)InputPin.I09, ID.BLIND_L1_WORK_J2); //103+102 SNSCT_L0_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_L1_WORK_B17, (ushort)InputPin.I08, ID.POWIT_LX_RGHT_W1); //101 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_WORK_C1, (ushort)OutputPin.O28); //rl10 SNSCT_L0_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L1_WORK_C2, (ushort)OutputPin.O27); //rl9 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_WORK_J1), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O08, OutputRessourceDownOrDirection = (ushort)OutputPin.O18, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K13 14 SNSCT_L0_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L1_WORK_J2), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = (ushort)OutputPin.O09, OutputRessourceDownOrDirection = (ushort)OutputPin.O19, RelayMode = RelayMode.INTERLOCKED_ACTIVE_UP }); //K15 16 #endregion #region L2 //BATH SNSCT_L2_BATH_UP.Applications.AddRotaryEncoder(ID.ROTAR_L2_BATH_B11, RotaryEncoder.ROTARYENCODER_1, SensactUp02.Pin_ROTD, ID.PWM___L2_BATH_S); SNSCT_L2_BATH_UP.Applications.AddRotaryEncoder(ID.ROTAR_L2_BATH_B12, RotaryEncoder.ROTARYENCODER_2, SensactUp02.Pin_xROTD, ID.RGBW__L2_BATH_W); //Start "be careful". These buttons are connected to central sensact SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_BATH_B13, ID.PUSHB_L2_BATH_B14, BB + I2C + 1, BB + I2C + 0, ID.BLIND_L2_BATH_J1);//4 2 //End "be careful" SNSCT_L2_BATH_UP.Applications.AddPWMApplication(ID.PWM___L2_BATH_S, ID.STDBY_L3_ROOF_48V, new List <ushort> { BUS0 + I2C + 0, BUS0 + I2C + 1, BUS0 + I2C + 2 }); SNSCT_L2_BATH_UP.Applications.Add(new RgbwApplication { ApplicationId = _(ID.RGBW__L2_BATH_W), StandbyController = _(ID.STDBY_L3_ROOF_48V), LowMeansLampOn = true, OutputRessourceR = /*Nach L2.Corr!*/ BUS0 + I2C + 6, OutputRessourceG = BUS0 + I2C + 7, OutputRessourceB = BUS0 + I2C + 8, OutputRessourceW = BUS0 + I2C + 9 }); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_BATH_J1, 40, RB + I2C + 16, RB + I2C + 25, RelayMode.INTERLOCKED_ACTIVE_UP); //L2.BEDR SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B11, BB + I2C + 3, ID.POWIT_L2_BEDR_P3); //Erst mal nur Netzfreischaltung SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B12, BB + I2C + 2, ID.POWIT_L2_BEDR_P1); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_BEDR_B13, BB + I2C + 6, ID.PWM___L2_BEDR_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_BEDR_B14, ID.PUSHB_L2_BEDR_B15, BB + I2C + 5, BB + I2C + 4, ID.BLIND_L2_BEDR_J1); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B25, BB + I2C + 10, ID.POWIT_L2_BEDR_P3); //Erst mal nur Netzfreischaltung SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B24, BB + I2C + 11, ID.POWIT_L2_BEDR_P2); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_BEDR_B23, BB + I2C + 9, ID.PWM___L2_BEDR_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_BEDR_B21, ID.PUSHB_L2_BEDR_B22, BB + I2C + 8, BB + I2C + 7, ID.BLIND_L2_BEDR_J1); SNSCT_L3_TECH_HS_1.Applications.AddTwoDimButtons(ID.PUSHB_L2_BEDR_B31, ID.PUSHB_L2_BEDR_B32, BB + I2C + 15, BB + I2C + 13, ID.PWM___L2_BEDR_S); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B33, BB + I2C + 12, ID.POWIT_L2_BEDR_P1); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_BEDR_B34, BB + I2C + 17, ID.POWIT_L2_BEDR_P2); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_BEDR_B35, ID.PUSHB_L2_BEDR_B36, BB + I2C + 14, BB + I2C + 16, ID.BLIND_L2_BEDR_J1); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_BEDR_J1, 40, RB + I2C + 17, RB + I2C + 26, RelayMode.INTERLOCKED_ACTIVE_UP); SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L2_BEDR_S, ID.STDBY_L3_TECH_48V, new List <ushort> { RB + I2C + 1, RB + I2C + 2 }); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_BEDR_P1, RB + I2C + 44); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_BEDR_P2, RB + I2C + 45); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_BEDR_P3, RB + I2C + 46); //L2.CORR SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_CORR_B11, BB + I2C + 20, ID.PWM___L2_CORR_S); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_CORR_B21, BB + I2C + 19, ID.PWM___L2_CORR_S); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_CORR_B31, BB + I2C + 18, ID.PWM___L2_CORR_S); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_CORR_B41, BB + I2C + 23, ID.PWM___L2_CORR_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_CORR_B42, ID.PUSHB_L2_CORR_B43, BB + I2C + 22, BB + I2C + 21, ID.BLIND_L2_CORR_J1); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_CORR_J1, 40, RB + I2C + 18, RB + I2C + 27, RelayMode.INTERLOCKED_ACTIVE_UP); //Start be careful: The LED Spots are controlled by the bath-sensactUP SNSCT_L2_BATH_UP.Applications.AddPWMApplication(ID.PWM___L2_CORR_S, ID.STDBY_L3_ROOF_48V, new List <ushort> { BUS0 + I2C + 3, BUS0 + I2C + 4, BUS0 + I2C + 5 }, 1000 * 60 * 240); //End be careful //KID1 SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_KID1_B11, BB + I2C + 26, ID.POWIT_L2_KID1_C1); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_KID1_B12, ID.PUSHB_L2_KID1_B13, BB + I2C + 25, BB + I2C + 24, ID.BLIND_L2_KID1_J1); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_KID1_B21, BB + I2C + 28, ID.POWIT_L2_KID1_C1); SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_KID1_B22, BB + I2C + 27, ID.POWIT_L2_KID1_C2); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_KID1_C1, RB + I2C + 39); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_KID1_C2, RB + I2C + 40, 360000); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_KID1_J1, 40, RB + I2C + 19, RB + I2C + 28, RelayMode.INTERLOCKED_ACTIVE_UP); //KID2 SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L2_KID2_B11, BB + I2C + 31, ID.POWIT_L2_KID2_C1); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_KID2_B12, ID.PUSHB_L2_KID2_B13, BB + I2C + 30, BB + I2C + 29, ID.BLIND_L2_KID2_J1); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L2_KID2_C1, RB + I2C + 41); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_KID2_J1, 40, RB + I2C + 20, RB + I2C + 29, RelayMode.INTERLOCKED_ACTIVE_UP); //WORK SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L2_WORK_B11, BB + I2C + 34, ID.PWM___L2_WORK_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L2_WORK_B12, ID.PUSHB_L2_WORK_B13, BB + I2C + 33, BB + I2C + 32, ID.BLIND_L2_WORK_J1); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L2_WORK_J1, 40, RB + I2C + 21, RB + I2C + 30, RelayMode.INTERLOCKED_ACTIVE_UP); SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L2_WORK_S, ID.STDBY_L3_TECH_48V, new List <ushort> { RB + I2C + 3, RB + I2C + 4 }); #endregion #region L3 //BEDR SNSCT_L3_TECH_HS_1.Applications.AddToggleButton(ID.PUSHB_L3_BEDR_B11, BB + I2C + 38, ID.POWIT_L3_BEDR_C1); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L3_BEDR_B12, BB + I2C + 37, ID.PWM___LS_STRS_W6); /* * SNSCT_L3_TECH_HS_1.Applications.Add(new PushButtonXApplication * { * ApplicationId = _(ID.PUSHB_L3_BEDR_B12), * InputRessource = BB + I2C + 37, * CommandsOnPressed = new List<Command> * { * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.PWM___L3_CORR_S), * }, * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.PWM___LS_STRS_W6), * }, * } * * }); */ SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L3_BEDR_B13, ID.PUSHB_L3_BEDR_B14, BB + I2C + 36, BB + I2C + 35, ID.BLIND_L3_BEDR_J1); SNSCT_L3_TECH_HS_1.Applications.AddPowIt(ID.POWIT_L3_BEDR_C1, RB + I2C + 42, 1000 * 60 * 240); SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L3_BEDR_J1, 40, RB + I2C + 23, RB + I2C + 32, RelayMode.INTERLOCKED_ACTIVE_DOWN); //J2-Relais sind frei, ggf J1 und J2 vertauscht, falls Rolladen nicht geht //CORR SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L3_CORR_S, ID.STDBY_L3_TECH_48V, new List <ushort> { RB + I2C + 5 }, 1000 * 60 * 10); //TECH //SNSCT_L3_TECH_HS_1.Applications.AddPlaceholder(ID.SBRGH_LX_ROOF); SNSCT_L3_TECH_HS_1.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L3_TECH_48V), OutputRessource = RB + I2C + 35, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); SNSCT_L3_TECH_HS_1.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L3_ROOF_48V), OutputRessource = RB + I2C + 34, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); //WORK SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L3_WORK_B11, BB + I2C + 41, ID.PWM___L3_WORK_C1); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L3_WORK_B12, BB + I2C + 40, ID.PWM___L3_WORK_S); SNSCT_L3_TECH_HS_1.Applications.AddBlindButtons(ID.PUSHB_L3_WORK_B13, ID.PUSHB_L3_WORK_B14, BB + I2C + 39, BB + I2C + 44, ID.BLIND_L3_WORK_J1); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_L3_WORK_B15, BB + I2C + 43, ID.PWM___LS_STRS_W6); /* * SNSCT_L3_TECH_HS_1.Applications.Add(new PushButtonXApplication * { * ApplicationId = _(ID.PUSHB_L3_WORK_B15), * InputRessource = BB + I2C + 43, * CommandsOnPressed = new List<Command> * { * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.PWM___L3_CORR_S), * }, * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.PWM___LS_STRS_W6), * }, * } * * }); */ SNSCT_L3_TECH_HS_1.Applications.AddBlindApplication(ID.BLIND_L3_WORK_J1, 40, RB + I2C + 22, RB + I2C + 31, RelayMode.INTERLOCKED_ACTIVE_DOWN); //SNSCT_L3_TECH_HS_1.Applications.Add(new BlindApplication { ApplicationId = _(ID.BLIND_L3_WORK_J2), OpenCloseTimeInSeconds = 40, OutputRessourceUpOrPower = BUS0 + I2C + 8, OutputRessourceDownOrDirection = BUS0 + I2C + 17, RelayMode = RelayMode.INTERLOCKED_ACTIVE_DOWN }); SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L3_WORK_S, ID.STDBY_L3_TECH_48V, new List <ushort> { RB + I2C + 6, RB + I2C + 7, RB + I2C + 8 }); SNSCT_L3_TECH_HS_1.Applications.Add(new StandbyControllerApplication { ApplicationId = _(ID.STDBY_L3_WORK_C1), OutputRessource = RB + I2C + 43, WaittimeInMsec = DEFAULT_STANDBYCONTROLLER_WAITTIME_MSECS }); //RL10 SNSCT_L3_TECH_HS_1.Applications.AddPWMApplication(ID.PWM___L3_WORK_C1, ID.STDBY_L3_WORK_C1, new List <ushort> { RB + I2C + 0 }); #endregion #region LS /* * SNSCT_L3_TECH_HS_2.Applications.Add(new LightbarrierApplication * { * ApplicationId= _(ID.LIBAR_LS_STRS_B11), * ActiveSignalLevel=true, * BrightnessSensor= _(ID.NO_APPLICATION),//_(ID.SBRGH_LX_ROOF), * FinalTarget =_(ID.PWM___LS_STRS_W2), * InputRessource= BUS0 + I2C + 45, * }); */ //SNSCT_L3_TECH_HS_2.Applications.AddToggleButton(ID.PUSHB_LS_STRS_B21, InputPin.I21, ID.POWIT_LS_STRS_W3); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B21, BB + I2C + 48, ID.PWM___LS_STRS_W4); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B22, BB + I2C + 47, ID.PWM___L1_CORR_S); SNSCT_L3_TECH_HS_1.Applications.Add(new PushButtonXApplication { ApplicationId = _(ID.PUSHB_LS_STRS_B23), InputRessource = BB + I2C + 46, CommandsOnPressed = new List <Command> { new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.POWIT_L0_CORR_C1), }, new Command { CommandType = CommandType.TOGGLE, TargetAppId = _(ID.PWM___LS_STRS_W2), }, /* * new Command * { * CommandType=CommandType.TOGGLE, * TargetAppId=_(ID.POWIT_LS_STRS_W1), * }, */ } }); /* * SNSCT_L3_TECH_HS_2.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B31), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),// _(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W2), * InputRessource = BUS0 + I2C + 49, * }); * * SNSCT_L3_TECH_HS_2.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B32), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),//_(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W4), * InputRessource = BUS0 + I2C + 50, * }); */ SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B41, BB + I2C + 55, ID.PWM___LS_STRS_W6); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B42, BB + I2C + 54, ID.PWM___L2_CORR_S); //SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B43, InputPin.I22, ID.POWIT_LS_STRS_W3); SNSCT_L3_TECH_HS_1.Applications.AddOneDimButton(ID.PUSHB_LS_STRS_B43, BB + I2C + 53, ID.PWM___LS_STRS_W4); /* * SNSCT_L3_TECH_HS_1.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B51), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),//_(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W4), * InputRessource = BUS0 + I2C + 51, * }); * SNSCT_L3_TECH_HS_1.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B52), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),//_(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W6), * InputRessource = BUS0 + I2C + 52, * }); * * * * SNSCT_L3_TECH_HS_1.Applications.Add(new LightbarrierApplication * { * ApplicationId = _(ID.LIBAR_LS_STRS_B71), * ActiveSignalLevel = true, * BrightnessSensor = _(ID.NO_APPLICATION),// _(ID.SBRGH_LX_ROOF), * FinalTarget = _(ID.PWM___LS_STRS_W6), * InputRessource = BUS0 + I2C + 42, * }); */ //!!!SNSAC_L1_LVNG_UP //Treppenstufen, vom Keller zum Dach SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W2, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 16 }, 1000 * 60 * 60 * 6 /*Verzögerung siehe Wand*/); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W4, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 17 }, 1000 * 120); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W6, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 18 }, 1000 * 120); //Wandlampen, vom Keller zum Dach SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W1, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 19 }, 1000 * 60 * 60 * 6 /*Verzögerung siehe Treppe*/); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W3, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 20 }, 1000 * 120); SNSCT_L1_LVNG_UP.Applications.AddPWMApplication(ID.PWM___LS_STRS_W5, ID.STDBY_L2_CORR_24V, new List <ushort> { BUS0 + I2C + 21 }, 1000 * 120); #endregion return(model); }