示例#1
0
 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();
 }
示例#4
0
        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>();
        }