skillfed

openccu-data

Extract and distribute Homematic CCU/OpenCCU configuration metadata (translations, easymodes, link profiles).

openccu-data v2026.7.2 548.4K downloads/30d#6,063 on PyPI0
Permissive license MIT License Active released

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-data

uv

uv add openccu-data

poetry

poetry add openccu-data

Installing 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

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishNatural Language :: GermanOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTopic :: Home AutomationTopic :: Software Development :: Libraries :: Python ModulesTyping :: Typed

Tags

homematic ccu metadata extractionopenccu configuration parserraspberrymatic easymode extractorccu translation extractorhomematic link profile parserccu data distributionhomematic device metadata
home-automationmetadata-extractionhomematic

More Python Modules packages