From 718a13c02f6a7a37ce99bfcbd762b7a7cba99a2d Mon Sep 17 00:00:00 2001 From: Wesley Ray Date: Mon, 29 Dec 2025 09:33:20 -0500 Subject: [PATCH] Reorganize repository structure into logical folders Structure: - src/ - Python implementation (cobs_protocol.py, onecontrol_client.py) - docs/ - All documentation markdown files - scripts/ - Extraction scripts (for reference only) Changes: - Moved Python files to src/ - Moved all .md docs to docs/ - Moved extraction scripts to scripts/ - Updated README.md with new structure - Updated import paths in README examples - Added placeholder for future Quartz documentation URL Benefits: - Cleaner repository organization - Easier to navigate - Separates code from documentation - Follows standard project conventions --- README.md | 48 +++++++++++-------- ANALYSIS_GUIDE.md => docs/ANALYSIS_GUIDE.md | 0 .../HOME_ASSISTANT_INTEGRATION.md | 0 .../IMPLEMENTATION_GUIDE.md | 0 .../MISSION_ACCOMPLISHED.md | 0 .../PROTOCOL_FINDINGS.md | 0 SUMMARY.md => docs/SUMMARY.md | 0 .../extract_xaba_v2.py | 0 .../extract_xaba_v2_new.py | 0 cobs_protocol.py => src/cobs_protocol.py | 0 .../onecontrol_client.py | 0 11 files changed, 29 insertions(+), 19 deletions(-) rename ANALYSIS_GUIDE.md => docs/ANALYSIS_GUIDE.md (100%) rename HOME_ASSISTANT_INTEGRATION.md => docs/HOME_ASSISTANT_INTEGRATION.md (100%) rename IMPLEMENTATION_GUIDE.md => docs/IMPLEMENTATION_GUIDE.md (100%) rename MISSION_ACCOMPLISHED.md => docs/MISSION_ACCOMPLISHED.md (100%) rename PROTOCOL_FINDINGS.md => docs/PROTOCOL_FINDINGS.md (100%) rename SUMMARY.md => docs/SUMMARY.md (100%) rename extract_xaba_v2.py => scripts/extract_xaba_v2.py (100%) rename extract_xaba_v2_new.py => scripts/extract_xaba_v2_new.py (100%) rename cobs_protocol.py => src/cobs_protocol.py (100%) rename onecontrol_client.py => src/onecontrol_client.py (100%) diff --git a/README.md b/README.md index 7084ef5..20ec662 100644 --- a/README.md +++ b/README.md @@ -24,10 +24,10 @@ pip install bleak ### Scan for OneControl Device ```bash -python onecontrol_client.py +python src/onecontrol_client.py ``` -Edit the `ADDRESS` variable in `onecontrol_client.py` with your device's MAC address after scanning. +Edit the `ADDRESS` variable in `src/onecontrol_client.py` with your device's MAC address after scanning. ## 🔑 Protocol Details @@ -60,22 +60,28 @@ Then COBS encoded before transmission. | ActionRgb | `0x44` | RGB lights | | ActionHvac | `0x45` | Climate control | -## 📁 Project Files +## 📁 Project Structure -### Python Implementation -- **cobs_protocol.py** - COBS encoder/decoder and CRC8 implementation -- **onecontrol_client.py** - Complete BLE client for OneControl devices - -### Documentation -- **PROTOCOL_FINDINGS.md** - Detailed protocol specification -- **IMPLEMENTATION_GUIDE.md** - Complete implementation guide with examples -- **HOME_ASSISTANT_INTEGRATION.md** - Home Assistant integration plan -- **MISSION_ACCOMPLISHED.md** - Project completion summary +``` +lippert-onecontrol/ +├── src/ # Python implementation +│ ├── cobs_protocol.py # COBS encoder/decoder and CRC8 +│ └── onecontrol_client.py # Complete BLE client +├── docs/ # Documentation +│ ├── PROTOCOL_FINDINGS.md +│ ├── IMPLEMENTATION_GUIDE.md +│ ├── HOME_ASSISTANT_INTEGRATION.md +│ └── MISSION_ACCOMPLISHED.md +├── scripts/ # Extraction tools (reference) +├── README.md +├── LICENSE +└── .gitignore +``` ## 💻 Usage Example ```python -from onecontrol_client import OneControlClient +from src.onecontrol_client import OneControlClient # Connect to device client = OneControlClient("AA:BB:CC:DD:EE:FF") @@ -127,14 +133,18 @@ await client.disconnect() - [ ] Test end-to-end - [ ] Publish to HACS -## 📚 Full Documentation +## 📚 Documentation -Complete documentation available in Obsidian vault: -``` -/home/wes/Documents/weeslahw_coppermind/Home Automation/Lippert OneControl/ -``` +### In This Repository +- [Protocol Findings](docs/PROTOCOL_FINDINGS.md) - Technical protocol specification +- [Implementation Guide](docs/IMPLEMENTATION_GUIDE.md) - Complete guide with code examples +- [Home Assistant Integration](docs/HOME_ASSISTANT_INTEGRATION.md) - HA integration plan +- [Mission Accomplished](docs/MISSION_ACCOMPLISHED.md) - Project summary -See `00_INDEX.md` for quick navigation. +### Online Documentation +> 📖 **Coming Soon**: Full documentation will be published at a public URL (Quartz site) +> +> For now, see the [docs/](docs/) folder in this repository. ## 🛠️ Development Tools Used diff --git a/ANALYSIS_GUIDE.md b/docs/ANALYSIS_GUIDE.md similarity index 100% rename from ANALYSIS_GUIDE.md rename to docs/ANALYSIS_GUIDE.md diff --git a/HOME_ASSISTANT_INTEGRATION.md b/docs/HOME_ASSISTANT_INTEGRATION.md similarity index 100% rename from HOME_ASSISTANT_INTEGRATION.md rename to docs/HOME_ASSISTANT_INTEGRATION.md diff --git a/IMPLEMENTATION_GUIDE.md b/docs/IMPLEMENTATION_GUIDE.md similarity index 100% rename from IMPLEMENTATION_GUIDE.md rename to docs/IMPLEMENTATION_GUIDE.md diff --git a/MISSION_ACCOMPLISHED.md b/docs/MISSION_ACCOMPLISHED.md similarity index 100% rename from MISSION_ACCOMPLISHED.md rename to docs/MISSION_ACCOMPLISHED.md diff --git a/PROTOCOL_FINDINGS.md b/docs/PROTOCOL_FINDINGS.md similarity index 100% rename from PROTOCOL_FINDINGS.md rename to docs/PROTOCOL_FINDINGS.md diff --git a/SUMMARY.md b/docs/SUMMARY.md similarity index 100% rename from SUMMARY.md rename to docs/SUMMARY.md diff --git a/extract_xaba_v2.py b/scripts/extract_xaba_v2.py similarity index 100% rename from extract_xaba_v2.py rename to scripts/extract_xaba_v2.py diff --git a/extract_xaba_v2_new.py b/scripts/extract_xaba_v2_new.py similarity index 100% rename from extract_xaba_v2_new.py rename to scripts/extract_xaba_v2_new.py diff --git a/cobs_protocol.py b/src/cobs_protocol.py similarity index 100% rename from cobs_protocol.py rename to src/cobs_protocol.py diff --git a/onecontrol_client.py b/src/onecontrol_client.py similarity index 100% rename from onecontrol_client.py rename to src/onecontrol_client.py