public HomeAssistantMqttAdapter([NotNull] IOccupancySensor sensor, [NotNull] ILogger <HomeAssistantMqttAdapter> logger, [NotNull] Func <IMqttClient> createClient, [NotNull] AdapterSettings settings) { if (createClient is null) { throw new ArgumentNullException(nameof(createClient)); } this.sensor = sensor ?? throw new ArgumentNullException(nameof(sensor)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); messages = new Messages(settings.ClientId, settings.Version); try { client = createClient(); options = new MqttClientOptionsBuilder() .WithClientId(settings.ClientId) .WithTcpServer(settings.Server, settings.Port) .WithCredentials(settings.User, settings.Password) .Build(); client.UseApplicationMessageReceivedHandler(ClientOnMessageReceived); } catch (Exception e) { logger.LogError(e, "Failed to set up MqttAdapter!"); throw; } sensor.PropertyChanged += SensorOnPropertyChanged; }
public HealthcheckController([NotNull] ILogger <HealthcheckController> logger, [NotNull] IConfiguration configuration, [NotNull] IOccupancySensor sensor, [NotNull] IMqttAdapter adapter, [NotNull] Streams streams) { if (logger == null) { throw new ArgumentNullException(nameof(logger)); } if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (sensor == null) { throw new ArgumentNullException(nameof(sensor)); } if (adapter == null) { throw new ArgumentNullException(nameof(adapter)); } this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration)); this.sensor = sensor ?? throw new ArgumentNullException(nameof(sensor)); this.adapter = adapter ?? throw new ArgumentNullException(nameof(adapter)); this.streams = streams ?? throw new ArgumentNullException(nameof(streams)); }
public SensorController([NotNull] IOccupancySensor sensor) { this.sensor = sensor ?? throw new ArgumentNullException(nameof(sensor)); }