openccu-data
Extract and distribute Homematic CCU/OpenCCU configuration metadata (translations, easymodes, link profiles).
What it is and what it does
openccu-data is a metadata extraction and distribution tool for Homematic home automation systems. It parses configuration from OCCU, OpenCCU, or RaspberryMatic installations—either from a local filesystem checkout or a running CCU instance over HTTP/HTTPS—and produces structured JSON archives containing easymodes, UI translations, and device link profiles. The package serves as the single source of truth for configuration data consumed by aiohomematic and aiohomematic-config, which vendor the produced JSON artifacts at runtime.
The package provides three command-line extractors: openccu-extract-easymodes (parses TCL easymode configs), openccu-extract-translations (extracts JS translation files and string tables), and openccu-extract-profiles (generates link-profile JSON per receiver type). It has no external runtime dependencies beyond Python's standard library, making it lightweight to deploy. Output defaults to openccu_data/data/ but can be redirected via the OUTPUT_DIR environment variable.
Use it for:
- Extract easymode metadata from a local RaspberryMatic checkout to regenerate device configuration data for aiohomematic.
- Fetch translations and link profiles from a running CCU instance over HTTPS to update consumer project vendored copies.
- Merge easymode and translation results from both a local checkout and a running CCU when both OCCU_PATH and CCU_URL are set.
- Generate receiver-type-specific link profiles for a subset of device types using the RECEIVERS environment variable.
- Maintain a CI/CD pipeline that periodically extracts fresh metadata from upstream OCCU/RaspberryMatic and syncs it to dependent projects.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Extracts and distributes Homematic CCU configuration metadata (translations, easymodes, link profiles) from OCCU, OpenCCU, or RaspberryMatic sources via local filesystem or HTTP/HTTPS.
Yes, if you maintain or contribute to aiohomematic or aiohomematic-config, or if you need to extract Homematic CCU metadata for integration into home automation tooling. The package is actively maintained, has no external dependencies, and is the authoritative source for the data artifacts these projects consume. The Python 3.14 requirement is a constraint; verify your environment supports it. Data licensing (EQ-3 for artifacts) should be reviewed if you redistribute the extracted metadata.
Install
openccu-data on PyPI
pip
pip install openccu-datauv
uv add openccu-datapoetry
poetry add openccu-dataInstalling openccu-data
Before you install
Installation is straightforward with no third-party runtime dependencies—only the standard library. The package is actively maintained with a recent release and passes its test suite.
License in practice
Code is MIT-licensed (permissive), but data artifacts under openccu_data/data/ are derivatives of OCCU/RaspberryMatic and subject to the EQ-3 license per NOTICE.md; curated translation_custom/ overrides are MIT.
Quickstart
pip install openccu-data
# After installation, use console scripts:
OCCU_PATH=/path/to/occu openccu-extract-easymodes
OCCU_PATH=/path/to/occu openccu-extract-translations
CCU_URL=https://my-ccu.local openccu-extract-profiles
# Or run scripts directly without installation:
OCCU_PATH=/path/to/occu python script/extract_easymodes.py
Requires Python 3.14 or later; OCCU_PATH or CCU_URL environment variable must be set to specify the source for extraction.
Verify before relying
- Whether the package is suitable for production use given its 'Alpha' development status classification.
- Performance characteristics when extracting from large or complex CCU instances.
- Compatibility with specific OCCU, OpenCCU, or RaspberryMatic versions.
Package facts
| License | MIT License (permissive) |
| Python support | capped below the current Python release (>=3.14) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 13 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 548,429/month — #6,063 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: openccu_data-2026.7.2-py3-none-any.whl
Keywords: home, automation, homematic, ccu, openccu, raspberrymatic, easymode
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
aiohomematicAn async Python library for controlling and…
permissive · top 15,000 on PyPI
openccu-loom-clientAsync Python REST and WebSocket client for the…
permissive · top 15,000 on PyPI
aiohomematic-configTransforms Homematic device paramset…
permissive · top 15,000 on PyPI
maco-extractorMaco is a framework for standardizing malware…
permissive · top 15,000 on PyPI
openccu-loom-typesProvides generated Pydantic models and string…
permissive · top 15,000 on PyPI
extractcodeExtracts a wide range of archive formats (tar,…
permissive · top 15,000 on PyPI
ipsw-parserParses and extracts data from iOS IPSW firmware…
copyleft · top 15,000 on PyPI
vininfoExtracts and verifies information from Vehicle…
permissive · top 15,000 on PyPI
openlineage-airflowIntegrates Apache Airflow DAGs with OpenLineage…
permissive · top 5,000 on PyPI
dbt-extractorExtracts metadata (refs, sources, configs) from…
permissive · top 1,000 on PyPI