docs(miotiq): move ping trigger to 0x02 for backward compatibility
Deployed firmwares hardcode command=0x01 (legacy from when the byte was named `version`); treating 0x01 as ping would have flagged every existing frame as a diagnostic. Keep 0x00/0x01 as normal-data and use 0x02 as the explicit ping trigger. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -122,7 +122,7 @@ Layout octet par octet :
|
||||
|--------|--------|-------------------|---------|--------|------------------------------------------|
|
||||
| 0 | 8 | `device_id` | | | Hex 16 chars, converti en ASCII côté client (ex. `"D0524198"`) |
|
||||
| 8 | 1 | `signal_quality` | dB | | Signal cellulaire |
|
||||
| 9 | 1 | `command` | | | Type de trame — `0x00` = données mesure, `0x01` = ping test (déclenché par le firmware pour vérifier le lien capteur → Miotiq → backend). Voir [`json-payload.md`](json-payload.md#commande--type-de-trame). |
|
||||
| 9 | 1 | `command` | | | Type de trame — `0x00` / `0x01` = données mesure, `0x02` = ping test (déclenché par le firmware pour vérifier le lien capteur → Miotiq → backend). `0x01` est conservé comme synonyme de mesure normale par rétrocompatibilité (firmwares existants hardcodés `0x01` quand l'octet portait encore le nom `version`). Voir [`json-payload.md`](json-payload.md#commande--type-de-trame). |
|
||||
| 10 | 2 | `ISO_68` | µg/m³ | /10 | PM1 |
|
||||
| 12 | 2 | `ISO_39` | µg/m³ | /10 | PM2.5 |
|
||||
| 14 | 2 | `ISO_24` | µg/m³ | /10 | PM10 |
|
||||
@@ -220,3 +220,4 @@ Valeurs manquantes codées `-1` (sentinelle legacy). À **ne pas reproduire** po
|
||||
| 2026-04-23 | v5 | Extension prévue du descripteur NebuleAir Pro 4G avec `latitude`, `longitude`, `misc` dans le bloc `reserved` — proposition d'encodage dans la section À faire. |
|
||||
| 2026-04-24 | v6 | Intégration effective de `latitude` (4B), `longitude` (4B), `misc` (1B) dans le descripteur NebuleAir Pro 4G. Encodage offset unsigned (`raw = (deg + 90|180) * 1e6`, équation `x/1000000-90|180`) pour contourner l'absence de signed sur `hex2dec` Miotiq. « No fix » géré par le bit `GPS_NO_FIX` de `device_status`. Reste 2B `reserved`. |
|
||||
| 2026-04-27 | v7 | Octet 9 renommé `version` → `command`. Ce champ était hardcodé `0x01` côté firmware (jamais une vraie version de protocole). Réaffecté à un type de trame : `0x00` = données mesure, `0x01` = ping test. Permet au firmware de déclencher une trame de bout en bout (capteur → Miotiq → backend) sans envoyer de mesures réelles. Versioning protocole assuré par `version_major/minor/patch` (offsets 69-71). |
|
||||
| 2026-04-27 | v8 | Rétrocompatibilité : ping test déplacé de `0x01` vers `0x02`. Les firmwares déployés émettent déjà `0x01` (héritage du champ `version` hardcodé) ; les traiter comme ping aurait fait passer toutes leurs trames pour des diagnostics. `0x00` et `0x01` restent donc des trames de mesure normales, `0x02` devient le déclencheur explicite du ping. |
|
||||
|
||||
Reference in New Issue
Block a user