@dotwee/homebridge-z2m
Version:
Expose your Zigbee devices to HomeKit with ease, by integrating Zigbee2MQTT with Homebridge.
384 lines • 10.8 kB
JSON
{
"pluginAlias": "zigbee2mqtt",
"pluginType": "platform",
"singular": true,
"headerDisplay": "Please use the same MQTT configuration as you have used for your Zigbee2MQTT installation. Device configurations are optional.",
"footerDisplay": "For more information about the [configuration options](https://z2m.dev/config.html), please refer to the [plugin website](https://z2m.dev/).",
"schema": {
"type": "object",
"definitions": {
"log_level": {
"type": "string",
"default": "debug",
"oneOf": [
{
"title": "Debug",
"enum": [
"debug"
]
},
{
"title": "Info",
"enum": [
"info"
]
},
{
"title": "Warn",
"enum": [
"warn"
]
},
{
"title": "Error",
"enum": [
"error"
]
}
],
"required": true
},
"exclude": {
"type": "boolean",
"required": false
},
"excluded_keys": {
"title": "Excluded properties (keys)",
"type": "array",
"required": false,
"items": {
"type": "string",
"minLength": 1
}
},
"excluded_endpoints": {
"title": "Excluded endpoints",
"type": "array",
"required": false,
"items": {
"type": "string",
"minLength": 0
}
},
"values": {
"title": "Include/exclude values",
"type": "array",
"required": false,
"items": {
"type": "object",
"properties": {
"property": {
"title": "Property (key)",
"type": "string",
"required": true,
"minLength": 3,
"placeholder": "action"
},
"include": {
"title": "Included values",
"type": "array",
"required": false,
"items": {
"type": "string",
"minLength": 1
}
},
"exclude": {
"title": "Excluded values",
"type": "array",
"required": false,
"items": {
"type": "string",
"minLength": 1
}
}
}
}
},
"converters": {
"type": "object",
"properties": {
"switch": {
"title": "Switch",
"type": "object",
"properties": {
"type": {
"title": "Type",
"type": "string",
"oneOf": [
{
"title": "Switch",
"enum": [
"switch"
]
},
{
"title": "Outlet",
"enum": [
"outlet"
]
}
]
}
}
},
"occupancy": {
"title": "Occupancy",
"type": "object",
"properties": {
"type": {
"title": "Type",
"type": "string",
"oneOf": [
{
"title": "Occupancy",
"enum": [
"occupancy"
]
},
{
"title": "Motion",
"enum": [
"motion"
]
}
]
}
}
}
}
}
},
"properties": {
"mqtt": {
"title": "MQTT",
"type": "object",
"required": true,
"properties": {
"base_topic": {
"title": "Base topic",
"type": "string",
"required": true,
"default": "zigbee2mqtt",
"placeholder": "zigbee2mqtt"
},
"server": {
"title": "Server",
"type": "string",
"required": true,
"default": "mqtt://localhost:1883",
"placeholder": "mqtt://localhost:1883"
},
"ca": {
"title": "SSL/TLS certificate of CA",
"type": "string",
"required": false
},
"key": {
"title": "SSL/TLS key for client-authentication",
"type": "string",
"required": false
},
"cert": {
"title": "SSL/TLS certificate for client-authentication",
"type": "string",
"required": false
},
"user": {
"title": "Username",
"type": "string",
"required": false
},
"password": {
"title": "Password",
"type": "string",
"required": false
},
"client_id": {
"title": "Client ID",
"type": "string",
"required": false
},
"reject_unauthorized": {
"title": "Disable self-signed SSL certificates",
"type": "boolean",
"default": false,
"required": false
},
"keepalive": {
"title": "Keep Alive",
"type": "integer",
"default": 60,
"required": false
},
"version": {
"title": "MQTT version",
"type": "integer",
"default": 4,
"minimum": 3,
"maximum": 5,
"required": false
},
"disable_qos": {
"title": "Disable QoS",
"type": "boolean",
"default": false,
"required": false
}
}
},
"log": {
"title": "Logging",
"type": "object",
"properties": {
"mqtt_publish": {
"$ref": "#/definitions/log_level",
"title": "Published MQTT messages"
}
}
},
"defaults": {
"title": "Device defaults",
"type": "object",
"properties": {
"exclude": {
"title": "Exclude devices by default",
"default": false,
"$ref": "#/definitions/exclude"
},
"excluded_keys": {
"$ref": "#/definitions/excluded_keys"
},
"excluded_endpoints": {
"$ref": "#/definitions/excluded_endpoints"
},
"values": {
"$ref": "#/definitions/values"
},
"converters": {
"$ref": "#/definitions/converters"
}
}
},
"exclude_grouped_devices": {
"title": "Exclude devices that are part of a group",
"type": "boolean",
"default": false,
"required": false
},
"devices": {
"title": "Devices",
"type": "array",
"required": false,
"items": {
"type": "object",
"properties": {
"id": {
"title": "Zigbee Identifier / Friendly name",
"type": "string",
"required": true,
"minLength": 3,
"placeholder": "0x1234567890abcdef"
},
"exclude": {
"title": "Exclude entire device",
"$ref": "#/definitions/exclude"
},
"excluded_keys": {
"$ref": "#/definitions/excluded_keys",
"condition": {
"functionBody": "return !model.devices[arrayIndices].exclude;"
}
},
"excluded_endpoints": {
"$ref": "#/definitions/excluded_endpoints",
"condition": {
"functionBody": "return !model.devices[arrayIndices].exclude;"
}
},
"included_keys": {
"title": "Included properties (keys)",
"type": "array",
"required": false,
"items": {
"type": "string",
"minLength": 1
},
"condition": {
"functionBody": "return !model.devices[arrayIndices].exclude;"
}
},
"values": {
"$ref": "#/definitions/values",
"condition": {
"functionBody": "return !model.devices[arrayIndices].exclude;"
}
},
"converters": {
"$ref": "#/definitions/converters",
"condition": {
"functionBody": "return !model.devices[arrayIndices].exclude;"
}
},
"experimental": {
"title": "Experimental feature flags",
"type": "array",
"required": false,
"items": {
"type": "string",
"minLength": 1
},
"condition": {
"functionBody": "return !model.devices[arrayIndices].exclude;"
}
},
"adaptive_lighting": {
"title": "Adaptive Lighting",
"type": "object",
"required": false,
"properties": {
"enabled": {
"title": "Enabled",
"type": "boolean",
"required": false,
"default": true
},
"min_ct_change": {
"title": "Minimum change in Color Temperature to trigger publish",
"type": "integer",
"minimum": 0,
"maximum": 500,
"placeholder": 1,
"required": false,
"condition": {
"functionBody": "return model.defaults.adaptive_lighting.enabled;"
}
},
"transition": {
"title": "Transition time (seconds)",
"type": "integer",
"minimum": 0,
"maximum": 300,
"placeholder": 0,
"required": false,
"condition": {
"functionBody": "return model.defaults.adaptive_lighting.enabled;"
}
}
}
}
}
}
},
"experimental": {
"title": "Experimental feature flags",
"type": "array",
"required": false,
"items": {
"type": "string",
"minLength": 1
}
}
}
}
}