Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

matterbridge-webhooks

Luligu1.4kApache-2.01.1.1TypeScript support: included

Matterbridge webhooks plugin

shelly, matterbridge, homebridge, bridge, plugin, frontend, matterbridge, matter.js, matter-node.js, matter, matterprotocol, iot, smarthome, connectedthings, hap, homekit, siri, google-home, alexa, homeassistant, smartthings, ewelink, webhooks, hooks

readme

Matterbridge Logo   Matterbridge webhooks plugin

npm version npm downloads Docker Version Docker Pulls Node.js CI CodeQL codecov

power by power by power by power by


This plugin allows you to expose single webhooks or complex webhook devices to Matter.

Simple webhooks

Features:

  • The webhooks parameters can easily be entered in the frontend.
  • It is possible to choose how to expose the webhooks: Switch, Outlet or Light.
  • It is possible to choose the method: GET or POST.
  • The webhook can be tested in the frontend.

Webhook devices

Features:

  • It is possible to choose the device type from the config.
  • It is possible to set the method with a prefix 'GET#' or 'POST# in the urls. Default if omitted is GET.
  • It is possible to use converters and attributes in the url.

Supported device types:

Device type Urls
outlet on off
onOffLight on off
dimmerLight on off brightness
colorTempLight on off brightness colorTemp
extendedLight on off brightness colorTemp colorRgb

If there is interest, let me know and I will add all other device types.

Supported request converters:

Converter Return value
${LEVEL} matter 1-254
${LEVEL100} percentage 0-100
${MIRED} colorTemp in mired
${KELVIN} colorTemp in kelvin
${HUE} hue 0-360
${SATURATION} saturation 0-100
${COLORX} colorX 0-1
${COLORY} colorX 0-1

Supported cluster attributes:

Attributes Return value
${level} matter 1-254
${level100} percentage 0-100
${mired} colorTemp in mired
${kelvin} colorTemp in kelvin
${hue} hue 0-360
${saturation} saturation 0-100
${colorX} colorX 0-1
${colorY} colorX 0-1
${red} red 0-255
${gree} green 0-255
${blue} blue 0-255

If you like this project and find it useful, please consider giving it a star on GitHub and sponsoring it.

Buy me a coffee

Prerequisites

Matterbridge

See the complete guidelines on Matterbridge for more information.

How to add a simple webhook

In the frontend open the plugin config: add a new webhook, enter the webhook name in the first field (replace newKey with the name you want to give to the webhook), select GET or POST and enter the webhook url. The webhook name will be the device name on the controller. The webhook will be exposed like a switch, like an outlet or like a light. When you turn it on, the webhook is called and in a few seconds the switch or the outlet or the light will revert to off.

It is possible to test directly the webhook from the config editor.

Examples

Shelly webhooks examples

Change 192.168.1.XXX with your device IP address.

Shelly 1 Gen 1

To turn on a shelly gen 1 device with ip 192.168.1.155 the url is http://192.168.1.XXX/light/0?turn=on.

To turn off a shelly gen 1 device with ip 192.168.1.155 the url is http://192.168.1.XXX/light/0?turn=off.

Shelly Trv Gen 1

