balenkano commited on
Commit
27f793a
·
verified ·
1 Parent(s): d3045dc

Update mqtt_client.py

Browse files
Files changed (1) hide show
  1. 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
- from config import MQTT_BROKER, MQTT_PORT, MQTT_TOPIC_GAS_IN, MQTT_TOPIC_DOOR_CMD
 
 
 
 
 
 
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)