public void Setup(Home home, CCToolsBoardController ccToolsController, IOBoardManager ioBoardManager, DHT22Accessor dht22Accessor) { var hspe16_FloorAndLowerBathroom = ioBoardManager.GetOutputBoard(Device.LowerFloorAndLowerBathroomHSPE16); var input3 = ioBoardManager.GetInputBoard(Device.Input3); const int SensorPin = 3; //5; var bathroom = home.AddRoom(Room.LowerBathroom) .WithMotionDetector(LowerBathroom.MotionDetector, input3.GetInput(15)) .WithTemperatureSensor(LowerBathroom.TemperatureSensor, dht22Accessor.GetTemperatureSensor(SensorPin)) .WithHumiditySensor(LowerBathroom.HumiditySensor, dht22Accessor.GetHumiditySensor(SensorPin)) .WithLamp(LowerBathroom.LightCeilingDoor, hspe16_FloorAndLowerBathroom.GetOutput(0).WithInvertedState()) .WithLamp(LowerBathroom.LightCeilingMiddle, hspe16_FloorAndLowerBathroom.GetOutput(1).WithInvertedState()) .WithLamp(LowerBathroom.LightCeilingWindow, hspe16_FloorAndLowerBathroom.GetOutput(2).WithInvertedState()) .WithLamp(LowerBathroom.LampMirror, hspe16_FloorAndLowerBathroom.GetOutput(4).WithInvertedState()) .WithWindow(LowerBathroom.Window, w => w.WithCenterCasement(input3.GetInput(13), input3.GetInput(14))); bathroom.CombineActuators(LowerBathroom.CombinedLights) .WithActuator(bathroom.Lamp(LowerBathroom.LightCeilingDoor)) .WithActuator(bathroom.Lamp(LowerBathroom.LightCeilingMiddle)) .WithActuator(bathroom.Lamp(LowerBathroom.LightCeilingWindow)) .WithActuator(bathroom.Lamp(LowerBathroom.LampMirror)); bathroom.SetupAutomaticTurnOnAndOffAction() .WithTrigger(bathroom.MotionDetector(LowerBathroom.MotionDetector)) .WithTarget(bathroom.BinaryStateOutput(LowerBathroom.CombinedLights)); }
public void Setup(Home home, CCToolsBoardController ccToolsController, IOBoardManager ioBoardManager, DHT22Accessor dht22Reader) { var hsrel8LowerHeatingValves = ccToolsController.CreateHSREL8(Device.LowerHeatingValvesHSREL8, 16); var hsrel5UpperHeatingValves = ccToolsController.CreateHSREL5(Device.UpperHeatingValvesHSREL5, 56); var hsrel5Stairway = ioBoardManager.GetOutputBoard(Device.StairwayHSREL5); var input3 = ioBoardManager.GetInputBoard(Device.Input3); var storeroom = home.AddRoom(Room.Storeroom) .WithMotionDetector(Storeroom.MotionDetector, input3.GetInput(12)) .WithLamp(Storeroom.LightCeiling, hsrel5Stairway.GetOutput(7).WithInvertedState()) .WithSocket(Storeroom.CatLitterBoxFan, hsrel8LowerHeatingValves.GetOutput(15)); storeroom.SetupAutomaticTurnOnAndOffAction() .WithTrigger(storeroom.MotionDetector(Storeroom.MotionDetector)) .WithTarget(storeroom.Lamp(Storeroom.LightCeiling)) .WithTarget(storeroom.Socket(Storeroom.CatLitterBoxFan)) .WithOnDuration(TimeSpan.FromMinutes(1)); storeroom.WithSocket(Storeroom.CirculatingPump, hsrel5UpperHeatingValves.GetOutput(3)); storeroom.SetupAutomaticTurnOnAndOffAction() .WithTrigger(home.Room(Room.Kitchen).MotionDetector(KitchenConfiguration.Kitchen.MotionDetector)) .WithTrigger(home.Room(Room.LowerBathroom).MotionDetector(LowerBathroomConfiguration.LowerBathroom.MotionDetector)) .WithTarget(storeroom.Socket(Storeroom.CirculatingPump)) .WithOnDuration(TimeSpan.FromMinutes(1)) .WithEnabledAtDay(home.WeatherStation); }