The following examples allows to fully control a Shelly Trv Gen 1, adding Boost, Schedule and Profile (provided by https://github.com/vandan380).

"Boost 30min": method: POST, Url: "http://192.168.1.XXX/thermostats/0?boost_minutes=30"

"Schedule Enable": method: POST, Url: "http://192.168.1.XXX/settings/thermostats/0?schedule=1"

"Schedule Disable": method: POST, Url: "http://192.168.1.XXX/settings/thermostats/0?schedule=0"

"Profile Working Day": method: POST, Url: "http://192.168.1.XXX/settings/thermostats/0?schedule_profile=1"

"Profile Holiday": method: POST, Url: "http://192.168.1.XXX/settings/thermostats/0?schedule_profile=2"

changelog

Matterbridge Logo   Matterbridge webhooks plugin changelog

All notable changes to this project will be documented in this file.

If you like this project and find it useful, please consider giving it a star on GitHub at https://github.com/Luligu/matterbridge-webhooks and sponsoring it.

Buy me a coffee

[1.1.1] - 2026-01-20

Added

  • [matter]: Conformance to Matter 1.4.2 and matterbridge 3.5.x.

Changed

  • [package]: Updated dependencies.
  • [package]: Bumped package to automator v.3.0.0.
  • [package]: Refactored Dev Container to use Matterbridge mDNS reflector.

Buy me a coffee

[1.1.0] - 2025-12-16

Added Webhook devices

It allows to create a device based on webhooks.

Features:

  • It is possible to choose the device type from the config.
  • It is possible to set the method with a prefix 'GET#' or 'POST# in the urls. Default if omitted is GET.
  • It is possible to use converters in the url.

Supported device types:

Device type Urls
outlet on off
onOffLight on off
dimmerLight on off brightness
colorTempLight on off brightness colorTemp
extendedLight on off brightness colorTemp colorRgb

If there is interest, let me know and I will add all other device types.

Supported request converters:

Converter Return value
${LEVEL} matter 1-254
${LEVEL100} percentage 0-100
${MIRED} colorTemp in mired
${KELVIN} colorTemp in kelvin
${HUE} hue 0-360
${SATURATION} saturation 0-100
${COLORX} colorX 0-1
${COLORY} colorX 0-1

Supported cluster attributes:

Attributes Return value
${level} matter 1-254
${level100} percentage 0-100
${mired} colorTemp in mired
${kelvin} colorTemp in kelvin
${hue} hue 0-360
${saturation} saturation 0-100
${colorX} colorX 0-1
${colorY} colorX 0-1
${red} red 0-255
${gree} green 0-255
${blue} blue 0-255

Changed

  • [package]: Updated dependencies.
  • [package]: Bumped package to automator v.2.1.1.

Buy me a coffee

[1.0.2] - 2025-12-12

Changed

  • [package]: Updated dependencies.
  • [package]: Updated to the current Matterbridge signatures.
  • [package]: Required matterbridge v.3.4.0.
  • [package]: Updated to the Matterbridge Jest module.
  • [package]: Bumped package to automator v.2.1.0.

Buy me a coffee

[1.0.1] - 2025-11-14

Changed

  • [package]: Updated dependencies.
  • [package]: Bumped package to automator v.2.0.12.
  • [package]: Updated to the current Matterbridge signatures.
  • [jest]: Updated jestHelpers to v.1.0.12.

Buy me a coffee

[1.0.0] - 2025-10-28

Changed

  • [package]: Updated dependencies.
  • [package]: Bumped platform to v.1.0.0.
  • [package]: Bumped package to automator v.2.0.10
  • [jest]: Bumped jestHelpers to v.1.0.10.
  • [package]: Require matterbridge v.3.3.0.
  • [package]: Added default config.
  • [platform]: Updated to new signature PlatformMatterbridge.
  • [workflows]: Ignore any .md in build.yaml.
  • [workflows]: Ignore any .md in codeql.yaml.
  • [workflows]: Ignore any .md in codecov.yaml.
  • [workflows]: Improved speed on Node CI.
  • [devcontainer]: Added the plugin name to the container.
  • [devcontainer]: Improved performance of first build with shallow clone.

Buy me a coffee

[0.0.5] - 2025-07-02

Added

  • [DevContainer]: Added support for the Matterbridge Plugin Dev Container with an optimized named volume for node_modules.
  • [GitHub]: Added GitHub issue templates for bug reports and feature requests.
  • [ESLint]: Refactored the flat config.
  • [ESLint]: Added the plugins eslint-plugin-promise, eslint-plugin-jsdoc, and @vitest/eslint-plugin.
  • [Jest]: Refactored the flat config.
  • [Vitest]: Added Vitest for TypeScript project testing. It will replace Jest, which does not work correctly with ESM module mocks.
  • [JSDoc]: Added missing JSDoc comments, including @param and @returns tags.
  • [CodeQL]: Added CodeQL badge in the readme.
  • [Codecov]: Added Codecov badge in the readme.

Changed

  • [package]: Updated package to Automator v. 2.0.1.
  • [package]: Updated dependencies.
  • [storage]: Bumped node-storage-manager to 2.0.0.
  • [logger]: Bumped node-ansi-logger to 3.1.1.

Buy me a coffee

[0.0.4] - 2025-05-05

Changed

  • [package]: Updated package.
  • [package]: Updated dependencies.

Fixed

  • [platform]: Fixed bug on unselected webhooks.

Buy me a coffee

[0.0.3] - 2025-05-01

Added

  • [readme]: Added the possibility to test the hook before confirming the changes in the config editor.

Changed

  • [package]: Require matterbridge 3.0.0.
  • [package]: Updated package.
  • [package]: Updated dependencies.

Buy me a coffee

[0.0.2] - 2025-03-30

Added

  • [readme]: Added some examples for Shelly Trv gen 1.

Fixed

  • [select]: Fixed missing clearSelect on start.

Buy me a coffee

[0.0.1] - 2025-03-19

First published release.

Buy me a coffee