Exemple #1
0
        public async Task Activated(CancellationToken cancellationToken = default)
        {
            var lightsToSwitchOn = await Light.LoadFromEntitiesId(connector, Light.Name.Halogen2, Light.Name.Halogen3);

            var allLights = await Light.LoadAllLights(connector, Light.Name.Halogen2, Light.Name.Halogen3);

            var allRgbLights = await RgbLight.LoadAllLights(connector);

            var allSwitches = await Switch.LoadAllLights(connector);

            var stairsLight = await InputNumber.LoadFromEntityId(connector, InputNumber.Name.StairsMinimumBrightness);

            var mediaPlayers = await MediaPlayer.LoadAll(connector);

            var cover = await Cover.LoadFromEntityId(connector, Cover.Name.Salon);

            await lightsToSwitchOn.TurnOnAll();

            await stairsLight.SetValue(30);

            await cover.CloseCover();

            await mediaPlayers.TurnOffAll();

            await allLights.TurnOffAll();

            await allRgbLights.TurnOffAll();

            await allSwitches.TurnOffAll();

            await Task.Delay(TimeSpan.FromSeconds(10), cancellationToken);

            await allRgbLights.TurnOffAll();

            await Task.Delay(TimeSpan.FromMinutes(5), cancellationToken);

            await lightsToSwitchOn.TurnOffAll();

            await stairsLight.SetValue(0);

            await Task.Delay(TimeSpan.FromSeconds(10), cancellationToken);

            await allLights.TurnOffAll();

            await allRgbLights.TurnOffAll();

            await lightsToSwitchOn.TurnOffAll();

            await stairsLight.SetValue(0);
        }
Exemple #2
0
        public async Task Activated(CancellationToken cancellationToken = default)
        {
            var lightsToSwitchOn = await Light.LoadFromEntitiesId(connector, Light.Name.Halogen2, Light.Name.Halogen3, Light.Name.ExternalLight);

            var allLights = await Light.LoadAllLights(connector, Light.Name.Halogen2, Light.Name.Halogen3);

            var allRgbLights = await RgbLight.LoadAllLights(connector);

            var allSwitches = await Switch.LoadAllLights(connector, Switch.Name.GardenLight);

            var stairsLight = await InputNumber.LoadFromEntityId(connector, InputNumber.Name.StairsMinimumBrightness);

            var mediaPlayers = await MediaPlayer.LoadAll(connector);

            var cover = await Cover.LoadFromEntityId(connector, Cover.Name.Salon);

            var gardenLight = await Switch.LoadFromEntityId(connector, Switch.Name.GardenLight);

            await lightsToSwitchOn.TurnOnAll();

            await gardenLight.TurnOn();

            var sunlight = await connector.LoadEntityFromStates <Sensor>(Sensor.Name.Sunlight.GetEntityId());

            if (int.TryParse(sunlight.State, out var result) && result < 4)
            {
                await cover.CloseCover();
            }

            await mediaPlayers.TurnOffAll();

            await allLights.TurnOffAll();

            await allRgbLights.TurnOffAll();

            await allSwitches.TurnOffAll();

            await stairsLight.SetValue(0);

            await Task.Delay(TimeSpan.FromMinutes(15), cancellationToken);

            await lightsToSwitchOn.TurnOffAll();

            await gardenLight.TurnOff();
        }
        public async Task Activated(CancellationToken cancellationToken = default)
        {
            var mushroom = await RgbLight.LoadFromEntityId(connector, RgbLight.Name.Mushroom);

            var tvleds = await RgbLight.LoadFromEntityId(connector, RgbLight.Name.TvLEDs);

            var stairs = await InputNumber.LoadFromEntityId(connector, InputNumber.Name.StairsMinimumBrightness);

            var lights = await Light.LoadFromEntitiesId(connector, Light.Name.Halogen1);

            await tvleds.TurnOnStandardWhite();

            await lights.TurnOnAll();

            await stairs.SetValueBasedOnTvState();

            await mushroom.TurnOnWithRandomColor();
        }
Exemple #4
0
        private async Task TurnOn()
        {
            var mushroom = await RgbLight.LoadFromEntityId(connector, RgbLight.Name.Mushroom);

            var tvleds = await RgbLight.LoadFromEntityId(connector, RgbLight.Name.TvLEDs);

            var sun = await Sun.Load(connector, dateTimeHelper);

            var tv = await MediaPlayer.LoadFromEntityId(connector, MediaPlayer.Name.Tv);

            if (tv.State == "on" &&
                sun.AfterSunset(-TimeSpan.FromMinutes(30)))
            {
                lastUpdateAfterSunset = DateTime.UtcNow;
                await tvleds.TurnOnStandardWhite();

                await mushroom.TurnOnWithRandomColor();
            }
        }