コード例 #1
0
        public Worker(ILogger <Worker> logger, IMqttService mqttService)
        {
            _logger      = logger;
            _mqttService = mqttService;

            SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;
        }
コード例 #2
0
 public MQTTBackgroundService(ILogger <MQTTBackgroundService> logger, IMqttService client, MQTTServerConfiguration serverConfig, IEnumerable <MQTTTopicConfiguration> topicsConfig)
 {
     _logger       = logger;
     _serverConfig = serverConfig;
     _topicsConfig = topicsConfig;
     _client       = client;
 }
コード例 #3
0
 public WeatherForecastController(ILogger <WeatherForecastController> logger,
                                  IMqttService mqttService
                                  )
 {
     _logger           = logger;
     this._mqttService = mqttService;
 }
コード例 #4
0
 public UpdateDeviceHandler(
     IDeviceRepository deviceRepository,
     IMqttService mqttService)
 {
     _deviceRepository = deviceRepository;
     _mqttService      = mqttService;
 }
コード例 #5
0
ファイル: HomeController.cs プロジェクト: rats3g/LiveBolt
 public HomeController(UserManager <ApplicationUser> userManager, ILogger <HomeController> logger, IRepository repository, IMapper mapper, IMqttService mqtt)
 {
     _userManager = userManager;
     _logger      = logger;
     _repository  = repository;
     _mapper      = mapper;
     _mqtt        = mqtt;
 }
コード例 #6
0
 public SonoffTasmodaComponent(ILogger <SonoffTasmodaComponent> logger, IMqttService mqttService,
                               IIoTService ioTService, IEventDatabaseService eventDatabaseService)
 {
     _logger               = logger;
     _mqttService          = mqttService;
     _ioTService           = ioTService;
     _eventDatabaseService = eventDatabaseService;
 }
コード例 #7
0
 public Initializer(
     IServiceScopeFactory serviceScopeFactory,
     IMqttService mqttService,
     IHostApplicationLifetime hostApplicationLifetime)
 {
     _serviceScopeFactory     = serviceScopeFactory;
     _mqttService             = mqttService;
     _hostApplicationLifetime = hostApplicationLifetime;
 }
コード例 #8
0
 public OwnTracksComponent(ILogger <OwnTracksComponent> logger, IMqttService mqttService,
                           IEventDatabaseService eventDatabaseService, IIoTService ioTService, NeonConfig neonConfig)
 {
     _logger               = logger;
     _mqttService          = mqttService;
     _eventDatabaseService = eventDatabaseService;
     _ioTService           = ioTService;
     _neonConfig           = neonConfig;
 }
コード例 #9
0
 public TestCommand(
     IRepository <AssetData> repo
     , IMqttService mqttService
     , IMqttClientService mqttClient
     )
 {
     _repo        = repo;
     _mqttService = mqttService;
     _mqttClient  = mqttClient;
 }
コード例 #10
0
        public ConsoleHostedService(ILogger <ConsoleHostedService> logger, IMqttService mqttService, ITcpService tcpService, IOptions <AppConfig> appConfig, IApplicationLifetime appLifetime)
        {
            _appLifetime = appLifetime;
            _mqttService = mqttService;
            _tcpService  = tcpService;
            _appConfig   = appConfig;
            _mqttService.MqttServiceClient.MqttMsgPublishReceived += client_recievedMessage;
            //_mqttService.MqttServiceClient.ConnectionClosed += MqttServiceClient_ConnectionClosed;

            _logger = logger;
            _logger.LogInformation("ConsoleHostedService instance created...");
        }
コード例 #11
0
ファイル: IoTService.cs プロジェクト: buibup/Neon.HomeControl
 /// <summary>
 ///     Ctor
 /// </summary>
 /// <param name="logger"></param>
 /// <param name="fileSystemManager"></param>
 /// <param name="config"></param>
 public IoTService(ILogger <IIoTService> logger, IFileSystemManager fileSystemManager,
                   NeonConfig config,
                   IEventDatabaseService eventDatabaseService,
                   IMqttService mqttService
                   )
 {
     _logger               = logger;
     _mqttService          = mqttService;
     _eventDatabaseService = eventDatabaseService;
     _fileSystemManager    = fileSystemManager;
     _config               = config;
 }
コード例 #12
0
ファイル: Engine.cs プロジェクト: akeil/OwnZone
        public Engine(ILoggerFactory loggerFactory,
                      IConfiguration config,
                      IMqttService mqttService,
                      IRepository repository,
                      IStateRegistry stateRegistry,
                      IFilterService filterService)
        {
            log     = loggerFactory.CreateLogger <Engine>();
            mqtt    = mqttService;
            repo    = repository;
            states  = stateRegistry;
            filters = filterService;

            config.GetSection("Engine").Bind(this);
        }
