Schéma JSON de sortie des sondes

Clés JSON stables, unités de température, champs d’humidité et calcul de la moyenne pour les consommateurs du tableau de bord.

Gros plan de câbles Ethernet Cat-5e blancs avec connecteurs RJ45
Le JSON des sondes quitte généralement le LAN par Ethernet ou via un relais proche, pas directement par Internet. Photo : DiscDepotDundee.co.uk. CC BY-SA 4.0

Les systèmes en aval (relais Python, routes de récupération Astro et correspondances du tableau de bord) supposent tous une structure JSON stable. Modifier les clés sans mettre à jour les consommateurs casse sans bruit les libellés des sondes et les insertions d’historique.

Document de référence


        {
  "temp": {
    "0": { "f": 38.2, "c": 3.4, "h": 41.0 },
    "1": { "f": 36.8, "c": 2.7, "h": 43.5 },
    "avg": { "f": 37.5, "c": 3.1, "h": 42.2 }
  }
}
      

Signification des champs

  • Les clés numériques correspondent aux indices des sondes dans le firmware et aux entrées de correspondance du tableau de bord.
  • f / c : Fahrenheit et Celsius pour le même échantillon.
  • h : humidité relative en pourcentage pour cette sonde.
  • avg : moyenne des seules sondes en bon état ; omettez-la ou figez-la si un capteur est hors ligne.

Formats alternatifs (détectés automatiquement)

L’ingestion par push et les flux en pull acceptent aussi le SenML JSON (tableau RFC 8428 avec les unités Cel / %RH) et les réponses Home Assistant REST (state + attributes.unit_of_measurement) lorsque la racine native temp est absente. Exemples en direct : SenML, HA REST. Détails : ingestion et webhooks.

Consommateurs

La récupération de la page d’accueil lit cette structure pour les cartes publiques. Les flux Python peuvent mettre en cache la même charge utile. Associez les libellés via la correspondance des sondes.

FAQ

Quelle structure JSON ProbeHarbor attend-il ?
La structure pull par défaut est un objet temp avec des clés de sonde (f, c, h). Le push accepte aussi les clés à plat, sensors[], les tableaux JSON SenML et les objets d’état REST de Home Assistant. Les champs facultatifs battery_pct et rssi aident à diagnostiquer les appareils au signal faible. Voir /about/ingest-and-webhooks ou le flux d’exemple sur /api/feeds/example?format=document.