Skip to content

Releases: dongnh/matter_webcontrol

v0.26.1

Choose a tag to compare

@dongnh dongnh released this 04 May 05:47

First release since v0.24.0 — bundles v0.25.0, v0.25.1, v0.26.0, v0.26.1.

v0.26.1

  • GET /api/climate — unified temperature (°C) and humidity (%) read across thermostat local_temperature plus standalone temp/humidity sensors. ?id=… returns one device. Each entry tags kind = thermostat or sensor. New MCP tool: get_climate.

v0.26.0

  • Native Thermostat / AC control — Matter Thermostat endpoints (cluster 513) are first-class. New GET /api/acs, GET/POST /api/ac (on, mode, setpoint in °C). New MCP tools: list_acs, get_ac, set_ac. /api/toggle and /api/set (brightness 0/1) on a thermostat ID map to on/off via system_mode. /api/status adds acs_on / acs_off. Verified on Aqara Hub M200 + Climate Sensor W100 — Aqara hubs expose paired IR ACs through this path (no Scenes cluster is exposed by Aqara).

v0.25.1

  • Auto-dedupe on re-pair: after commission_with_code, any older fabric node sharing the new node's endpoint-0 UniqueID/SerialNumber is automatically unpaired.
  • GET /api/unregister?node_id=N for manual phantom-node cleanup.

v0.25.0 (breaking)

  • Federation no longer uses embedded scripts — /api/metadata emits capabilities + states; peers call standard REST. Removes RCE risk.
  • Default bind 127.0.0.1. Pass --host 0.0.0.0 to expose on LAN; doing so without --api-key warns.
  • API key auth: --api-key / MATTER_SRV_KEY requires X-API-Key on every request. Federation forwards keys.
  • SSE keepalive on /api/subscribe.
  • Logical-first routing in _find_state / get_sensor. Parallel /api/batch. Mireds clamped to [153, 500]. get_status dedup. Logical-bridge cache. Atomic + resilient bridge_cache.json.

v0.24.0

Choose a tag to compare

@dongnh dongnh released this 22 Mar 10:07
3d011ad

v0.24.0

New Features

  • MCP server — New matter-mcp command connects to a running HTTP server and exposes all device operations as MCP tools for LLM integration
  • ToggleGET /api/toggle?id= to flip device on/off without specifying brightness
  • Batch controlPOST /api/batch to control multiple devices in one request
  • Status summaryGET /api/status returns quick counts (lights on/off, sensors, bridges)
  • Remove aliasGET /api/name/remove?id=&name= to delete a device alias
  • Remove bridgeGET /api/bridge/remove?ip=&port= to unregister a logical bridge

Breaking Changes

  • Aliases are display-only — All API endpoints now require the canonical dev_* device ID. Aliases set via /api/name are no longer resolved as IDs.

Architecture

  • Shared core — Extracted all business logic into cli/core.py (DeviceController class). Both server.py (FastAPI) and mcp_server.py (MCP) are thin wrappers with zero duplicated logic.
  • MCP as HTTP clientmatter-mcp connects to a running matter-srv via HTTP instead of initializing its own Matter bridge. Supports --host and --port options.

v0.23.0

Choose a tag to compare

@dongnh dongnh released this 22 Mar 01:17
02e1a6a

v0.23.0

Breaking Changes

  • Stable device IDs — Physical Matter devices now use hash-based IDs derived from hardware UniqueID (e.g. dev_a3f7c1b2) instead of dev_{node_id}_{endpoint_id}. Existing cache keys (names, occupancy history) are auto-migrated on first run. External systems referencing old-format IDs will need to update — alias-based references are unaffected.

New Features

  • --fabric option — Set the Matter fabric label at startup: matter-srv --fabric "Home Lab"

Improvements

  • Codebase refactor — Extracted shared helpers to reduce code duplication across all source files:
    • Unified GET/POST parameter parsing (_get_params)
    • Shared device lookup functions (_find_device_state, _find_logical_target)
    • Reusable light/sensor payload builders (_build_light_entry, _build_sensor_entry)
    • Generic JSON cache helpers (_load_json, _save_json) replacing 6 separate methods
  • Logical bridge client — Stores host/port directly instead of parsing from URL string
  • README rewrite — Cleaner language, CLI options table, parameter tables for all endpoints, collapsible metadata example, sudo usage note

v0.22.0

Choose a tag to compare

@dongnh dongnh released this 13 Mar 10:12

v0.22.0

v0.21.0

Choose a tag to compare

@dongnh dongnh released this 13 Mar 05:22

v0.21.0

v0.20.0

Choose a tag to compare

@dongnh dongnh released this 13 Mar 05:01

v0.20.0

v0.19.0

Choose a tag to compare

@dongnh dongnh released this 12 Mar 15:44

v0.19.0

v0.18.0

Choose a tag to compare

@dongnh dongnh released this 12 Mar 04:35

v0.18.0

v0.17.0

Choose a tag to compare

@dongnh dongnh released this 11 Mar 16:45
ee5e1ef

v0.17.0

v0.16.0

Choose a tag to compare

@dongnh dongnh released this 08 Mar 04:39

v0.16.0