Update mqtt_client.py
Browse files- mqtt_client.py +9 -3
mqtt_client.py
CHANGED
|
@@ -3,7 +3,13 @@ import json
|
|
| 3 |
import paho.mqtt.client as mqtt
|
| 4 |
from paho.mqtt.enums import CallbackAPIVersion
|
| 5 |
|
| 6 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
|
| 8 |
class MQTTService:
|
| 9 |
def __init__(self, on_gas_message):
|
|
@@ -20,7 +26,7 @@ class MQTTService:
|
|
| 20 |
payload = ""
|
| 21 |
|
| 22 |
delivered = False
|
| 23 |
-
# Thử parse JSON trước
|
| 24 |
if payload:
|
| 25 |
try:
|
| 26 |
m = json.loads(payload)
|
|
@@ -32,7 +38,7 @@ class MQTTService:
|
|
| 32 |
except Exception:
|
| 33 |
pass
|
| 34 |
|
| 35 |
-
# Nếu không phải JSON, thử coi là số gas
|
| 36 |
if not delivered:
|
| 37 |
try:
|
| 38 |
val = float(payload)
|
|
|
|
| 3 |
import paho.mqtt.client as mqtt
|
| 4 |
from paho.mqtt.enums import CallbackAPIVersion
|
| 5 |
|
| 6 |
+
import config # dùng getattr để lấy hằng số với giá trị mặc định
|
| 7 |
+
|
| 8 |
+
# Lấy cấu hình với fallback an toàn nếu thiếu trong config.py
|
| 9 |
+
MQTT_BROKER = getattr(config, "MQTT_BROKER", "test.mosquitto.org")
|
| 10 |
+
MQTT_PORT = int(getattr(config, "MQTT_PORT", 1883))
|
| 11 |
+
MQTT_TOPIC_GAS_IN = getattr(config, "MQTT_TOPIC_GAS_IN", "balenkano_tuan_gas_data")
|
| 12 |
+
MQTT_TOPIC_DOOR_CMD = getattr(config, "MQTT_TOPIC_DOOR_CMD", "balenkano_tuan_door_2025")
|
| 13 |
|
| 14 |
class MQTTService:
|
| 15 |
def __init__(self, on_gas_message):
|
|
|
|
| 26 |
payload = ""
|
| 27 |
|
| 28 |
delivered = False
|
| 29 |
+
# Thử parse JSON trước (ESP32 thường gửi JSON đầy đủ)
|
| 30 |
if payload:
|
| 31 |
try:
|
| 32 |
m = json.loads(payload)
|
|
|
|
| 38 |
except Exception:
|
| 39 |
pass
|
| 40 |
|
| 41 |
+
# Nếu không phải JSON, thử coi là số gas (payload đơn giản)
|
| 42 |
if not delivered:
|
| 43 |
try:
|
| 44 |
val = float(payload)
|