public MqttPublishingService(IMediator mediator, IConfiguration config) { _mediator = mediator; _clientSettings = new MqttClientSettings(); _zigbeeSettings = new Zigbee2mqttSettings(); config.GetSection(nameof(MqttClientSettings)).Bind(_clientSettings); config.GetSection(nameof(Zigbee2mqttSettings)).Bind(_zigbeeSettings); }
public MqttConnectionService(IConfiguration config, IServiceScopeFactory serviceScopeFactory, BrokerEvents brokerEvents) { _config = config; _serviceScopeFactory = serviceScopeFactory; _brokerEvents = brokerEvents; _clientSettings = new MqttClientSettings(); _zigbeeSettings = new Zigbee2mqttSettings(); config.GetSection(nameof(MqttClientSettings)).Bind(_clientSettings); config.GetSection(nameof(Zigbee2mqttSettings)).Bind(_zigbeeSettings); }
public MqttClientService(IManagedMqttClientOptions options, IHubContext <BrokerHub> hubContext, BrokerEvents brokerEvents, ZigbeeEvents zigbeeEvents, IServiceScopeFactory serviceScopeFactory, IConfiguration config) { _options = options; _hubContext = hubContext; _brokerEvents = brokerEvents; _zigbeeEvents = zigbeeEvents; _serviceScopeFactory = serviceScopeFactory; _clientSettings = new MqttClientSettings(); _zigbeeSettings = new Zigbee2mqttSettings(); config.GetSection(nameof(MqttClientSettings)).Bind(_clientSettings); config.GetSection(nameof(Zigbee2mqttSettings)).Bind(_zigbeeSettings); _mqttClient = new MqttFactory().CreateManagedMqttClient(); ConfigureMqttClient(); }
public static void AddHostedMqttClient(this IServiceCollection services, IConfiguration configuration) { var clientSettings = new MqttClientSettings(); var brokerSettings = new MqttBrokerSettings(); configuration.GetSection(nameof(MqttClientSettings)).Bind(clientSettings); configuration.GetSection(nameof(MqttBrokerSettings)).Bind(brokerSettings); services.AddConfiguredMqttClientService(optionBuilder => { optionBuilder .WithAutoReconnectDelay(TimeSpan.FromSeconds(20)) .WithClientOptions(new MqttClientOptionsBuilder() .WithClientId(clientSettings.Id) .WithCredentials(clientSettings.UserName, clientSettings.Password) .WithTcpServer(brokerSettings.Host, brokerSettings.Port) .Build()); }); //services.AddTransient<BrokerCommands>(); }