diff --git a/Sources/Wiring/App/App+BridgeStatus.swift b/Sources/Wiring/App/App+BridgeStatus.swift index a0cd488..027dc3e 100644 --- a/Sources/Wiring/App/App+BridgeStatus.swift +++ b/Sources/Wiring/App/App+BridgeStatus.swift @@ -17,7 +17,6 @@ extension App { ), deviceClass: .connectivity, name: nil, - objectId: nil, payloadOff: Mqtt.Availability.offline.rawValue, payloadOn: Mqtt.Availability.online.rawValue, stateTopic: stateTopic, diff --git a/Sources/Wiring/App/App+Presence.swift b/Sources/Wiring/App/App+Presence.swift index b9501bc..e629a22 100644 --- a/Sources/Wiring/App/App+Presence.swift +++ b/Sources/Wiring/App/App+Presence.swift @@ -34,12 +34,11 @@ extension App { availabilityTopic: mqttClient.stateTopic, device: .init( identifiers: stateTopic, - name: nil, + name: name, viaDevice: mqttClient.stateTopic ), deviceClass: .presence, - name: name, - objectId: name, + name: .explicitNone, payloadOff: nil, payloadOn: nil, stateTopic: stateTopic, diff --git a/Sources/Wiring/Extensions/Optional+Extensions.swift b/Sources/Wiring/Extensions/Optional+Extensions.swift new file mode 100644 index 0000000..cd6842d --- /dev/null +++ b/Sources/Wiring/Extensions/Optional+Extensions.swift @@ -0,0 +1,3 @@ +extension String?? { + static var explicitNone: Self { .some(.none) } +} diff --git a/Sources/Wiring/HomeAssistantMqtt/MqttBinarySensor.swift b/Sources/Wiring/HomeAssistantMqtt/MqttBinarySensor.swift index 839d1de..3427b1f 100644 --- a/Sources/Wiring/HomeAssistantMqtt/MqttBinarySensor.swift +++ b/Sources/Wiring/HomeAssistantMqtt/MqttBinarySensor.swift @@ -6,8 +6,8 @@ extension Mqtt { let availabilityTopic: String? let device: Device let deviceClass: DeviceClass - let name: String? - let objectId: String? + /// Can be set to `.explicitNone` if only the device name is relevant. + let name: String?? let payloadOff: String? let payloadOn: String? let stateTopic: String