Commit Graph

9 Commits

Author SHA1 Message Date
PaulVua
a0f2d28b96 v1.12.3: defaut CO2 = sentinelle ISO_17 seule (retrait bit 7)
Decision avec le dev serveur Miotiq: l'absence/defaut du capteur CO2 est
signalee uniquement par ISO_17=0xFFFF (sentinelle, source de verite). Le bit 7
error_flags ajoute en v1.12.2 est retire (ambigu WIND/CO2 selon device_type).

- SARA_send_data_v2.py: suppression ERR_CO2 + s88_disconnected + |= ERR_CO2
- la logique sentinelle (set_co2 seulement si s88_status==0) reste inchangee
- error_flags.md: bit 7 = WIND_ERROR, note que le CO2 passe par la sentinelle

On garde v1.12.1 (s88_status + ecriture systematique) qui garantit la sentinelle.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 17:37:13 +02:00
PaulVua
aa71766748 v1.12.2: flag CO2_ERROR (bit 7) quand la sonde S88 est deconnectee
A la demande: en plus du sentinel 0xFFFF dans le champ CO2, on remonte le
defaut via error_flags byte 66 bit 7.

- ERR_CO2 = 0x80 (bit 7, double sens vent/CO2 selon device_type cote serveur)
- s88_disconnected -> error_flags |= ERR_CO2 dans SARA_send_data_v2.py
- error_flags.md: bit 7 documente comme WIND_ERROR / CO2_ERROR

Confirme par le user: le serveur lit le bit 7 comme CO2_ERROR sur ces unites.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 17:30:21 +02:00
PaulVua
dad953acdc v1.12.0: transmission CO2 S88 dans le payload UDP Miotiq (byte 81)
Débloque le WIP S88->Miotiq. Spec serveur reçue: byte 81-82 = CO2 (ISO_17,
uint16 ppm). Source = Senseair S88 (vrai CO2 NDIR).

- SensorPayload.set_co2() -> bytes 81-82 (uint16, clamp 0..65535)
- lecture data_S88 (derniere ligne) si config S88 active, puis set_co2
- defaut 0xFFFF = capteur absent
- canal UDP Miotiq uniquement (CSV/JSON non touches)
- error_flags.md: byte-map a jour (81-82 = CO2)

CCS811 (TVOC/eCO2) NON transmis: pas encore de champ dans la spec Miotiq.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-02 16:55:54 +02:00
PaulVua
1c565435e7 Fix: ping Miotiq command=0x02 pour retrocompat avec capteurs deployés (byte 9 = 0x01)
Les capteurs en production envoient 0x01 sur le byte 9 (ancien protocol_version).
Cote serveur: 0x00 et 0x01 = data normal, 0x02 = ping test.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 16:43:19 +02:00
PaulVua
f720649624 Ping aller-retour Miotiq: byte 9 = command, script ping + écoute réponse
- SensorPayload: byte 9 passe de protocol_version (0x01) à command (0x00 par défaut)
- Nouveau set_command() method (0x00=data normal, 0x01=ping test)
- Nouveau script SARA/sara_ping_miotiq.py: envoie payload 100 bytes avec command=1,
  puis écoute la réponse descendante Miotiq pendant 15s via AT+USORD
- Endpoint launcher.php sara_ping_miotiq
- Bouton "Ping Miotiq" dans la section tests Miotiq (page modem)
- Mise à jour error_flags.md avec la nouvelle map complète du payload

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-27 16:17:54 +02:00
PaulVua
e733cd27e8 Doc: parser Miotiq dans README + mise a jour error_flags.md
- README: ajout section parser Miotiq avec firmware version (bytes 69-71)
- error_flags.md: parser mis a jour (version_major/minor/patch + reserved 22)
- error_flags.md: correction note init bytes 66-68 a 0x00

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 11:46:32 +01:00
PaulVua
3804a52fda Error flags byte 66: implementation RTC flags + escalade PDP reset → hardware reboot
- Constantes error_flags (byte 66) + methodes SensorPayload
- Construction byte 66 avec flags RTC (disconnected/reset)
- Escalade: si PDP reset echoue apres echec UDP → notification + hardware reboot + exit
- Doc: ajout byte 68 device_status (specification)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 09:58:39 +01:00
PaulVua
6be18b5bde Doc: error_flags.md — ajout byte 67 npm_status + plan implementation
Byte 66: erreurs systeme (RTC, BME280, NPM, Envea, bruit, MPPT, vent)
Byte 67: status NextPM (sleep, degraded, not_ready, heat, trh, fan,
         memory, laser) — copie directe du registre interne capteur.
Inclut le plan d'implementation en 3 etapes et le parser Miotiq.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 20:23:48 +01:00
PaulVua
7619caffc4 Doc: error_flags.md — specification byte 66 payload UDP Miotiq
Definition des 8 bits d'erreur (RTC, BME280, NPM, Envea, bruit,
MPPT, vent), exemples de valeurs, implementation Python, parser
Miotiq mis a jour, et lecture cote serveur.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 20:19:01 +01:00