Remise en route cuisine_meudon
This commit is contained in:
2
.env
2
.env
@@ -74,7 +74,7 @@ ALERT_SMS_TO_SACLAY=Michel:+33759600180
|
||||
ALERT_SMS_TO_MEUDON=Michel:+33759600180
|
||||
|
||||
ALERT_SMS_CLIENT_TO_MEUDON=Sekou:+33625903364,Damien:+33680388259
|
||||
ALERT_SMS_CLIENT_TO_SACLAY=Nicolas:+33682069405,Sabrina:+33650270939,Mirceta:+33601162960
|
||||
ALERT_SMS_CLIENT_TO_SACLAY=Nicolas:+33682069405,Sabrina:+33650270939
|
||||
# Activer/désactiver globalement l’envoi client
|
||||
ALERT_SMS_CLIENT_ENABLED=1
|
||||
# 1) couper les SMS internes
|
||||
|
||||
@@ -7,7 +7,7 @@ Récupère les mesures MQTT du site Meudon et les insère dans la table Sondes.M
|
||||
import os
|
||||
import logging
|
||||
from logging.handlers import RotatingFileHandler
|
||||
|
||||
import socket
|
||||
import mysql.connector
|
||||
from mysql.connector import Error
|
||||
|
||||
@@ -28,10 +28,16 @@ DB_PASS = os.getenv("DB_PASS")
|
||||
DB_NAME = os.getenv("DB_NAME")
|
||||
|
||||
# --- MQTT Meudon ---
|
||||
MQTT_HOST = os.getenv("MQTT_HOST_MEUDON", os.getenv("MQTT_HOST"))
|
||||
MQTT_USER = os.getenv("MQTT_USER_MEUDON", os.getenv("MQTT_USER"))
|
||||
MQTT_PASS = os.getenv("MQTT_PASS_MEUDON", os.getenv("MQTT_PASS"))
|
||||
MQTT_PORT = int(os.getenv("MQTT_PORT_MEUDON", os.getenv("MQTT_PORT", 1883)))
|
||||
MQTT_HOST = os.getenv("MQTT_HOST_MEUDON")
|
||||
MQTT_USER = os.getenv("MQTT_USER_MEUDON")
|
||||
MQTT_PASS = os.getenv("MQTT_PASS_MEUDON")
|
||||
MQTT_PORT = int(os.getenv("MQTT_PORT_MEUDON", "1883"))
|
||||
|
||||
# Client ID (configurable, sinon suffixé avec le hostname)
|
||||
MQTT_CLIENT_ID = os.getenv(
|
||||
"MQTT_CLIENT_ID_MEUDON",
|
||||
f"Mqtt_meudon_{socket.gethostname()}"
|
||||
)
|
||||
|
||||
GYRO_TOPIC_MEUDON = os.getenv("GYRO_MQTT_TOPIC_MEUDON", "Meudon/gyrophare")
|
||||
|
||||
@@ -113,8 +119,9 @@ def insert_temperature(sonde: str, temperature: float) -> None:
|
||||
def on_connect(client, userdata, flags, reason_code, properties=None):
|
||||
if reason_code == 0:
|
||||
logging.info("Connecté au broker MQTT Meudon (%s)", MQTT_HOST)
|
||||
client.subscribe("Meudon/mod02/#")
|
||||
logging.info("Abonné au topic : Meudon/#")
|
||||
# Abonnement à TOUT ce qui commence par "Meudon/"
|
||||
result, mid = client.subscribe("Meudon/#")
|
||||
logging.info("Abonné au topic : Meudon/# (result=%s, mid=%s)", result, mid)
|
||||
else:
|
||||
logging.error("Échec de connexion MQTT (Meudon), code retour = %s", reason_code)
|
||||
|
||||
@@ -154,13 +161,21 @@ def main():
|
||||
setup_logging()
|
||||
logging.info("Démarrage du script Mqtt_meudon")
|
||||
|
||||
# Vérif minimale des variables d'env
|
||||
# Vérif minimale des variables d'env MySQL
|
||||
for var in ["DB_HOST", "DB_USER", "DB_PASS", "DB_NAME"]:
|
||||
if os.getenv(var) in (None, ""):
|
||||
logging.error("Variable d'environnement %s manquante !", var)
|
||||
|
||||
# Vérif minimale des variables d'env MQTT
|
||||
if not MQTT_HOST:
|
||||
logging.error("MQTT_HOST_MEUDON manquant !")
|
||||
if not MQTT_USER:
|
||||
logging.warning("MQTT_USER_MEUDON non défini (connexion sans login ?)")
|
||||
if not MQTT_PORT or MQTT_PORT <= 0:
|
||||
logging.error("MQTT_PORT_MEUDON invalide : %s", MQTT_PORT)
|
||||
|
||||
client = mqtt.Client(
|
||||
client_id="Mqtt_meudon_client",
|
||||
client_id=MQTT_CLIENT_ID,
|
||||
callback_api_version=CallbackAPIVersion.VERSION2
|
||||
)
|
||||
client.username_pw_set(MQTT_USER, MQTT_PASS)
|
||||
|
||||
Reference in New Issue
Block a user