https://github.com/sukramj/aiohomematic-config
https://github.com/sukramj/aiohomematic-config
home-assistant homematic homematic-ip openccu
Last synced: 14 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/sukramj/aiohomematic-config
- Owner: SukramJ
- License: mit
- Created: 2026-02-11T16:38:58.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2026-05-19T08:54:26.000Z (24 days ago)
- Last Synced: 2026-05-19T11:37:43.985Z (24 days ago)
- Topics: home-assistant, homematic, homematic-ip, openccu
- Language: Python
- Homepage:
- Size: 493 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# aiohomematic-config
[](https://github.com/sukramj/aiohomematic-config/actions/workflows/test-run.yaml)
[](https://codecov.io/gh/sukramj/aiohomematic-config)
[](https://pypi.org/project/aiohomematic-config/)
Presentation-layer library for Homematic device configuration UI.
Transforms Homematic device paramset descriptions into UI-optimized structures. No RPC knowledge, no CCU access -- operates purely on data structures from [aiohomematic](https://github.com/sukramj/aiohomematic).
## Installation
```bash
pip install aiohomematic-config
```
## Quick Start
```python
from aiohomematic_config import FormSchemaGenerator
generator = FormSchemaGenerator(locale="en")
schema = generator.generate(
descriptions=descriptions,
current_values=current_values,
channel_type="HEATING_CLIMATECONTROL_TRANSCEIVER",
)
# schema is a Pydantic model, JSON-serializable
print(schema.model_dump_json(indent=2))
```
## Key Components
| Component | Purpose |
| --------------------- | ------------------------------------------------ |
| `FormSchemaGenerator` | ParameterData + values -> JSON form schemas |
| `ParameterGrouper` | Flat parameter list -> grouped sections |
| `LabelResolver` | Technical parameter IDs -> human-readable labels |
| `ConfigSession` | Change tracking, undo/redo, dirty state |
| `ConfigExporter` | Serialize/deserialize device configurations |
| `WidgetType` mapping | ParameterType -> appropriate UI widget |
## License
MIT License - see [LICENSE](LICENSE) for details.