zepp-os-communication
Installation
SKILL.md
Zepp OS Communication
Context: Device App ↔ Side Service (over Bluetooth) + Side Service networking API_LEVEL: 2.0+ (ZML layer is the modern norm on 3.0/4.0 samples) Prereq: the four runtime contexts — see
zepp-os-fundamentals.
Overview
The watch has no direct internet. The device app (watch) and the side service (companion JS on the phone) talk over Bluetooth, exchanging binary only — you serialize yourself. Three layers sit on top of that transport; pick one and use it on both sides.
Which API on which side (the core confusion)
| Device App (watch) | Side Service (phone) | |
|---|---|---|
| Raw transport | @zos/ble — send / addListener |
messaging.peerSocket — send / addListener('message') |
| Data form | ArrayBuffer only |
ArrayBuffer only |
HTTP / fetch |
❌ not available | ✅ here only |
fetch lives only in the side service. Calling it from the device app is the #1 mistake.