Commit Graph

5 Commits

Author SHA1 Message Date
PaulVua
d554f03195 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>
2026-06-02 17:10:32 +02:00
PaulVua
4767b145b2 v1.9.19: S88/write_data.py - self-heal CREATE TABLE IF NOT EXISTS
Protège contre le cas où l'OTA n'appelle pas create_db.py (problème
bash classique: le script d'OTA est chargé en mémoire au lancement,
le git pull du step 1 met à jour le fichier sur disque mais bash
continue d'exécuter l'ancienne version).

Le script crée la table data_S88 lui-même au démarrage. Schéma dupliqué
de create_db.py — à garder synchro. Pattern à appliquer aux futurs
capteurs pour éviter cette classe de bug.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-01 17:12:53 +02:00
PaulVua
c5856eb64b docs: mapping connecteurs PCB ↔ ttyAMA + correction S88 wiring
CLAUDE.md: ajout du tableau de mapping silkscreen PCB (NPM1/2/3, SARA)
vers /dev/ttyAMAx pour aider à brancher les capteurs UART au bon
endroit (le S88 va sur un connecteur NPM libre).

S88/README.md: corrige le tableau de câblage qui référençait ttyAMA0
(non exposé sur la PCB custom) et renvoie vers le mapping du CLAUDE.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-01 16:37:40 +02:00
PaulVua
7681578f22 v1.9.14: Senseair S88 - implémentation lecture Modbus RTU
read_co2() lit IR1..IR4 en une trame (status + CO2) à 9600 8N1,
adresse 0xFE 'any address', avec vérification CRC16-Modbus et rejet
de la mesure si status non-nul (warm-up ou erreur).

CRC requête/réponse validés contre les exemples du datasheet TDE14367.
Doc protocole consolidée dans S88/README.md.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-01 16:24:44 +02:00
PaulVua
239bdfea69 v1.9.13: Capteur CO2 Senseair S88 - scaffolding
Table data_S88, flag config S88 + port configurable S88_port
(default /dev/ttyAMA5), service/timer systemd 10s, carte
sensors.html, endpoint launcher.php, toggle admin.html.

read_co2() est un stub NotImplementedError en attente du datasheet.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-01 16:15:37 +02:00