Dictionary entry 0 will always contain the packet ID (uint8)
Sent to the watch as the response to the packet 1.
1. - phone protocol version (uint16)2- Bucketsync sync data (byte array)- Sync status (uint8) -
2- watch is up to date,1- this is the last sync packet,0- more packet 3 packets will follow this packet. - If latest bucketsync version does not match the watch's version:
- Latest bucketsync version on the phone (uint16)
- Number of currently active buckets (uint8)
- For every active bucket:
- Bucket id (uint8)
- Bucket flags (uint8)
- For every bucketsync updated bucket that can fit into this packet:
- Bucket id (uint8)
- Bucket size in bytes (uint8)
- Bucket data (bytes)
- Sync status (uint8) -
3- If this key exists, watch should auto-close after sync is completed (uint8)
(Note: if phone/watch protocol versions do not match, only dictionary entry 1 is sent).
Sent to the watch when the watchapp is open and buckets on the phone change
1- Bucketsync sync data (byte array)- Sync complete flag (uint8) -
1if this is the last sync packet,0if more packet 3 packets will follow. - Latest bucketsync version on the phone (uint16)
- Number of currently active buckets (uint8)
- For every active bucket:
- Bucket id (uint8)
- Bucket flags (uint8)
- For every bucketsync updated bucket that can fit into this packet:
- Bucket id (uint8)
- Bucket size in bytes (uint8)
- Bucket data (bytes)
- Sync complete flag (uint8) -
Optionally sent to the watch after packets 1 or 2. Can be repeated until data for all changed buckets has been sent
1- Bucketsync bucket data (byte array)- Sync complete flag (uint8) -
1if this is the last sync packet,0if more packet 3 packets will follow. - For every bucketsync updated bucket that can fit into this packet:
- Bucket id (uint8)
- Bucket size in bytes (uint8)
- Bucket data (bytes)
- Sync complete flag (uint8) -
Sent from the watch when the app is opened.
1- watch protocol version (uint16)2- current bucketsync watch version (uint16)3- Appmessage incoming buffer size in bytes (uint16)
Sent from the watch when the app is opened.
1- ID of the action to trigger (uint16)2- Text of the action to trigger (cstring)
Watch can store up to 15 of them, up to 256 bytes each
Every bucket corresponds to one Tasker directory
Data in every bucket:
- Number of items (uint8)
- Items (Max 13 items - 19 bytes per item)
- ID (uint16)
- Target directory (uint8) - If item should open another directory, 0 otherwise
- Flags (uint8) - For future use
- Title (cstring) - up to 14 bytes + null terminator
Every bucket is stored in the 2001 - 2015 storage keys
160 bytes left over from buckets
1000 - List of all buckets on the watch (up to 60 bytes)
- array of tuples (up to 15 items)
- array size determined through
persist_get_size() - Tuple: (2 bytes each)
- Bucket id (uint8)
- Flags (uint8) - For future use
1001 - Current version of the data on the watch (uint16)
1002 - Protocol version of the last data writing on the watch (uint16)
If this changes, the watch is wiped and re-synced to the phone