Fix sht21_hum device_class, data_sent/received availability (#236)

* corrected sht21_hum device_class to 'humidity'

* added availablility to data_sent/received sensors
This commit is contained in:
Hagen Graf
2025-10-14 16:53:51 +02:00
committed by GitHub
parent 141e170dd5
commit f5a6458677

View File

@@ -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["state_topic"] = config.mqtt_uns_structure + config.mqtt_topic_prefix + "/" + hostname + "/" + what_config + "_" + device
data["unique_id"] = hostname + "_" + what_config + "_" + device data["unique_id"] = hostname + "_" + what_config + "_" + device
elif what_config == "sht21_hum_status": 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["state_topic"] = config.mqtt_uns_structure + config.mqtt_topic_prefix + "/" + hostname + "/" + what_config + "_" + device
data["unique_id"] = hostname + "_" + what_config + "_" + device data["unique_id"] = hostname + "_" + what_config + "_" + device
elif what_config == "data_sent": elif what_config == "data_sent":
@@ -794,6 +794,8 @@ def publish_to_mqtt(monitored_values):
if config.discovery_messages: if config.discovery_messages:
client.publish(f"{config.mqtt_discovery_prefix}/sensor/{config.mqtt_topic_prefix}/{hostname}_data_sent/config", client.publish(f"{config.mqtt_discovery_prefix}/sensor/{config.mqtt_topic_prefix}/{hostname}_data_sent/config",
config_json("data_sent"), qos=config.qos) 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", client.publish(f"{config.mqtt_uns_structure}{config.mqtt_topic_prefix}/{hostname}/data_sent",
monitored_values["data_sent"], qos=config.qos, retain=config.retain) monitored_values["data_sent"], qos=config.qos, retain=config.retain)
@@ -801,6 +803,8 @@ def publish_to_mqtt(monitored_values):
if config.discovery_messages: if config.discovery_messages:
client.publish(f"{config.mqtt_discovery_prefix}/sensor/{config.mqtt_topic_prefix}/{hostname}_data_received/config", client.publish(f"{config.mqtt_discovery_prefix}/sensor/{config.mqtt_topic_prefix}/{hostname}_data_received/config",
config_json("data_received"), qos=config.qos) 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", client.publish(f"{config.mqtt_uns_structure}{config.mqtt_topic_prefix}/{hostname}/data_received",
monitored_values["data_received"], qos=config.qos, retain=config.retain) monitored_values["data_received"], qos=config.qos, retain=config.retain)