homebridge-mqtt-ceiling-fan-remote
Version:
A remote using http commands to control a hunter ceiling fan via a tasmotized sonoff rfbridge for homebridge written in Typescript
114 lines • 3.08 kB
JSON
{
"pluginAlias": "HomebridgeMQTTCeilingFanRemote",
"pluginType": "platform",
"singular": true,
"customUi": true,
"schema": {
"type": "object",
"properties": {
"_version": {
"type": "string",
"condition": {
"functionBody": "return false"
},
"default": "1.0.0"
},
"name": {
"type": "string",
"title": "Plugin Name",
"default": "homebridge-mqtt-ceiling-fan-remote"
},
"mqtt": {
"type": "object",
"title": "MQTT",
"properties": {
"protocol": {
"title": "Protocol",
"type": "string",
"oneOf": [
{ "title": "mqtt", "enum": ["mqtt"] },
{ "title": "mqtts", "enum": ["mqtts"] },
{ "title": "tcp", "enum": ["tcp"] },
{ "title": "tls", "enum": ["tls"] },
{ "title": "ws", "enum": ["ws"] },
{ "title": "wss", "enum": ["wss"] },
{ "title": "wxs", "enum": ["wxs"] },
{ "title": "alis", "enum": ["alis"] }
],
"default": "mqtt",
"required": true
},
"host": {
"title": "Broker",
"type": "string",
"default": "0.0.0.0",
"required": true
},
"port": {
"title": "Port",
"type": "string",
"default": "1883",
"required": true
},
"user": {
"title": "Username",
"type": "string"
},
"password": {
"title": "Password",
"type": "string"
}
}
},
"rfbridge": {
"type": "object",
"title": "RF Bridge",
"properties": {
"topic": {
"title": "Topic",
"type":"string",
"required": true
},
"protocol": {
"title": "Protocol Index",
"type":"string",
"required": true,
"default": "00"
}
}
},
"rooms": {
"title": "Rooms",
"type": "array",
"items": {
"type": "object",
"properties": {
"_id": {
"type": "string",
"condition": {
"functionBody": "return false"
}
},
"name": {
"title": "Name",
"type": "string",
"required": true
},
"remote_ids":{
"title": "Remotes",
"description": "Homekit inputs will be sent from the first remote code",
"type": "array",
"minItems": 1,
"items": {
"title": "Remote Code",
"description": "Binary string of nibble 1-40 of remote payload. <br/>Example: 0010101110101001001111001110001110111101",
"type": "string",
"required": true
}
}
}
}
}
}
}
}