Limitation des SMS
This commit is contained in:
@@ -14,6 +14,10 @@ from dotenv import load_dotenv, find_dotenv
|
||||
load_dotenv(find_dotenv(usecwd=True), override=False)
|
||||
from utils_sms import normaliser_sms
|
||||
|
||||
def _env_bool(name: str, default: bool) -> bool:
|
||||
v = os.getenv(name, str(int(default))).strip().lower()
|
||||
return v in ("1", "true", "yes", "on")
|
||||
|
||||
# MySQL
|
||||
import mysql.connector
|
||||
from mysql.connector import Error as MySQLError
|
||||
@@ -698,7 +702,7 @@ class GyroPulseController:
|
||||
|
||||
# Anti-spam SMS & SMS OK activé par défaut
|
||||
self._last_sms: dict[str, float] = {} # {sonde: ts dernier envoi}
|
||||
self._sms_min_sec = int(os.getenv("GYRO_SMS_MIN_SEC", "120"))
|
||||
self._sms_min_sec = int(os.getenv("ALERT_SMS_COOLDOWN_SEC") or os.getenv("GYRO_SMS_MIN_SEC", "120"))
|
||||
self._send_ok = (os.getenv("ALERT_OK_SMS_GYRO", "1") == "1")
|
||||
|
||||
# Conserver le dernier déclencheur (pour SMS OK)
|
||||
@@ -730,6 +734,8 @@ class GyroPulseController:
|
||||
return False
|
||||
|
||||
def _send_alert_sms(self, trigger: tuple[str, float, float] | None):
|
||||
if not _env_bool("ALERT_INTERNAL_SMS_ENABLED", True):
|
||||
return
|
||||
if not trigger:
|
||||
return
|
||||
sonde, temp, seuil = trigger
|
||||
@@ -738,6 +744,8 @@ class GyroPulseController:
|
||||
self.notifier.send_sms(sms_text)
|
||||
|
||||
def _send_ok_sms_from_last_trigger(self):
|
||||
if not _env_bool("ALERT_OK_SMS_GYRO", True):
|
||||
return
|
||||
if not self._send_ok or not self._last_trigger:
|
||||
return
|
||||
sonde, _temp_prev, seuil = self._last_trigger
|
||||
|
||||
@@ -14,6 +14,10 @@ from dotenv import load_dotenv, find_dotenv
|
||||
load_dotenv(find_dotenv(usecwd=True), override=False)
|
||||
from utils_sms import normaliser_sms
|
||||
|
||||
def _env_bool(name: str, default: bool) -> bool:
|
||||
v = os.getenv(name, str(int(default))).strip().lower()
|
||||
return v in ("1", "true", "yes", "on")
|
||||
|
||||
# MySQL
|
||||
import mysql.connector
|
||||
from mysql.connector import Error as MySQLError
|
||||
@@ -698,7 +702,7 @@ class GyroPulseController:
|
||||
|
||||
# Anti-spam SMS & SMS OK activé par défaut
|
||||
self._last_sms: dict[str, float] = {} # {sonde: ts dernier envoi}
|
||||
self._sms_min_sec = int(os.getenv("GYRO_SMS_MIN_SEC", "120"))
|
||||
self._sms_min_sec = int(os.getenv("ALERT_SMS_COOLDOWN_SEC") or os.getenv("GYRO_SMS_MIN_SEC", "120"))
|
||||
self._send_ok = (os.getenv("ALERT_OK_SMS_GYRO", "1") == "1")
|
||||
|
||||
# Conserver le dernier déclencheur (pour SMS OK)
|
||||
@@ -730,6 +734,8 @@ class GyroPulseController:
|
||||
return False
|
||||
|
||||
def _send_alert_sms(self, trigger: tuple[str, float, float] | None):
|
||||
if not _env_bool("ALERT_INTERNAL_SMS_ENABLED", True):
|
||||
return
|
||||
if not trigger:
|
||||
return
|
||||
sonde, temp, seuil = trigger
|
||||
@@ -738,6 +744,8 @@ class GyroPulseController:
|
||||
self.notifier.send_sms(sms_text)
|
||||
|
||||
def _send_ok_sms_from_last_trigger(self):
|
||||
if not _env_bool("ALERT_OK_SMS_GYRO", True):
|
||||
return
|
||||
if not self._send_ok or not self._last_trigger:
|
||||
return
|
||||
sonde, _temp_prev, seuil = self._last_trigger
|
||||
|
||||
Reference in New Issue
Block a user