UNPKG

homebridge-xiaomi-roborock-vacuum

Version:

Xiaomi Vacuum Cleaner - 1st (Mi Robot), 2nd (Roborock S50 + S55), 3rd Generation (Roborock S6) and S5 Max - plugin for Homebridge.

312 lines (311 loc) 7.74 kB
{ "pluginAlias": "XiaomiRoborockVacuum", "pluginType": "accessory", "schema": { "type": "object", "properties": { "name": { "title": "Name", "type": "string", "default": "Xiaomi Mi Robot Vaccum 1st Generation", "minLength": 1, "required": true }, "ip": { "title": "IP", "type": "string", "required": true }, "token": { "title": "Token", "type": "string", "required": true }, "serviceType": { "title": "Load the vacuum as a fan (ON/OFF + speed control) or a switch (ON/OFF only)", "type": "string", "default": "fan", "enum": ["fan", "switch"], "required": false }, "waterBox": { "title": "Enable the Water Box mode (beta)", "type": "boolean", "default": false, "required": false }, "dustBin": { "title": "Enable the Dust Bin indicator (beta)", "type": "boolean", "default": false, "required": false }, "dustCollection": { "title": "Enable the Dust Collection mode (beta)", "type": "boolean", "default": false, "required": false }, "disableCareServices": { "title": "Disable Care Services", "type": "boolean", "default": false, "required": false }, "silent": { "title": "Do not log info and debug messages (only log warn and error messages)", "type": "boolean", "default": false, "required": false }, "pause": { "title": "Show switch for \"pause\"", "type": "boolean", "default": false, "required": true }, "pauseWord": { "title": "Pause Word", "type": "string", "default": "pause", "required": true, "condition": { "functionBody": "return model.pause === true" } }, "findMe": { "title": "Show switch for \"find me\"", "type": "boolean", "default": false, "required": true }, "findMeWord": { "title": "Find Me Word", "type": "string", "default": "where are you", "required": true, "condition": { "functionBody": "return model.findMe === true" } }, "goTo": { "title": "Show switch for \"go to\"", "type": "boolean", "default": false, "required": true }, "goToWord": { "title": "Go To Word", "type": "string", "default": "go to coordinates", "required": true, "condition": { "functionBody": "return model.goTo === true" } }, "goToX": { "title": "x-coordinate", "type": "integer", "default": 25500, "required": true, "condition": { "functionBody": "return model.goTo === true" } }, "goToY": { "title": "y-coordinate", "type": "integer", "default": 25500, "required": true, "condition": { "functionBody": "return model.goTo === true" } }, "dock": { "title": "Show Dock sensor", "type": "boolean", "default": true, "required": true }, "cleanword": { "title": "Cleaning Word", "type": "string", "default": "cleaning", "required": true }, "roomTimeout": { "title": "Room autoclean timeout", "type": "integer", "default": 0, "required": false }, "autoroom": { "title": "Automatic Room Detection", "type": "boolean", "default": false, "required": true }, "rooms": { "title": "Room cleaning", "type": "array", "required": false, "items": { "title": "Rooms", "type": "object", "properties": { "name": { "name": "Room Name", "type": "string" }, "id": { "name": "Room ID", "type": "integer" } } } }, "zones": { "title": "Zone cleaning", "type": "array", "required": false, "items": { "title": "Zones", "type": "object", "properties": { "name": { "name": "Name", "type": "string", "required": true }, "zone": { "name": "Zone's Coordinates", "required": true, "type": "array", "minItems": 1, "items": { "title": "Coordinates (Bottom-Left X, Bottom-Left Y, Top-Right X, Top-Right Y, # Repeats)", "type": "array", "minItems": 5, "maxItems": 5, "items": { "type": "number", "required": true } } } } } } } }, "layout": [ "name", { "type": "flex", "flex-flow": "row wrap", "items": ["ip", "token"] }, "serviceType", "waterBox", "dustBin", "dustCollection", "silent", "pause", "pauseWord", "findMe", "findMeWord", "goTo", "goToWord", { "type": "flex", "flex-flow": "row wrap", "items": ["goToX", "goToY"] }, "dock", "cleanword", "roomTimeout", "autoroom", { "type": "fieldset", "title": "Rooms", "description": "Room Mapping", "expandable": true, "expanded": false, "items": [ { "notitle": true, "key": "rooms", "type": "array", "items": [ { "type": "div", "displayFlex": true, "flex-direction": "row", "items": [ { "key": "rooms[].id", "flex": "1 1 50px", "notitle": true, "placeholder": "Room ID" }, { "key": "rooms[].name", "flex": "4 4 200px", "notitle": true, "placeholder": "Room Name" } ] } ] } ] }, { "type": "fieldset", "title": "Zones", "description": "Zone cleaning", "expandable": true, "expanded": false, "items": [ { "notitle": true, "key": "zones", "type": "array", "items": [ { "type": "div", "displayFlex": true, "flex-direction": "row", "items": [ { "key": "zones[].name", "flex": "1 1 100px", "placeholder": "Zone Name" }, { "key": "zones[].zone", "notitle": true, "flex": "4 4 150px", "type": "array", "items": [ { "key": "zones[].zone[]", "type": "array", "displayFlex": true, "flex-direction": "row", "items": [ { "type": "number" } ] } ] } ] } ] } ] } ] }