homeconnect-oven-matter
homeconnect-oven-matter
Matter bridge service for a HomeConnect oven using homeconnect_local over TLS-PSK.
The service is non-interactive and binds Matter UDP on an ephemeral port (port: 0). When uncommissioned, it prints the Matter QR code and setup PIN to stdout.
Endpoints
endpoint 1microwave slider:OnOff + LevelControl(0..100%->1..100s)endpoint 2preheat slider:OnOff + LevelControl(0..100%->100..200°C)endpoint 3cavity temperature sensor:TemperatureMeasurementendpoint 4door contact sensor:BooleanStateendpoint 5operation-state contact sensor:BooleanStateendpoint 6power button endpoint:OnOffendpoint 7pause/resume button endpoint:OnOff
Both sliders are Dimmable Lights, so they also carry the Groups cluster that device type requires; every endpoint carries Identify and a FixedLabel naming it.
Local Run
Use the Home Connect Profile Downloader to download your Appliance profiles, select "openHAB" as target. The downloaded ZIP-file contains each Appliance encryption Key and feature descriptions, place these in the certs folder.
crystal run src/homeconnect-oven-matter.cr -- \
--ip=192.168.4.79 \
--psk64='gU_uf9kitLaAaisF5C8NIA' \
--identity=homeconnect \
--cipher=PSK \
--device-xml=./certs/039024000094_DeviceDescription.xml \
--feature-xml=./certs/039024000094_FeatureMapping.xml
Environment variables are also supported:
-
HC_OVEN_IP -
HC_PSK64 -
HC_IDENTITY -
HC_CIPHER -
HC_DEVICE_XML -
HC_FEATURE_XML -
MATTER_STORAGE_FILE(default:data/homeconnect_oven_matter_storage.yml)Matter 0.2 changed the storage format. Convert a device commissioned by an earlier build once, offline, and it stays paired:
bin/matter-storage migrate --from legacy:data/homeconnect_oven_matter_storage.json \ --to yaml:data/homeconnect_oven_matter_storage.yml -
HC_POLL_INTERVAL -
LOG_LEVEL
For commissioning troubleshooting, set LOG_LEVEL=debug.
Docker
Add the required keys into .env
HC_OVEN_IP=192.168.4.79
HC_PSK64=gU_Z0uf9kitLaAaisFxUAo5A
HC_DEVICE_XML=24000094_DeviceDescription.xml
HC_FEATURE_XML=24000094_FeatureMapping.xml
then
chmod -R a+rwX ./data
docker compose up
docker-compose.yml uses network_mode: host and mounts:
./certs -> /app/certs(read-only)./data -> /app/data(needs permissive write permissions)
Build the image:
docker build -t homeconnect-matter .
# OR
docker buildx build --platform linux/arm64 --tag stakach/oven:latest --push .
Validation
For real oven validation, use read-only status checks first. Do not send program commands until manual iOS testing.
homeconnect-oven-matter
- 0
- 0
- 0
- 0
- 3
- 3 days ago
- February 14, 2026
MIT License
Sat, 12 Sep 2026 05:44:04 GMT