La documentation Pulse évolue : partagez votre avis en bas de chaque page.

Événements WebSocket

Recevoir en direct les changements d'état d'un appareil du réseau local, plutôt que de l'interroger en boucle.

L'appareil publie ses changements d'état sur un WebSocket local. C'est l'alternative à l'interrogation répétée de /info : vous êtes prévenu quand quelque chose change, sans rien demander.

Se connecter

Instanciez un client WebSocket sur l'IP de l'appareil, port 10002 :

ws://192.168.0.23:10002

L'IP est celle retournée par la découverte mDNS de l'application. Comme pour l'API HTTP, l'appareil doit être enrôlé et connecté au même réseau.

Ce WebSocket n'est pas authentifié, au même titre que l'API HTTP locale. Ne l'exposez pas hors du réseau local.

Changement d'état

ÉvénementDEVICE_CHANGE_STATE
Émis quandUne propriété d'état de l'appareil change

Les données reçues portent les propriétés d'état : niveau de batterie, charge en cours, écran allumé ou éteint, niveau de volume.

L'événement est émis à chaque changement, pas à intervalle régulier. Un appareil au repos, écran éteint et batterie stable, n'émet rien.

Prévoyez de traiter des rafales : brancher un casque sur le secteur fait changer plusieurs propriétés en même temps et produit plusieurs événements rapprochés.

Extinction

ÉvénementDEVICE_DISCONNECT
Émis quandL'appareil est sur le point de s'éteindre
{
  "androidId": "5014b9959e9ae759",
  "id": "67fd93f37a5db294fa7b2427",
  "ip": "172.20.10.10",
  "raison": "SHUTDOWN"
}

Redémarrage

ÉvénementDEVICE_DISCONNECT
Émis quandL'appareil est sur le point de redémarrer
{
  "androidId": "5014b9959e9ae759",
  "id": "67fd93f37a5db294fa7b2427",
  "ip": "172.20.10.10",
  "raison": "REBOOT"
}

Distinguer les deux

Extinction et redémarrage partagent le même nom d'événement, DEVICE_DISCONNECT. Seul le champ raison les sépare :

raisonSignificationCe que fait votre client
SHUTDOWNExtinction volontaireRetirer l'appareil du tableau de bord
REBOOTRedémarrage volontaireLe marquer indisponible et attendre son retour
aucun événementPerte de réseau ou coupure brutaleTraiter comme une panne, alerter

C'est cette distinction qui permet de ne pas alerter à tort. Un appareil qui disparaît sans avoir émis de DEVICE_DISCONNECT a perdu le réseau ou s'est éteint brutalement — cela mérite une alerte, alors qu'un redémarrage demandé via /restart n'en mérite pas.

Le champ s'écrit raison, en français, et non reason.

Cette page vous a-t-elle aidé ?

Dernière mise à jour le

Sur cette page