Exemple #1
0
        public async Task SetMqttBinarySensorStateAsync(string objectId, BinarySensorState state)
        {
            var topic         = BuildMqttTopic(_mqttDiscoveryPrefix, DeviceType.BinarySensor, objectId, "state");
            var publishResult = await _mqttClient.PublishAsync(topic, state.ToString().ToUpperInvariant());

            if (publishResult.ReasonCode != MQTTnet.Client.Publishing.MqttClientPublishReasonCode.Success)
            {
                throw new HomeAssistantException($"Failed to publish MQTT message: {publishResult.ReasonCode} {publishResult.ReasonString}");
            }
        }
Exemple #2
0
 public BinarySensor(BinarySensorState initialValue = BinarySensorState.Unknown)
 {
     _binarySensorSubject = new BehaviorSubject <BinarySensorState>(initialValue);
     Values = _binarySensorSubject.AsObservable();
 }