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:
@@ -1,5 +1,22 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"version": "1.12.1",
|
||||
"date": "2026-06-02",
|
||||
"changes": {
|
||||
"features": [],
|
||||
"improvements": [
|
||||
"S88: nouvelle colonne data_S88.s88_status (0 = OK, 0xFF = sonde ne répond pas), sur le modèle de npm_status/noise_status. write_data.py écrit DÉSORMAIS une ligne à CHAQUE cycle (avant: rien quand pas de réponse), avec s88_status=0xFF et CO2=0 en cas d'échec. Évite que la base garde indéfiniment la dernière valeur valide. Affichage badge ✅/❌ dans database.html, colonne ajoutée aux exports CSV. Connexion SQLite avec timeout=10 (anti 'database is locked' vu en prod avec le daemon CCS811 + multiples writers)."
|
||||
],
|
||||
"fixes": [
|
||||
"Transmission: SARA_send_data_v2.py ne transmet plus une valeur CO2 périmée. Il lit s88_status sur la dernière ligne data_S88; si la sonde est down (0xFF), les octets 81-82 restent à 0xFFFF (= capteur CO2 absent dans la spec Miotiq) au lieu d'envoyer la dernière mesure valide. Garde compatible avec les bases non encore migrées (len(row)>2)."
|
||||
],
|
||||
"compatibility": [
|
||||
"Migration DB: colonne s88_status ajoutée via create_db.py (ALTER idempotent) + set_config.py migrations + self-heal dans write_data.py. S'applique à la prochaine OTA."
|
||||
]
|
||||
},
|
||||
"notes": "Découvert sur pro100: la sonde S88 ne répondait plus (0 octet Modbus sur les 3 ports UART, panne câblage/alim) mais la base gardait CO2=487 d'hier et la loop l'aurait transmis en boucle. Le même principe (toujours écrire + code d'état) reste à appliquer au CCS811 quand il sera transmis."
|
||||
},
|
||||
{
|
||||
"version": "1.12.0",
|
||||
"date": "2026-06-02",
|
||||
|
||||
Reference in New Issue
Block a user