-
-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathmatterbridge-zigbee2mqtt.schema.json
More file actions
214 lines (214 loc) · 7.54 KB
/
matterbridge-zigbee2mqtt.schema.json
File metadata and controls
214 lines (214 loc) · 7.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
{
"title": "Matterbridge zigbee2mqtt plugin",
"description": "matterbridge-zigbee2mqtt v. 2.0.17 by https://github.com/Luligu",
"type": "object",
"required": ["host", "port", "topic"],
"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"
},
"host": {
"title": "MQTT Host",
"description": "MQTT server host (IP address or hostname with mqtt:// or mqtts:// or ws:// or wss:// prefix) or mqtt+unix://<SOCKET_PATH> for Unix socket on Linux (e.g. mqtt+unix:///var/run/mosquitto/mqtt.sock). For secure connections, use the mqtts:// or wss:// prefix and ensure your certificates are configured. If you use a hostname, make sure that the hostname is resolvable by the system running matterbridge.",
"type": "string",
"default": "mqtt://localhost"
},
"port": {
"title": "MQTT Port",
"description": "MQTT server port (i.e. 1883 for mqtt://, 8883 for mqtts://, 9001 for ws:// or 9443 for wss://). For Unix socket, this value is ignored.",
"type": "number",
"default": 1883
},
"protocolVersion": {
"title": "MQTT Protocol Version",
"description": "MQTT server protocol version 3, 4 or 5 (default 5). Version 5 is recommended for most modern MQTT brokers.",
"type": "number",
"default": 5
},
"username": {
"title": "MQTT Username",
"description": "MQTT server authentication user. Only required if the MQTT server requires authentication (i.e allow_anonymous false)",
"type": "string"
},
"password": {
"title": "MQTT Password",
"description": "MQTT server authentication password. Only required if the MQTT server requires authentication (i.e allow_anonymous false)",
"type": "string",
"ui:widget": "password"
},
"clientId": {
"title": "MQTT Client ID",
"description": "MQTT clientId identifier. If not set, a random clientId will be generated.",
"type": "string"
},
"ca": {
"title": "MQTT CA Certificate",
"description": "Absolute path to the SSL/TLS CA certificate used to sign both the server and client certificates (PEM format). Required for secure connections (i.e. mqtts://) with self-signed certificates.",
"type": "string"
},
"rejectUnauthorized": {
"title": "MQTT Reject Unauthorized",
"description": "Reject unauthorized MQTT server. Only used for secure connections (i.e. mqtts://).",
"type": "boolean",
"default": true
},
"cert": {
"title": "MQTT Client Certificate",
"description": "Absolute path to the SSL/TLS MQTT client certificate (PEM format). Only required if the MQTT server requires a client certificate for authentication (i.e. require_certificate true).",
"type": "string"
},
"key": {
"title": "MQTT Client Private Key",
"description": "Absolute path to the SSL/TLS MQTT client private key (PEM format). Only required if the MQTT server requires a client certificate for authentication (i.e. require_certificate true).",
"type": "string"
},
"topic": {
"title": "MQTT Topic",
"description": "MQTT base topic for Zigbee2MQTT MQTT messages. This should match the base_topic in your Zigbee2MQTT configuration.yaml file.",
"type": "string",
"default": "zigbee2mqtt"
},
"zigbeeFrontend": {
"title": "Zigbee Frontend",
"description": "Zigbee frontend host to prefix the configUrl from matterbridge frontend (i.e. http://192.168.1.100:8080)",
"type": "string",
"default": "http://localhost:8080"
},
"whiteList": {
"title": "White List",
"description": "Only the devices in the list will be exposed. If the list is empty, all the devices will be exposed.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"selectFrom": "name"
},
"blackList": {
"title": "Black List",
"description": "The devices in the list will not be exposed. If the list is empty, no devices will be excluded.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"selectFrom": "name"
},
"switchList": {
"title": "Switch List",
"description": "The devices in the list will be exposed like switches (don't use it for Alexa, use lightList or outletList instead).",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"selectFrom": "name"
},
"lightList": {
"title": "Light List",
"description": "The devices in the list will be exposed like lights.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"selectFrom": "name"
},
"outletList": {
"title": "Outlet List",
"description": "The devices in the list will be exposed like outlets.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"selectFrom": "name"
},
"featureBlackList": {
"title": "Feature Black List",
"description": "The features in the list will not be exposed for all devices.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"selectEntityFrom": "name"
},
"deviceFeatureBlackList": {
"title": "Device Feature Black List",
"description": "List of features not to be exposed for a single device. Enter in the first field the name of the device and in the list add all the features to exclude.",
"type": "object",
"uniqueItems": true,
"selectFrom": "name",
"additionalProperties": {
"description": "List of features not to be exposed for this device. Enter the feature (i.e. device_temperature) to exclude.",
"type": "array",
"items": {
"type": "string"
},
"uniqueItems": true,
"selectDeviceEntityFrom": "name"
}
},
"scenesType": {
"title": "Scenes Device Type",
"description": "Device type to use to expose scenes",
"type": "string",
"oneOf": [
{
"title": "Light",
"enum": ["light"]
},
{
"title": "Outlet",
"enum": ["outlet"]
},
{
"title": "Switch",
"enum": ["switch"]
},
{
"title": "Mounted Switch",
"enum": ["mounted_switch"]
}
],
"default": "outlet"
},
"scenesPrefix": {
"title": "Scenes Prefix",
"description": "Add the device/group friendly name before the scene name.",
"type": "boolean",
"default": true
},
"postfix": {
"title": "Device Postfix",
"description": "Add this unique postfix (3 characters max) to each device serial to avoid collision with other instances (you may loose the configuration of the devices in your controller when changing this value).",
"type": "string",
"default": ""
},
"debug": {
"title": "Enable Debug",
"description": "Enable the debug for the plugin (development only)",
"type": "boolean",
"default": false
},
"unregisterOnShutdown": {
"title": "Unregister On Shutdown",
"description": "Unregister all devices on shutdown (development only)",
"type": "boolean",
"default": false,
"ui:widget": "hidden"
}
}
}