public LightModes(IHaContext ha, ILogger <LightModes> logger,
                      IScheduler scheduler, ILightingStates lightingStates)
    {
        _logger         = logger;
        _entities       = new Entities(ha);
        _scheduler      = scheduler;
        _lightingStates = lightingStates;

        _insideNoRoomControlNotBasement = new LightEntity[]
        {
            _entities.Light.Bathroom,
            _entities.Light.Mirror,
            _entities.Light.DrawingRoom,
            _entities.Light.Bookshelf,
            _entities.Light.DressingRoom,
            _entities.Light.GuestRoom,
            _entities.Light.Hallway,
            _entities.Light.HallwayLamp,
            _entities.Light.Kitchen,
            _entities.Light.BreakfastBarLamp,
            _entities.Light.Landing,
            _entities.Light.Studio
        };

        _bedroomLights = new LightEntity[]
        {
            _entities.Light.Bedroom,
            _entities.Light.BedsideLamp
        };

        _brightLightsNoRoomControl = new LightEntity[]
        {
            _entities.Light.Bathroom,
            _entities.Light.Hallway,
            _entities.Light.DrawingRoom,
            _entities.Light.Kitchen
        };

        _loungeLights = new LightEntity[]
        {
            _entities.Light.Lounge,
            _entities.Light.LoungeCornerLamp,
            _entities.Light.LoungeFloorLamp
        };

        BrightnessChanged();
        LightControlModeChanged();
    }
    public UpstairsLights(IHaContext ha, ILogger <UpstairsLights> logger, ILightingStates lightingStates)
    {
        _logger         = logger;
        _entities       = new Entities(ha);
        _lightingStates = lightingStates;

        LandingLightOnMovement();
        LandingLightOffNoMovement();
        BathroomLightsOnMovement();
        BathroomLightsOffNoMovement();
        BedroomLightsOnMovement();
        BedroomLightsOffNoMovement();
        GuestRoomLightOnMovement();
        GuestRoomLightOffNoMovement();
        DressingRoomLightOnMovement();
        DressingRoomLightOffNoMovement();
    }
    public DownstairsLights(IHaContext ha, ILogger <DownstairsLights> logger,
                            IScheduler scheduler, ILightingStates lightingStates)
    {
        _logger         = logger;
        _entities       = new Entities(ha);
        _scheduler      = scheduler;
        _lightingStates = lightingStates;

        // TODO: Fix Hallway motion sensor
        // TODO: Include door/doorbell to control hall lights too
        // HallwayLightOnMovement();
        // HallwayLightOffNoMovement();
        // HallwayLampOnMovement();
        // HallwayLampOffNoMovement();
        LoungeLightsOnMovement();
        LoungeLightsOffNoMovement();
        DrawingRoomLightsOnMovement();
        DrawingRoomLightsOffNoMovement();
        KitchenLightsOnMovement();
        KitchenLightsOffNoMovement();
    }