コード例 #13
0
 public CreateDeviceHandler(
     IAccountRepository accountRepository,
     IDeviceRepository deviceRepository,
     IAccountDeviceRepository accountDeviceRepository,
     IMqttService mqttService,
     IHttpContextAccessor httpContextAccessor,
     IHiveMqCredentialsService hiveMqCredentialsService)
 {
     _accountRepository        = accountRepository;
     _deviceRepository         = deviceRepository;
     _accountDeviceRepository  = accountDeviceRepository;
     _mqttService              = mqttService;
     _httpContextAccessor      = httpContextAccessor;
     _hiveMqCredentialsService = hiveMqCredentialsService;
 }
コード例 #14
0
        public CreateDeviceHandlerTests()
        {
            _accountRepository        = Substitute.For <IAccountRepository>();
            _deviceRepository         = Substitute.For <IDeviceRepository>();
            _accountDeviceRepository  = Substitute.For <IAccountDeviceRepository>();
            _mqttService              = Substitute.For <IMqttService>();
            _httpContextAccessor      = Substitute.For <IHttpContextAccessor>();
            _hiveMqCredentialsService = Substitute.For <IHiveMqCredentialsService>();

            _handler = new CreateDeviceHandler(
                _accountRepository,
                _deviceRepository,
                _accountDeviceRepository,
                _mqttService,
                _httpContextAccessor,
                _hiveMqCredentialsService);
        }
コード例 #15
0
ファイル: Program.cs プロジェクト: AzureMentor/puppet-1
        public static async Task Main(string[] args)
        {
            // Read the configuration file
            IConfiguration configuration = new ConfigurationBuilder()
                                           .SetBasePath(Directory.GetCurrentDirectory()) // Directory where the json files are located
                                           .AddJsonFile(APPSETTINGS_FILENAME, optional: false, reloadOnChange: true)
                                           .Build();

            // Create an HttpClient that doesn't validate the server certificate
            HttpClientHandler customHttpClientHandler = new HttpClientHandler
            {
                ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return(true); }
            };

            TelemetryConfiguration telemetryConfig = AppInsights.GetTelemetryConfiguration(configuration);

            using (AppInsights.InitializeDependencyTracking(telemetryConfig))
                using (AppInsights.InitializePerformanceTracking(telemetryConfig))
                    using (HttpClient _httpClient = new HttpClient(customHttpClientHandler))
                    {
                        _telemetryClient = new TelemetryClient(telemetryConfig);

                        // Abstraction representing the home automation system
                        _hub = new Hubitat(configuration, _httpClient);

                        // Start the MQTT service, if applicable.
                        MqttOptions mqttOptions = configuration.GetSection("MQTT").Get <MqttOptions>();
                        if (mqttOptions?.Enabled ?? false)
                        {
                            _mqtt = new MqttService(await MqttClientFactory.GetClient(mqttOptions), mqttOptions, _hub);
                            await _mqtt.Start();
                        }

                        // Class to manage long-running tasks
                        _taskManager = new AutomationTaskManager(configuration);

                        // Bind a method to handle the events raised
                        // by the Hubitat device
                        _hub.AutomationEvent += Hub_AutomationEvent;
                        var hubTask = _hub.StartAutomationEventWatcher();

                        // Wait forever, this is a daemon process
                        await hubTask;
                    }
        }
コード例 #16
0
        public static void UseMqttEndpoint(
            this IApplicationBuilder application,
            MqttSettings mqttSettings,
            IMqttService mqttService)
        {
            if (mqttSettings.WebSocketEndPoint?.Enabled != true || string.IsNullOrEmpty(mqttSettings.WebSocketEndPoint.Path))
            {
                return;
            }

            var webSocketOptions = new WebSocketOptions
            {
                KeepAliveInterval = TimeSpan.FromSeconds(mqttSettings.WebSocketEndPoint.KeepAliveInterval)
            };

            if (mqttSettings.WebSocketEndPoint.AllowedOrigins?.Any() == true)
            {
                foreach (var item in mqttSettings.WebSocketEndPoint.AllowedOrigins)
                {
                    webSocketOptions.AllowedOrigins.Add(item);
                }
            }

            application.UseWebSockets(webSocketOptions);

            application.Use(async(context, next) =>
            {
                if (context.Request.Path == mqttSettings.WebSocketEndPoint.Path)
                {
                    if (context.WebSockets.IsWebSocketRequest)
                    {
                        await mqttService.RunWebSocketConnectionAsync(context);
                    }
                    else
                    {
                        context.Response.StatusCode = (int)HttpStatusCode.BadRequest;
                    }
                }
                else
                {
                    await next().ConfigureAwait(false);
                }
            });
        }
