1.7 KiB
1.7 KiB
ESP-NOW Contract — Freenove (Quick)
Cible: intégration seconde carte (app/RTC).
Recommandation trame
type=commandmsg_idetseqpour corrélationack=truepour obtenir un retourpayloaden JSON ou texte
Exemple recommandé:
{
"msg_id": "req-001",
"seq": 7,
"type": "command",
"ack": true,
"payload": {
"cmd": "WIFI_STATUS"
}
}
Réponse ACK attendue
{
"msg_id": "req-001",
"seq": 7,
"type": "ack",
"ack": true,
"payload": { "ok": true, "code": "WIFI_STATUS", "error": "", "data": {} }
}
Compatibilité entrées
Le parseur accepte aussi:
cmd,command,action(root oupayload)- format texte "
CMD arg"
Commandes supportées (ESP-NOW)
STATUSWIFI_STATUSESPNOW_STATUSUNLOCK,NEXTWIFI_DISCONNECT,WIFI_RECONNECTESPNOW_ON,ESPNOW_OFFSTORY_REFRESH_SDSC_EVENTRINGSCENE <id>- exemples:
SCENE SCENE_WIN_ETAPE - JSON:
{"cmd":"SCENE","args":{"id":"SCENE_WIN_ETAPE"}} SCENEretourne les erreurs:missing_scene_idsiidabsentscene_not_foundsi aucune scène active pour unNEXT
- exemples:
- Actions de contrôle (générique):
HW_*,AUDIO_*,MEDIA_*, etc.
Erreurs fréquentes
unsupported_commandmissing_scene_idscene_not_foundWIFI_RECONNECT no_credentials(pas de SSID/pw stocké)- erreurs réseau/connexion habituelles (
peer,payloadvide, trame > 240)
Limites runtime
- Trame brute max:
240 - Peers:
16 - RX queue:
6
Réception côté firmware
type=command->executeEspNowCommandPayload- autre
type-> ignoré en commande (bridge story seulement si activé) - les frames
type=ackreçues sont ignorées côté dispatch