Esempio n. 1
0
 public static IEnumerable <Task <DeviceTracker> > LoadAllDeviceTrackers(HomeAssistantConnector connector, params Name[] except)
 {
     foreach (Name deviceTrackerName in ((Name[])Enum.GetValues(typeof(Name))).Except(except))
     {
         yield return(LoadFromEntityId(connector, deviceTrackerName));
     }
 }
        public AirPurifier2sSleepingRoom(
            ILogger <AirPurifier2sSleepingRoom> logger,
            HomeAssistantConnector connector,
            AutomationHelpersFactory automationHelpersFactory,
            IDateTimeHelper dateTimeHelper)
        {
            this.logger         = logger;
            this.connector      = connector;
            this.dateTimeHelper = dateTimeHelper;
            turnOffCondition    = automationHelpersFactory
                                  .GetConditionHelper()
                                  .For(TimeSpan.FromMinutes(forTurnOffTime));

            turnOnCondition = automationHelpersFactory
                              .GetConditionHelper()
                              .For(TimeSpan.FromMinutes(forTurnOnTime));

            silentSpeedCondition = automationHelpersFactory
                                   .GetConditionHelper()
                                   .For(TimeSpan.FromMinutes(speedChangeForTime));

            autoSpeedCondition = automationHelpersFactory
                                 .GetConditionHelper()
                                 .For(TimeSpan.FromMinutes(speedChangeForTime));
        }
        public static async Task <Sun> Load(HomeAssistantConnector connector, IDateTimeHelper dateTimeHelper)
        {
            var sun = await connector.LoadEntityFromStates <Sun>(EntityId);

            sun.DateTimeHelper = dateTimeHelper;
            return(sun);
        }
Esempio n. 4
0
 public static IEnumerable <Task <MediaPlayer> > LoadFromEntitiesId(HomeAssistantConnector connector, params Name[] lightNames)
 {
     foreach (var lightName in lightNames)
     {
         yield return(LoadFromEntityId(connector, lightName));
     }
 }
Esempio n. 5
0
 public static IEnumerable <Task <DeviceTracker> > LoadFromEntitiesId(HomeAssistantConnector connector, params Name[] deviceTrackerNames)
 {
     foreach (var lightName in deviceTrackerNames)
     {
         yield return(LoadFromEntityId(connector, lightName));
     }
 }
 public LightsComingHomeAutomation(ILogger <LightsComingHomeAutomation> logger,
                                   HomeAssistantConnector connector,
                                   IDateTimeHelper dateTimeHelper)
 {
     this.logger         = logger;
     this.connector      = connector;
     this.dateTimeHelper = dateTimeHelper;
 }
 public static IEnumerable <Task <Switch> > LoadFromEntitiesId(HomeAssistantConnector connector,
                                                               params Name[] switchNames)
 {
     foreach (var switchName in switchNames)
     {
         yield return(LoadFromEntityId(connector, switchName));
     }
 }
        public static async Task <XiaomiAirPurifier> LoadFromEntityId(HomeAssistantConnector connector, Name entityId)
        {
            var purifier = await connector.LoadEntityFromStates <XiaomiAirPurifier>(entityId.GetEntityId());

            purifier.pm25Sensor = await connector.LoadEntityFromStates <BaseEntity>($"sensor.{entityId.GetEntityId().Replace(".", "")}_pm2_5");

            purifier.favoriteLevelNumber = await connector.LoadEntityFromStates <BaseEntity>($"number.{entityId.GetEntityId().Replace(".", "")}_favorite_level");

            return(purifier);
        }
Esempio n. 9
0
        public static async Task <IList <MediaPlayer> > LoadAll(HomeAssistantConnector connector, params Name[] except)
        {
            var mediaPlayers = new List <MediaPlayer>();

            foreach (Name lightName in ((Name[])Enum.GetValues(typeof(Name))).Except(except))
            {
                mediaPlayers.Add(await LoadFromEntityId(connector, lightName));
            }

            return(mediaPlayers);
        }
Esempio n. 10
0
 public ScenesActivator(
     ILogger <ScenesActivator> logger,
     IEnumerable <IScene> scenes,
     HomeAssistantWebSocketConnector webSocketConnector,
     HomeAssistantConnector connector)
 {
     this.logger             = logger;
     this.scenes             = scenes;
     this.webSocketConnector = webSocketConnector;
     this.connector          = connector;
 }
        public static async Task <IList <Light> > LoadAllLights(HomeAssistantConnector connector, params Name[] except)
        {
            var lights = new List <Light>();

            foreach (Name lightName in ((Name[])Enum.GetValues(typeof(Name))).Except(except))
            {
                lights.Add(await LoadFromEntityId(connector, lightName));
            }

            return(lights);
        }
        public static async Task <IList <Light> > LoadFromEntitiesId(HomeAssistantConnector connector, params Name[] lightNames)
        {
            var lights = new List <Light>();

            foreach (var lightName in lightNames)
            {
                lights.Add(await LoadFromEntityId(connector, lightName));
            }

            return(lights);
        }
Esempio n. 13
0
        public static async Task <bool> IsAnyoneHome(HomeAssistantConnector connector, params Name[] except)
        {
            var usersToFind = new[] { Name.Arek, Name.Patrycja }.Except(except);
            var deviceTrackersTasks = LoadFromEntitiesId(connector, usersToFind.ToArray());

            var deviceTrackers = new List <DeviceTracker>();

            foreach (var deviceTrackerTask in deviceTrackersTasks)
            {
                deviceTrackers.Add(await deviceTrackerTask);
            }

            return(deviceTrackers.Any(t => t.State == "home"));
        }
        public AirPurifier2sTrening(
            ILogger <AirPurifier2sTrening> logger,
            HomeAssistantConnector connector,
            AutomationHelpersFactory automationHelpersFactory)
        {
            this.logger           = logger;
            this.connector        = connector;
            this.turnOffCondition = automationHelpersFactory
                                    .GetConditionHelper()
                                    .For(TimeSpan.FromMinutes(forTurnOffTime));

            this.turnOnCondition = automationHelpersFactory
                                   .GetConditionHelper()
                                   .For(TimeSpan.FromMinutes(forTurnOnTime));
        }
