protected override void ActivateInternal() { var setting = Resolver.GetInstance <DeconzToMqttSetting>(); var logManager = Resolver.GetInstance <ILogManager>(); var metricRecorder = Resolver.GetInstance <IMetricRecorder>(); var sensorRepository = new SensorRepository(setting.DeconzApiKey, new Uri($"ws://{setting.DeconzAddress}:{setting.DeconzApiPort}")); var lightRepository = new LightRepository(setting.DeconzApiKey, new Uri($"ws://{setting.DeconzAddress}:{setting.DeconzApiPort}")); var healthCheckService = new HealthCheckService(logManager.GetLogger <HealthCheckService>()); var websockerReceiver = new WebsocketReceiver(logManager.GetLogger <WebsocketReceiver>(), new Uri($"ws://{setting.DeconzAddress}:{setting.DeconzWebsocketPort}")); var mqttClient = new MqttClient(logManager.GetLogger <MqttClient>(), metricRecorder, logManager, setting.MqttAddress, setting.MqttUsername, setting.MqttPassword); var eventHandler = new EventHandlingService(logManager.GetLogger <EventHandlingService>(), websockerReceiver, mqttClient, sensorRepository); var telemetryService = new TelemetryService(logManager.GetLogger <TelemetryService>(), metricRecorder, new DeconzRepository[] { sensorRepository, lightRepository }, mqttClient); healthCheckService.AddHealthCheck(websockerReceiver); healthCheckService.AddHealthCheck(mqttClient); mqttClient.Start(); eventHandler.Start(); websockerReceiver.Start(); telemetryService.Start(); healthCheckService.Start(); }
public EventHandlingService(ILogger logger, WebsocketReceiver websocketReceiver, MqttClient mqttClient, SensorRepository sensorRepository) { _logger = logger; _websocketReceiver = websocketReceiver; _mqttClient = mqttClient; _sensorRepository = sensorRepository; }