コード例 #17
0
        public MqttClientMain(IMqttService mqttService)
        {
            this.mqttService = mqttService;
            mqttClient       = new MqttFactory().CreateMqttClient();
            var option = new MqttClientOptionsBuilder()
                         .WithCleanSession(true)
                         .WithClientId("Main client")
                         .WithCommunicationTimeout(TimeSpan.FromSeconds(5))
                         .WithKeepAlivePeriod(TimeSpan.FromSeconds(5))
                         .WithProtocolVersion(MqttProtocolVersion.V311)
                         .WithTcpServer("127.0.0.1", Convert.ToInt32(1883));

            mqttClient.ConnectAsync(option.Build());
            mqttClient.Connected += (sender, e) =>
            {
                string str = string.Format("Main Client connected");
                Console.WriteLine(str);
            };

            mqttClient.Disconnected += (sender, e) =>
            {
                string str = string.Format("Main Client disconnected");
                Console.WriteLine(str);
            };
            mqttClient.ApplicationMessageReceived += (sender, e) =>
            {
                string result = System.Text.Encoding.UTF8.GetString(e.ApplicationMessage.Payload);
                string str    = string.Format("Main Client received message: {0}", result);
                Console.WriteLine(str);
                if (e.ApplicationMessage.Topic == "scale")
                {
                    MqttEntity mqttEntity = JsonConvert.DeserializeObject <MqttEntity>(result);
                    mqttService.UpdateWeightFromScale(mqttEntity);
                }

                if (e.ApplicationMessage.Topic.ToLower().Contains("state"))
                {
                    mqttService.UpdateOpenCabinet(e.ApplicationMessage.Topic.ToLower());
                }
            };
            listTopic = new List <string>();
        }
コード例 #18
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IDiscordService discordService,
                              IMqttService mqttService, ILightService lightService)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseCors("AllowAll");

            app.UseHttpsRedirection();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
                endpoints.MapHub <DiscordHub>("/hub/discord");
                endpoints.MapHub <LightHub>("/hub/light");
            });
        }
コード例 #19
0
 public Worker(ILogger <Worker> logger, IMqttService mqttService)
 {
     _logger      = logger;
     _mqttService = mqttService;
 }
コード例 #20
0
ファイル: DLMController.cs プロジェクト: rats3g/LiveBolt
 public DLMController(IRepository repository, UserManager <ApplicationUser> userManager, IMqttService mqttService)
 {
     _repository  = repository;
     _userManager = userManager;
     _mqttService = mqttService;
 }
コード例 #21
0
 public DeviceController(IMqttService mqttService)
 {
     _mqttService = mqttService;
 }
コード例 #22
0
 public MessageController(IMessageEngine messageEngine, IMqttService mqttSvc)
 {
     _messageEngine = messageEngine;
     _mqttSvc       = mqttSvc;
 }
コード例 #23
0
 public OwnTracksComponent(ILoggerFactory loggerFactory, IIoTService ioTService, IMqttService mqttService, NeonConfig neonConfig, IComponentsService componentsService) : base(loggerFactory, ioTService, componentsService)
 {
     _mqttService = mqttService;
     _config      = neonConfig;
 }
コード例 #24
0
 public MqttHub(IMqttService mqttService, DeviceState deviceState)
 {
     _mqttService = mqttService;
     _deviceState = deviceState;
 }
コード例 #25
0
 public IndexModel(ILogger <IndexModel> logger, IMqttService mqttService)
 {
     _logger      = logger;
     _mqttService = mqttService;
 }
コード例 #26
0
 public PublishPayload(IWorkflowExpressionEvaluator expressionEvaluator, IMqttService mqttService, IOptions <MqttNetOptions> options)
 {
     this.expressionEvaluator = expressionEvaluator;
     this.mqttService         = mqttService;
     this.options             = options;
 }
コード例 #27
0
 public ClientUpdateScheduler(IMqttService mqttService, DeviceState deviceState)
 {
     _mqttService = mqttService;
     _deviceState = deviceState;
 }
コード例 #28
0
 public SonoffTasmodaComponent(ILoggerFactory loggerFactory, IIoTService ioTService, IMqttService mqttService, IComponentsService componentsService) : base(loggerFactory, ioTService, componentsService)
 {
     _mqttService = mqttService;
 }
コード例 #29
0
 public FIITParkingDataReceiver(ILogger <FIITParkingDataReceiver> logger, IServiceScopeFactory serviceScopeFactory, IHostApplicationLifetime applicationLifetime, IMqttService client, IOptions <MQTTConfiguration> configs)
     : base(logger, client, configs.Value.ServerConfiguration, configs.Value.TopicConfiguration)
 {
     _logger         = logger;
     _serviceFactory = serviceScopeFactory;
 }
コード例 #30
0
 public MqttController(IMqttService mqttService)
 {
     _mqttService = mqttService;
 }