Esempio n. 15
0
 public AirHumidifierWaterLevelNotification(
     ILogger <AirHumidifierWaterLevelNotification> logger,
     HomeAssistantConnector connector,
     AutomationHelpersFactory automationHelpersFactory,
     NotificationPushService notificationPushService,
     IDateTimeHelper dateTimeHelper)
 {
     this.logger    = logger;
     this.connector = connector;
     this.notificationPushService = notificationPushService;
     this.dateTimeHelper          = dateTimeHelper;
     this.notifyCondition         = automationHelpersFactory
                                    .GetConditionHelper()
                                    .For(TimeSpan.Zero)
                                    .Name(logger, this.GetType().Name);
 }
Esempio n. 16
0
        public AirPurifierProAutomations(
            ILogger <AirPurifierProAutomations> logger,
            HomeAssistantConnector connector,
            AutomationHelpersFactory automationHelpersFactory,
            IDateTimeHelper dateTimeHelper)
        {
            this.logger           = logger;
            this.connector        = connector;
            this.dateTimeHelper   = dateTimeHelper;
            this.turnOffCondition = automationHelpersFactory
                                    .GetConditionHelper()
                                    .For(TimeSpan.FromMinutes(forTime));

            this.turnOnCondition = automationHelpersFactory
                                   .GetConditionHelper()
                                   .For(TimeSpan.FromMinutes(forTime));
        }
 public AutomationsSupervisor(
     ILogger <AutomationsSupervisor> logger,
     HomeAssistantConnector connector,
     HomeAssistantWebSocketConnector webSocketConnector,
     IEnumerable <IEntityStateAutomation> entityStateAutomations,
     IEnumerable <IEntitiesStateAutomation> entitiesStatesAutomations,
     IEnumerable <ITimeUpdate> timeUpdateAutomations,
     IDateTimeHelper dateTimeHelper)
 {
     this.logger                    = logger;
     this.connector                 = connector;
     this.webSocketConnector        = webSocketConnector;
     this.stateAutomations          = entityStateAutomations;
     this.entitiesStatesAutomations = entitiesStatesAutomations;
     this.timeUpdateAutomations     = timeUpdateAutomations;
     this.dateTimeHelper            = dateTimeHelper;
 }
        public AirHumidifierAutomations(
            ILogger <AirHumidifierAutomations> logger,
            HomeAssistantConnector connector,
            AutomationHelpersFactory automationHelpersFactory,
            IDateTimeHelper dateTimeHelper)
        {
            this.logger           = logger;
            this.connector        = connector;
            this.dateTimeHelper   = dateTimeHelper;
            this.turnOffCondition = automationHelpersFactory
                                    .GetConditionHelper()
                                    .Name(logger, "Air humidifier turning off")
                                    .For(TimeSpan.FromMinutes(1));

            this.turnOnCondition = automationHelpersFactory
                                   .GetConditionHelper()
                                   .Name(logger, "Air humidifier turning on")
                                   .For(TimeSpan.FromMinutes(10));
        }
Esempio n. 19
0
 public static async Task <Cover> LoadFromEntityId(HomeAssistantConnector entityLoader, Name coverName)
 {
     return(await entityLoader.LoadEntityFromStates <Cover>(coverName.GetEntityId()));
 }
 public static async Task <Light> LoadFromEntityId(HomeAssistantConnector connector, Name lightName)
 {
     return(await connector.LoadEntityFromStates <Light>(lightName.GetEntityId()));
 }
 public static async Task <InputSelect> LoadFromEntityId(HomeAssistantConnector connector, Name inputNumberName) =>
 await connector.LoadEntityFromStates <InputSelect>(inputNumberName.GetEntityId());
 public StandardLightScene(HomeAssistantConnector connector)
 {
     this.connector = connector;
 }
 public StopRunningScene(HomeAssistantConnector connector,
                         OfficeLightAutomation officeLightAutomation)
 {
     this.connector             = connector;
     this.officeLightAutomation = officeLightAutomation;
 }
 public RunningScene(HomeAssistantConnector connector)
 {
     this.connector = connector;
 }
 public static async Task <Switch> LoadFromEntityId(HomeAssistantConnector connector, Name switchName)
 {
     return(await connector.LoadEntityFromStates <Switch>(switchName.GetEntityId()));
 }
Esempio n. 26
0
 public BraviaSwitchOnLedLightsAutomation(HomeAssistantConnector connector,
                                          IDateTimeHelper dateTimeHelper)
 {
     this.connector      = connector;
     this.dateTimeHelper = dateTimeHelper;
 }
Esempio n. 27
0
 public OutHomeScene(HomeAssistantConnector connector,
                     IDateTimeHelper dateTimeHelper)
 {
     this.connector      = connector;
     this.dateTimeHelper = dateTimeHelper;
 }
 public NotificationPushService(HomeAssistantConnector connector)
 {
     this.connector = connector;
 }
Esempio n. 29
0
 public static async Task <XiaomiAirHumidifier> LoadFromEntityId(HomeAssistantConnector entityLoader, Name entityId)
 {
     return(await entityLoader.LoadEntityFromStates <XiaomiAirHumidifier>(entityId.GetEntityId()));
 }
Esempio n. 30
0
 public ExternalLightScene(HomeAssistantConnector connector)
 {
     this.connector = connector;
 }