Exemple #1
0
        public static IHomeAssistantMqttConfigurationBuilder AddAlarmControlPanel(
            this IHomeAssistantMqttConfigurationBuilder configurationBuilder,
            IAlarmControlPanelMqttEntityConfiguration mqttEntityConfiguration)
        {
            configurationBuilder.TryRegisterStatefulEntityBindingManager <IAlarmControlPanelMqttEntityConfiguration, IAlarmControlPanel, IAlarmControlPanelEntityDefinition>();

            configurationBuilder.ServiceCollection.AddSingleton(mqttEntityConfiguration);
            return(configurationBuilder);
        }
Exemple #2
0
        public static IHomeAssistantMqttConfigurationBuilder AddVacuum(
            this IHomeAssistantMqttConfigurationBuilder configurationBuilder,
            IVacuumMqttEntityConfiguration mqttEntityConfiguration)
        {
            configurationBuilder.TryRegisterEntityBindingManager <IVacuumMqttEntityConfiguration, IVacuum, IVacuumEntityDefinition>();

            configurationBuilder.ServiceCollection.AddSingleton(mqttEntityConfiguration);
            return(configurationBuilder);
        }
Exemple #3
0
        public static IHomeAssistantMqttConfigurationBuilder AddBinarySensor(
            this IHomeAssistantMqttConfigurationBuilder configurationBuilder,
            IBinarySensorMqttEntityConfiguration mqttEntityConfiguration)
        {
            configurationBuilder.TryRegisterStatefulEntityBindingManager <IBinarySensorMqttEntityConfiguration, IBinarySensor, IBinarySensorEntityDefinition>();

            configurationBuilder.ServiceCollection.AddSingleton(mqttEntityConfiguration);
            return(configurationBuilder);
        }
Exemple #4
0
 private static void TryRegisterStatefulEntityBindingManager <TMqttEntityConfiguration, TEntity, TEntityDefinition>(
     this IHomeAssistantMqttConfigurationBuilder configurationBuilder
     )
     where TMqttEntityConfiguration : IMqttStatefulEntityConfiguration <TEntity, TEntityDefinition>
     where TEntity : IStatefulEntity
     where TEntityDefinition : IStatefulEntityDefinition
 {
     configurationBuilder.ServiceCollection
     .TryAddSingleton <
         IMqttEntityBindingManager,
         MqttStatefulEntityBindingManager <TMqttEntityConfiguration, TEntity, TEntityDefinition> >();
 }
Exemple #5
0
        public static IHomeAssistantMqttConfigurationBuilder AddDeviceTrigger(
            this IHomeAssistantMqttConfigurationBuilder configurationBuilder,
            Func <IDeviceTriggerMqttEntityConfigurationBuilder, IDeviceTriggerMqttEntityConfigurationBuilder> configurator)
        {
            IDeviceTriggerMqttEntityConfigurationBuilder builder = new DeviceTriggerMqttEntityConfigurationBuilder();

            builder = configurator(builder);

            configurationBuilder.ServiceCollection.AddSingleton(sp =>
            {
                var entityConfiguration = builder.Build();
                return(entityConfiguration);
            });

            return(configurationBuilder);
        }
Exemple #6
0
        public static IHomeAssistantMqttConfigurationBuilder AddAlarmControlPanel(
            this IHomeAssistantMqttConfigurationBuilder configurationBuilder,
            Func <IAlarmControlPanelMqttEntityConfigurationBuilder, IAlarmControlPanelMqttEntityConfigurationBuilder> configurator)
        {
            IAlarmControlPanelMqttEntityConfigurationBuilder builder = new AlarmControlPanelMqttEntityConfigurationBuilder();

            builder = configurator(builder);

            configurationBuilder.ServiceCollection.AddSingleton(sp =>
            {
                var entityConfiguration = builder.Build();
                return(entityConfiguration);
            });

            return(configurationBuilder);
        }
Exemple #7
0
        public static IHomeAssistantMqttConfigurationBuilder AddBinarySensor(
            this IHomeAssistantMqttConfigurationBuilder configurationBuilder,
            Func <IBinarySensorMqttEntityConfigurationBuilder, IBinarySensorMqttEntityConfigurationBuilder> configurator)
        {
            configurationBuilder.TryRegisterStatefulEntityBindingManager <IBinarySensorMqttEntityConfiguration, IBinarySensor, IBinarySensorEntityDefinition>();

            IBinarySensorMqttEntityConfigurationBuilder builder = new BinarySensorMqttEntityConfigurationBuilder();

            builder = configurator(builder);

            configurationBuilder.ServiceCollection.AddSingleton(sp =>
            {
                var entityConfiguration = builder.Build();
                return(entityConfiguration);
            });

            return(configurationBuilder);
        }
Exemple #8
0
        public static IHomeAssistantMqttConfigurationBuilder AddAlarmControlPanel(
            this IHomeAssistantMqttConfigurationBuilder configurationBuilder,
            Func <IAlarmControlPanelMqttEntityConfigurationBuilder, IAlarmControlPanelMqttEntityConfigurationBuilder> configurator)
        {
            configurationBuilder.TryRegisterStatefulEntityBindingManager <IAlarmControlPanelMqttEntityConfiguration, IAlarmControlPanel, IAlarmControlPanelEntityDefinition>();

            IAlarmControlPanelMqttEntityConfigurationBuilder builder = new AlarmControlPanelMqttEntityConfigurationBuilder();

            builder = configurator(builder);

            configurationBuilder.ServiceCollection.AddSingleton(sp =>
            {
                IAlarmControlPanelMqttEntityConfiguration entityConfiguration = builder.Build();
                return(entityConfiguration);
            });

            return(configurationBuilder);
        }
Exemple #9
0
        public static IHomeAssistantMqttConfigurationBuilder AddVacuum(
            this IHomeAssistantMqttConfigurationBuilder configurationBuilder,
            Func <IVacuumMqttEntityConfigurationBuilder, IVacuumMqttEntityConfigurationBuilder> configurator)
        {
            configurationBuilder.TryRegisterEntityBindingManager <IVacuumMqttEntityConfiguration, IVacuum, IVacuumEntityDefinition>();

            IVacuumMqttEntityConfigurationBuilder builder = new VacuumMqttEntityConfigurationBuilder();

            builder = configurator(builder);

            configurationBuilder.ServiceCollection.AddSingleton(sp =>
            {
                var entityConfiguration = builder.Build();
                return(entityConfiguration);
            });

            return(configurationBuilder);
        }