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)