public static IHomeAssistantMqttConfigurationBuilder AddAlarmControlPanel( this IHomeAssistantMqttConfigurationBuilder configurationBuilder, IAlarmControlPanelMqttEntityConfiguration mqttEntityConfiguration) { configurationBuilder.TryRegisterStatefulEntityBindingManager <IAlarmControlPanelMqttEntityConfiguration, IAlarmControlPanel, IAlarmControlPanelEntityDefinition>(); configurationBuilder.ServiceCollection.AddSingleton(mqttEntityConfiguration); return(configurationBuilder); }
public static IHomeAssistantMqttConfigurationBuilder AddVacuum( this IHomeAssistantMqttConfigurationBuilder configurationBuilder, IVacuumMqttEntityConfiguration mqttEntityConfiguration) { configurationBuilder.TryRegisterEntityBindingManager <IVacuumMqttEntityConfiguration, IVacuum, IVacuumEntityDefinition>(); configurationBuilder.ServiceCollection.AddSingleton(mqttEntityConfiguration); return(configurationBuilder); }
public static IHomeAssistantMqttConfigurationBuilder AddBinarySensor( this IHomeAssistantMqttConfigurationBuilder configurationBuilder, IBinarySensorMqttEntityConfiguration mqttEntityConfiguration) { configurationBuilder.TryRegisterStatefulEntityBindingManager <IBinarySensorMqttEntityConfiguration, IBinarySensor, IBinarySensorEntityDefinition>(); configurationBuilder.ServiceCollection.AddSingleton(mqttEntityConfiguration); return(configurationBuilder); }
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> >(); }
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); }
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); }
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); }
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); }
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); }