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
This commit is contained in:
@@ -24,10 +24,10 @@ pip install bleak
|
|||||||
### Scan for OneControl Device
|
### Scan for OneControl Device
|
||||||
|
|
||||||
```bash
|
```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
|
## 🔑 Protocol Details
|
||||||
|
|
||||||
@@ -60,22 +60,28 @@ Then COBS encoded before transmission.
|
|||||||
| ActionRgb | `0x44` | RGB lights |
|
| ActionRgb | `0x44` | RGB lights |
|
||||||
| ActionHvac | `0x45` | Climate control |
|
| ActionHvac | `0x45` | Climate control |
|
||||||
|
|
||||||
## 📁 Project Files
|
## 📁 Project Structure
|
||||||
|
|
||||||
### Python Implementation
|
```
|
||||||
- **cobs_protocol.py** - COBS encoder/decoder and CRC8 implementation
|
lippert-onecontrol/
|
||||||
- **onecontrol_client.py** - Complete BLE client for OneControl devices
|
├── src/ # Python implementation
|
||||||
|
│ ├── cobs_protocol.py # COBS encoder/decoder and CRC8
|
||||||
### Documentation
|
│ └── onecontrol_client.py # Complete BLE client
|
||||||
- **PROTOCOL_FINDINGS.md** - Detailed protocol specification
|
├── docs/ # Documentation
|
||||||
- **IMPLEMENTATION_GUIDE.md** - Complete implementation guide with examples
|
│ ├── PROTOCOL_FINDINGS.md
|
||||||
- **HOME_ASSISTANT_INTEGRATION.md** - Home Assistant integration plan
|
│ ├── IMPLEMENTATION_GUIDE.md
|
||||||
- **MISSION_ACCOMPLISHED.md** - Project completion summary
|
│ ├── HOME_ASSISTANT_INTEGRATION.md
|
||||||
|
│ └── MISSION_ACCOMPLISHED.md
|
||||||
|
├── scripts/ # Extraction tools (reference)
|
||||||
|
├── README.md
|
||||||
|
├── LICENSE
|
||||||
|
└── .gitignore
|
||||||
|
```
|
||||||
|
|
||||||
## 💻 Usage Example
|
## 💻 Usage Example
|
||||||
|
|
||||||
```python
|
```python
|
||||||
from onecontrol_client import OneControlClient
|
from src.onecontrol_client import OneControlClient
|
||||||
|
|
||||||
# Connect to device
|
# Connect to device
|
||||||
client = OneControlClient("AA:BB:CC:DD:EE:FF")
|
client = OneControlClient("AA:BB:CC:DD:EE:FF")
|
||||||
@@ -127,14 +133,18 @@ await client.disconnect()
|
|||||||
- [ ] Test end-to-end
|
- [ ] Test end-to-end
|
||||||
- [ ] Publish to HACS
|
- [ ] Publish to HACS
|
||||||
|
|
||||||
## 📚 Full Documentation
|
## 📚 Documentation
|
||||||
|
|
||||||
Complete documentation available in Obsidian vault:
|
### In This Repository
|
||||||
```
|
- [Protocol Findings](docs/PROTOCOL_FINDINGS.md) - Technical protocol specification
|
||||||
/home/wes/Documents/weeslahw_coppermind/Home Automation/Lippert OneControl/
|
- [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
|
## 🛠️ Development Tools Used
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user