v1.12.1: S88 ecrit toujours + code d'etat, plus de CO2 perime transmis

Probleme vu sur pro100: sonde S88 muette (panne cablage) mais write_data.py
n'ecrivait rien -> la base gardait la derniere valeur (487 ppm d'hier) et la
loop d'envoi la transmettait en boucle.

- data_S88: nouvelle colonne s88_status (0=OK, 0xFF=sonde muette), comme
  npm_status/noise_status. Migration via create_db.py + set_config.py + self-heal.
- S88/write_data.py: ecrit DESORMAIS une ligne a chaque cycle (CO2=0 + 0xFF si
  pas de reponse). Connexion SQLite timeout=10 (anti database-is-locked).
- SARA_send_data_v2.py: lit s88_status; si 0xFF -> bytes 81-82 restent 0xFFFF
  (CO2 absent) au lieu d'envoyer une valeur perimee. Compatible bases non migrees.
- database.html + launcher.php: badge statut + colonne dans les exports CSV.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
PaulVua
2026-06-02 17:10:32 +02:00
parent dad953acdc
commit d554f03195
8 changed files with 101 additions and 34 deletions

View File

@@ -161,13 +161,22 @@ CREATE TABLE IF NOT EXISTS data_MHZ19 (
""")
# Create a table S88 (Senseair S88 CO2 sensor)
# s88_status: 0 = OK, 0xFF (255) = sensor not responding (no Modbus reply)
cursor.execute("""
CREATE TABLE IF NOT EXISTS data_S88 (
timestamp TEXT,
CO2 INTEGER
CO2 INTEGER,
s88_status INTEGER DEFAULT 0
)
""")
# Add s88_status column to existing databases (migration)
try:
cursor.execute("ALTER TABLE data_S88 ADD COLUMN s88_status INTEGER DEFAULT 0")
print("Added s88_status column to data_S88")
except:
pass # Column already exists
# Create a table CCS811 (AMS CCS811 air-quality sensor: eCO2 + TVOC)
cursor.execute("""
CREATE TABLE IF NOT EXISTS data_CCS811 (