From f5a6458677f29a8de6d534adf688103cf22f046a Mon Sep 17 00:00:00 2001 From: Hagen Graf Date: Tue, 14 Oct 2025 16:53:51 +0200 Subject: [PATCH] Fix sht21_hum device_class, data_sent/received availability (#236) * corrected sht21_hum device_class to 'humidity' * added availablility to data_sent/received sensors --- src/rpi-cpu2mqtt.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/rpi-cpu2mqtt.py b/src/rpi-cpu2mqtt.py index 364ea17..7b3dc8c 100644 --- a/src/rpi-cpu2mqtt.py +++ b/src/rpi-cpu2mqtt.py @@ -576,7 +576,7 @@ def handle_specific_configurations(data, what_config, device): data["state_topic"] = config.mqtt_uns_structure + config.mqtt_topic_prefix + "/" + hostname + "/" + what_config + "_" + device data["unique_id"] = hostname + "_" + what_config + "_" + device elif what_config == "sht21_hum_status": - add_common_attributes(data, "mdi:water-percent", device + " " + get_translation("humidity"), "%", "temperature", "measurement") + add_common_attributes(data, "mdi:water-percent", device + " " + get_translation("humidity"), "%", "humidity", "measurement") data["state_topic"] = config.mqtt_uns_structure + config.mqtt_topic_prefix + "/" + hostname + "/" + what_config + "_" + device data["unique_id"] = hostname + "_" + what_config + "_" + device elif what_config == "data_sent": @@ -794,6 +794,8 @@ def publish_to_mqtt(monitored_values): if config.discovery_messages: client.publish(f"{config.mqtt_discovery_prefix}/sensor/{config.mqtt_topic_prefix}/{hostname}_data_sent/config", config_json("data_sent"), qos=config.qos) + if config.use_availability: + client.publish(f"{config.mqtt_uns_structure}{config.mqtt_topic_prefix}/{hostname}/data_sent_availability", 'offline' if monitored_values["data_sent"] is None else 'online', qos=config.qos) client.publish(f"{config.mqtt_uns_structure}{config.mqtt_topic_prefix}/{hostname}/data_sent", monitored_values["data_sent"], qos=config.qos, retain=config.retain) @@ -801,6 +803,8 @@ def publish_to_mqtt(monitored_values): if config.discovery_messages: client.publish(f"{config.mqtt_discovery_prefix}/sensor/{config.mqtt_topic_prefix}/{hostname}_data_received/config", config_json("data_received"), qos=config.qos) + if config.use_availability: + client.publish(f"{config.mqtt_uns_structure}{config.mqtt_topic_prefix}/{hostname}/data_received_availability", 'offline' if monitored_values["data_received"] is None else 'online', qos=config.qos) client.publish(f"{config.mqtt_uns_structure}{config.mqtt_topic_prefix}/{hostname}/data_received", monitored_values["data_received"], qos=config.qos, retain=config.retain)