matterbridge-webhooks
Version:
Matterbridge webhooks plugin
172 lines (171 loc) • 5.99 kB
JSON
{
"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
}
}
}