Refactor MQTT topic structure in sensor_bridge.py to adopt a nested format for temperature, humidity, and CO2 data. Updated publishing methods to reflect the new tree structure, enhancing data organization and clarity in sensor reporting.
This commit is contained in:
@ -77,15 +77,15 @@ def read_and_publish_temperature_humidity(mqtt_client, modbus_client, host_info)
|
||||
humidity = raw_hum * 100 / 1000
|
||||
logging.info(f"Humidity from {host_info['ip']}: {humidity:.1f}%RH")
|
||||
|
||||
# Publish data
|
||||
# Publish data in new tree structure
|
||||
location = host_info["location"]
|
||||
current_time = datetime.now(LOCAL_TIMEZONE).strftime("%Y-%m-%d %H:%M:%S")
|
||||
base_topic = f"Location/{location}"
|
||||
topics_data = [
|
||||
(f"{base_topic}/Time", current_time),
|
||||
(f"{base_topic}/Status", "online"),
|
||||
(f"{base_topic}/Temperature", round(temperature, 1)),
|
||||
(f"{base_topic}/Humidity", round(humidity, 1))
|
||||
(f"{base_topic}/Temperature/temperature_value", round(temperature, 1)),
|
||||
(f"{base_topic}/Humidity/humidity_value", round(humidity, 1)),
|
||||
]
|
||||
|
||||
all_published = True
|
||||
@ -136,16 +136,16 @@ def read_and_publish_cwt_co2(mqtt_client, modbus_client, host_info):
|
||||
|
||||
logging.info(f"CWT from {host_info['ip']} - Temp: {temperature:.1f}°C, Humidity: {humidity:.1f}%RH, CO2: {co2_ppm}ppm")
|
||||
|
||||
# Publish data
|
||||
# Publish data in new tree structure
|
||||
location = host_info["location"]
|
||||
current_time = datetime.now(LOCAL_TIMEZONE).strftime("%Y-%m-%d %H:%M:%S")
|
||||
base_topic = f"Location/{location}"
|
||||
topics_data = [
|
||||
(f"{base_topic}/Time", current_time),
|
||||
(f"{base_topic}/Status", "online"),
|
||||
(f"{base_topic}/Temperature", round(temperature, 1)),
|
||||
(f"{base_topic}/Humidity", round(humidity, 1)),
|
||||
(f"{base_topic}/CO2", co2_ppm)
|
||||
(f"{base_topic}/Temperature/temperature_value", round(temperature, 1)),
|
||||
(f"{base_topic}/Humidity/humidity_value", round(humidity, 1)),
|
||||
(f"{base_topic}/CO2/CO2_value", co2_ppm),
|
||||
]
|
||||
|
||||
all_published = True
|
||||
|
Reference in New Issue
Block a user