Credits¶
OpenCCU-Loom is MIT-licensed (see LICENSE). This page records the external projects we have read and learned from, and credits the people and licences behind them. None of their code is copied verbatim into the OpenCCU-Loom source tree; we cite them in file-top comments wherever a Svelte primitive or Go type mirrors an external counterpart so the lineage stays auditable.
The license obligations and verbatim copyright notices for every upstream project — plus the Go module dependencies — live in THIRD-PARTY-NOTICES.md; full license texts are under licenses/. This page is the narrative companion to that machine-oriented list.
aiohomematic — MIT¶
- Source: https://github.com/SukramJ/aiohomematic (local mirror
../aiohomematic/) - Authored by SukramJ and Daniel Perna.
- Used as: the reference implementation this whole project is a Go port of — transports, devices, paramsets, custom-DP composition, enumerations and their string values, interface classification, paramset normalization and patches, and the device-profile registration shape. The device-profile catalogue was derived from the aiohomematic registry and, since ADR 0063, is maintained in this repository rather than regenerated.
Compliance: MIT, same as OpenCCU-Loom. No Python source is reproduced verbatim; the Go code is a from-scratch semantic port that cites the aiohomematic file + function it mirrors. The CCU side of the project follows aiohomematic as its gold standard (see CLAUDE.md §"aiohomematic as a Reference").
aiohomematic-config — MIT¶
- Source: https://github.com/SukramJ/aiohomematic-config (local mirror
../aiohomematic-config/) - Used as: reference for the configuration-panel logic ported into
internal/configui— form schemas, parameter grouping, label resolution, visibility filters, preset selection.
Compliance: MIT. Same provenance rules as aiohomematic above.
pydevccu / godevccu — MIT¶
- Sources: https://github.com/danielperna84/pydevccu (authors: Daniel Perna, SukramJ) and the Go port https://github.com/SukramJ/godevccu, consumed as a regular module dependency for the integration tests.
- Used as: the in-process HomeMatic CCU simulator that the hermetic
tests/integration/suite runs against —godevccuis a pure-Go port ofpydevccu, so no Python toolchain is needed.
Compliance: both MIT.
Home Assistant Frontend — Apache-2.0¶
- Source: https://github.com/home-assistant/frontend (local mirror
../frontend/) - Used as: visual + structural reference for the
assets/ui/src/lib/control/primitive set (ControlSlider,ControlButton,ControlButtonGroup,ControlNumberButtons,ControlTile,ControlTileIcon,ControlTileInfo) and the feature-stack pattern undercard-features/. - Specifically referenced:
frontend/src/components/ha-control-slider.ts— slider thickness, track structure, gradient fill, keyboard a11yfrontend/src/components/ha-control-button.ts— pill button shape and the background-opacity active/inactive treatmentfrontend/src/components/ha-control-button-group.ts— segmented button container, 12 px spacing, 40 px thicknessfrontend/src/components/ha-control-circular-slider.ts— arc-based target-value selector for thermostatsfrontend/src/components/tile/ha-tile-icon.tsand siblings —--tile-color-driven state colouringfrontend/src/panels/lovelace/cards/hui-tile-card.ts— tile-card layout: hero icon + info + features stackfrontend/src/panels/lovelace/card-features/hui-*-card-feature.ts— per-slot interaction surfaces (toggle, numeric input, target temperature, HVAC modes, preset modes, cover open/close, lock commands, light color temp, etc.)frontend/src/resources/theme/color/color.globals.ts— the--state-*-colortoken namespace (state-coloured tiles)frontend/src/common/entity/state_color.tsandstate_active.ts— the entity→state→CSS variable mapping logic
Compliance: Apache-2.0 is MIT-compatible. Each new Svelte file under assets/ui/src/lib/control/ begins with a comment naming the HA file it mirrors. No Lit/TypeScript code is reproduced verbatim; each primitive is implemented from scratch in Svelte 5 + Tailwind 4.
EQ-3 OCCU — HMSL (non-commercial)¶
- Source: https://github.com/eq-3/occu (local mirror
../occu/) - Used as: factual API-inventory source for the CCU
CONTROLattribute. The 84 family names and their slot suffixes are interface metadata the CCU XML-RPC API speaks; documenting them innotes/reference/control-inventory.mdis no different from documenting HTTP-method names. - Specifically:
occu/firmware/rftypes/*.xml(greped forcontrol="…"attributes) and the existence ofoccu/WebUI/www/rega/esp/controls/*.fnfilenames as a hint of which families have a per-family rendering template upstream.
Compliance: HMSL is non-commercial. We do not reproduce any OCCU software (no ReGa code, no .fn files, no images) in OpenCCU-Loom. Extracting identifier names from a public source for the purpose of talking to the documented API surface is interoperability, not derivative-work creation. The CCU data archives that DO ship in the binary are addressed separately by ADR 0003 and the NOTICE.md of the github.com/SukramJ/go-openccu-data module they come from.
homematicip-local-frontend — MIT¶
- Source: https://github.com/SukramJ/homematicip-local-frontend (local mirror
../homematicip-local-frontend/) - Used as: structural reference for the HA-panel-context (how an in-HA-panel SPA composes its tiles, how it pulls entity state via the WS API). Same MIT licence as OpenCCU-Loom.
matter.js — Apache-2.0¶
- Source: https://github.com/matter-js/matter.js (local mirror
../matter.js/) - Copyright: Copyright 2022-2026 Matter.js Authors. The project started under the Connectivity Standards Alliance organisation (
project-chip, which still redirects) and now lives in its ownmatter-jsorganisation. It is not a CSA project and is not certified by the Alliance. - Used as: the gold standard for the entire Matter side. The Matter stack is not part of this repository — it lives in the go-fabric module, which OpenCCU-Loom embeds as a library, and which is a semantic port of matter.js HEAD: cluster IDs, revisions, attribute IDs, constraints, defaults and wire shape are mirrored from it, and 270+ Go files there cite the matter.js
path:functionthey mirror. The host side that stays here (internal/north/matteradapter/,internal/store/matterendpoint/, the per-device projections underinternal/model/custom/) mirrors matter.js only where it names a Matter constant. See CLAUDE.md §"matter.js HEAD is the Matter gold standard".
Compliance: Apache-2.0 is MIT-compatible. No matter.js source is reproduced verbatim; the Go code is written from scratch. The Apache-2.0 license text is kept at licenses/Apache-2.0.txt and the matter.js schema pin used for parity at notes/parity/matter/matter-schema-snapshot.json.
home-assistant-matter-bridge — Apache-2.0¶
- Source: https://github.com/Nabu-Casa/home-assistant-matter-bridge (local mirror
../home-assistant-matter-bridge/) - Copyright: © Nabu Casa, Inc. and the home-assistant-matter-bridge authors.
- Used as: a supplementary reference for end-to-end bridge composition (Aggregator + bridged devices). Not a gold standard — it carries Home-Assistant-specific shims — but useful when wiring the bridge.
Compliance: Apache-2.0, see licenses/Apache-2.0.txt. No source is reproduced verbatim.
Reverse direction¶
OpenCCU-Loom itself is MIT-licensed. Anyone reading this list to learn from us is welcome to do the same — the LICENSE file applies.