Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
0f9bad2
feat: add MQTT QoS support and timestamp to A01 protocol payload
Jul 20, 2026
9077983
feat!: full Zeo protocol definition — 67 DPs, complete enum mappings,…
Jul 20, 2026
2d4a191
refactor(zeo): replace raw integer fields with enum types
Jul 21, 2026
910375b
feat(zeo): add MQTT push subscription with DPS cache and feature disc…
Jul 22, 2026
4432a62
Merge branch 'main' into pr/zeo-push
NOisi-x Jul 22, 2026
d57b81e
Merge branch 'main' into pr/zeo-push
NOisi-x Jul 27, 2026
169a6a9
fix(zeo): narrow exceptions, tighten try/except scope
Jul 28, 2026
2ccb776
Merge branch 'main' into pr/zeo-push
NOisi-x Aug 6, 2026
2c03138
Merge branch 'main' into pr/zeo-push
NOisi-x Aug 12, 2026
d692352
feat(zeo): replace _discover_features with _force_load matching Bundl…
Aug 12, 2026
f3b5144
fix(zeo): add null=0 to multiple Zeo enums, trim verbose docstrings
Aug 12, 2026
0f863db
feat(zeo): implement two-stage force-load and close() cleanup
Aug 13, 2026
7716150
feat(zeo): add A01 wash command/settings/status traits with caller-su…
Aug 15, 2026
6cf8d98
Merge branch 'main' into pr/zeo-core-api-v2
NOisi-x Aug 15, 2026
21d535a
style(zeo): fix pre-commit findings (formatting, unused import, no-re…
Aug 15, 2026
419e536
feat(zeo): add mode template resolution and structured program config…
Aug 17, 2026
9ea7225
fix(zeo): correct voice DP read/write semantics per bundle
Aug 17, 2026
96a0d5e
style: fix E501 long comment lines in voice DP enums
Aug 17, 2026
0014651
fix(zeo): backfill lazily-built traits from DPS cache on first access
Aug 17, 2026
105417d
fix(zeo): return None from fixed single-DP commands, keep frame retur…
Aug 17, 2026
49901eb
fix(zeo): use query_values return value and tighten sound package inf…
Aug 17, 2026
3aa9657
docs(zeo): clarify start/_force_load/query_values docstrings
Sep 19, 2026
512d43c
Merge upstream/main into pr/zeo-core-api-v2
Sep 19, 2026
9004bcc
fix(zeo): normalize query response keys before projecting into traits
Sep 19, 2026
dcb7095
Merge branch 'pr/zeo-core-api-v2' into pr/zeo-program-config
Sep 19, 2026
dd1c7d1
feat(zeo): validate/generate START parameters from a per-device capab…
Sep 19, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions roborock/data/zeo/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
from .mode_templates import *
from .zeo_code_mappings import *
from .zeo_containers import *
from .zeo_program_configs import *
47 changes: 47 additions & 0 deletions roborock/data/zeo/mode_data/device_model_prefixes.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
{
"roborock.wm.a114": "isH1C",
"roborock.wm.a102": "isH1Overseas",
"roborock.wm.a90": "isH1Lite",
"roborock.wm.a91": "isH1LiteOverseas",
"roborock.wm.a92": "isM1",
"roborock.wm.a93": "isM1Overseas",
"roborock.wm.a162": "isM1LiteOverseas",
"roborock.wm.a133": "isM1Lite",
"roborock.wm.a277": "isM1LiteThirdSupply",
"roborock.wm.a142": "isMuse",
"roborock.wm.a154": "isMetis",
"roborock.wm.a141": "isHyperion",
"roborock.wm.a149": "isHyperionPro",
"roborock.wm.a181": "isPoseidon",
"roborock.wm.a180": "isPoseidonPro",
"roborock.wm.a201": "isPoseidonProPlus",
"roborock.wm.a255": "isPoseidonOverSeas",
"roborock.wm.a215": "isMuseOverSeas",
"roborock.wm.a214": "isMetisOverSeas",
"roborock.wm.a218": "isM1Resupply",
"roborock.wm.a207": "isHyperionPlus",
"roborock.wm.a211": "isMitty",
"roborock.cd.a188": "isApolloProPlus",
"roborock.cd.a204": "isApolloPro",
"roborock.cd.a258": "isApolloProOverSeas",
"roborock.cd.a265": "isApolloProPlusOverSeas",
"roborock.wm.a233": "isM1LitePlus",
"roborock.wm.a276": "isM1LitePlusResupply",
"roborock.wm.a234": "isM1Plus",
"roborock.wm.a237": "isH1LiteResupply",
"roborock.wm.a230": "isHyperionOverseas",
"roborock.wm.a242": "isH1COverseas",
"roborock.wm.a241": "isHaliaLite",
"roborock.wm.a240": "isHalia",
"roborock.wm.a227": "isHera",
"roborock.wm.a261": "isHeraCe",
"roborock.wm.a273": "isHeraNo",
"roborock.wm.a268": "isHeraKr",
"roborock.wm.a269": "isHeraTw",
"roborock.wm.a239": "isPandora",
"roborock.wm.a262": "isPandoraCe",
"roborock.wm.a272": "isPandoraNo",
"roborock.wm.a270": "isPandoraKr",
"roborock.wm.a271": "isPandoraTw",
"roborock.wm.a213": "isMedusa"
}
Loading
Loading