v1.11.0: CCS811 en daemon + fix filtrage + I2C 10kHz requis
Vérif terrain sur pro100 : à 100 kHz le CCS811 renvoie des valeurs corrompues 0x8000 (32768) par clock-stretching, et le modèle oneshot-reset-toutes-les-10s ne donne que le 1er échantillon post-init (garbage). Refonte : - CCS811/daemon.py: service long-running (Type=simple, Restart=always). Init 1x, boucle lecture/écriture 10s, filtre eCO2 dans [400,8192], re-init auto sur erreurs I2C répétées. Remplace write_data.py (supprimé). - CCS811/get_data.py: lit la dernière ligne data_CCS811 au lieu du capteur (évite la collision I2C avec le daemon -> corruption observée). - setup_services.sh: service daemon + self-heal suppression de l'ancien .timer; activation hors boucle timers. - launcher.php: .timer -> .service (map statut + allowedServices x2). - update_firmware.sh: redémarre le daemon à l'OTA. - doc: README (archi daemon + I2C 10kHz confirmé requis), CLAUDE.md, changelog. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -104,7 +104,7 @@ sudo /var/www/nebuleair_pro_4g/services/setup_services.sh
|
||||
- `nebuleair-envea-data.timer`: Every 10 seconds (Envea sensors)
|
||||
- `nebuleair-sara-data.timer`: Every 60 seconds (4G data transmission)
|
||||
- `nebuleair-bme280-data.timer`: Every 120 seconds (BME280 sensor)
|
||||
- `nebuleair-ccs811-data.timer`: Every 10 seconds (CCS811 TVOC/eCO2 sensor)
|
||||
- `nebuleair-ccs811-data.service`: Daemon, continuous (CCS811 TVOC/eCO2 sensor — init once, reads every 10s; not a oneshot timer because the CCS811 must run continuously)
|
||||
- `nebuleair-mppt-data.timer`: Every 120 seconds (MPPT charger)
|
||||
- `nebuleair-noise-data.timer`: Every 60 seconds (Noise sensor)
|
||||
- `nebuleair-db-cleanup-data.timer`: Daily (database cleanup)
|
||||
|
||||
Reference in New Issue
Block a user