UNPKG

matterbridge-webhooks

Version:
172 lines (171 loc) 5.99 kB
{ "title": "Matterbridge webhooks plugin", "description": "matterbridge-webhooks v. 0.0.1 by https://github.com/Luligu", "type": "object", "properties": { "name": { "title": "Plugin Name", "description": "Plugin name", "type": "string", "readOnly": true, "ui:widget": "hidden" }, "type": { "title": "Plugin Type", "description": "Plugin type", "type": "string", "readOnly": true, "ui:widget": "hidden" }, "version": { "title": "Plugin Version", "description": "Plugin version", "type": "string", "readOnly": true, "default": "0.0.1", "ui:widget": "hidden" }, "whiteList": { "title": "White List", "description": "Only the webhooks in the list will be exposed. If the list is empty, all the webhooks will be exposed.", "type": "array", "items": { "type": "string" }, "uniqueItems": true, "selectFrom": "name" }, "blackList": { "title": "Black List", "description": "The webhooks in the list will not be exposed. If the list is empty, no webhooks will be excluded.", "type": "array", "items": { "type": "string" }, "uniqueItems": true, "selectFrom": "name" }, "deviceType": { "title": "Device Type", "type": "string", "default": "Outlet", "enum": ["Outlet", "Switch", "Light"], "description": "Select how to represent the webhooks on the controller. Don't use Switch for Alexa." }, "webhooks": { "title": "Webhooks", "description": "Define each webhooks. Enter in the first field the name of the webhook (replace newKey with the name of the webhook) and in the right panel the parameters.", "type": "object", "uniqueItems": true, "additionalProperties": { "type": "object", "description": "Webhook parameters:", "required": ["method", "httpUrl"], "properties": { "method": { "type": "string", "default": "GET", "enum": ["GET", "POST", "PUT"], "description": "HTTP method to use for the webhook." }, "httpUrl": { "type": "string", "title": "Webhook URL", "description": "URL to which the webhook will send requests." }, "test": { "type": "boolean", "default": false, "buttonText": "Test", "description": "Test the webhook by sending a request" } } } }, "outlets": { "title": "Outlets", "description": "Define each outlet. Enter in the first field the name of the outlet (replace newKey with the name of the outlet) and in the right panel the urls (i.e. \"[GET|POST|PUT]#http://mydomain.com/api/device/on\").", "type": "object", "uniqueItems": true, "additionalProperties": { "type": "object", "description": "Outlet parameters:", "required": ["onUrl", "offUrl"], "properties": { "onUrl": { "type": "string", "title": "Outlet On URL", "description": "URL to turn on the outlet." }, "offUrl": { "type": "string", "title": "Outlet Off URL", "description": "URL to turn off the outlet." } } } }, "lights": { "title": "Lights", "description": "Define each light. Enter in the first field the name of the light (replace newKey with the name of the light) and in the right panel the urls (i.e. [GET|POST|PUT]#http://mydomain.com/api/device/on).", "type": "object", "uniqueItems": true, "additionalProperties": { "type": "object", "description": "Light parameters:", "required": ["onUrl", "offUrl"], "properties": { "minMireds": { "type": "integer", "title": "Minimum Mireds", "default": 154, "description": "Minimum color temperature in Mireds (Kelvin = 1000000 / Mireds). Default is 154 (6500K)." }, "maxMireds": { "type": "integer", "title": "Maximum Mireds", "default": 500, "description": "Maximum color temperature in Mireds (Kelvin = 1000000 / Mireds). Default is 500 (2000K)." }, "onUrl": { "type": "string", "title": "Light On URL", "description": "URL to turn on the light." }, "offUrl": { "type": "string", "title": "Light Off URL", "description": "URL to turn off the light." }, "brightnessUrl": { "type": "string", "title": "Light Brightness URL", "description": "URL to adjust the brightness of the light. (i.e. [GET|POST]:http://mydomain.com/api/device?brightness=${BRIGHTNESS})" }, "colorTempUrl": { "type": "string", "title": "Light Color Temperature URL", "description": "URL to adjust the color temperature of the light. (i.e. [GET|POST]:http://mydomain.com/api/device?colorTemp=${MIRED})" }, "rgbUrl": { "type": "string", "title": "Light RGB URL", "description": "URL to adjust the RGB color of the light. (i.e. [GET|POST]:http://mydomain.com/api/device?hue=${HUE}&saturation=${SATURATION})" } } } }, "debug": { "title": "Enable Debug", "description": "Enable the debug for the plugin.", "type": "boolean", "default": false }, "unregisterOnShutdown": { "title": "Unregister On Shutdown", "description": "Unregister all devices on shutdown. This will remove all devices from the controller when the plugin is stopped.", "type": "boolean", "default": false } } }