private static ISwitchMqttEntityConfiguration CreateSwitchMqttEntityConfiguration(ISwitch switchEntity, ISwitchEntityDefinition switchEntityDefinition) { var ecb = new SwitchMqttEntityConfigurationBuilder() // BaseMqttEntityConfigurationBuilder .WithEntity(switchEntity) .WithEntityDefinition(switchEntityDefinition) .WithDiscoveryTopic("test/discovery") // -> CreateDefaultDiscoveryMessage .WithDiscoveryMessageQualityOfServiceLevel(MqttQualityOfServiceLevel.ExactlyOnce) .WithRetainedDiscoveryMessages(false) // .WithDiscoveryMessage(mb => mb.WithPayload("test")) // .WithDeleteMessage(mb => mb.WithPayload("test")) // Abstract .WithDefaultCommandHandlers() // BaseMqttStatefulEntityConfigurationBuilder .WithStateMessageQualityOfServiceLevel(MqttQualityOfServiceLevel.ExactlyOnce) .WithRetainedStateMessages(false) .WithDefaultStateChangeHandlers() .Build(); return(ecb); }
public static IHomeAssistantMqttConfigurationBuilder AddSwitch( this IHomeAssistantMqttConfigurationBuilder configurationBuilder, Func <ISwitchMqttEntityConfigurationBuilder, ISwitchMqttEntityConfigurationBuilder> configurator) { ISwitchMqttEntityConfigurationBuilder builder = new SwitchMqttEntityConfigurationBuilder(); builder = configurator(builder); configurationBuilder.ServiceCollection.AddSingleton(sp => { var entityConfiguration = builder.Build(); return(entityConfiguration); }); return(configurationBuilder); }
public static IHomeAssistantMqttConfigurationBuilder AddSwitch( this IHomeAssistantMqttConfigurationBuilder configurationBuilder, Func <ISwitchMqttEntityConfigurationBuilder, ISwitchMqttEntityConfigurationBuilder> configurator) { configurationBuilder.TryRegisterEntityBindingManager <ISwitchMqttEntityConfiguration, ISwitch, ISwitchEntityDefinition>(); ISwitchMqttEntityConfigurationBuilder builder = new SwitchMqttEntityConfigurationBuilder(); builder = configurator(builder); configurationBuilder.ServiceCollection.AddSingleton(sp => { var entityConfiguration = builder.Build(); return(entityConfiguration); }); return(configurationBuilder); }