homebridge-aplvibe
Version:
Homebridge plugin for SleepMe devices using APL as core logic engine
114 lines • 3.16 kB
JSON
{
"pluginAlias": "APLVibe",
"pluginType": "platform",
"singular": true,
"schema": {
"type": "object",
"properties": {
"name": {
"title": "Name",
"type": "string",
"default": "APLVibe",
"required": true
},
"apiToken": {
"title": "API Token",
"type": "string",
"required": true,
"description": "Your SleepMe API token for device access"
},
"unit": {
"title": "Temperature Unit",
"type": "string",
"default": "C",
"enum": ["C", "F"],
"required": true,
"description": "Display temperature unit (Celsius or Fahrenheit)"
},
"pollingInterval": {
"title": "Polling Interval (seconds)",
"type": "integer",
"default": 90,
"minimum": 30,
"maximum": 300,
"required": true,
"description": "How often to poll device status (30-300 seconds)"
},
"devices": {
"title": "Device Configuration",
"type": "array",
"items": {
"type": "object",
"properties": {
"deviceId": {
"title": "Device ID",
"type": "string",
"required": true,
"description": "Unique identifier for the SleepMe device"
},
"name": {
"title": "Device Name",
"type": "string",
"required": true,
"description": "Display name for the device in HomeKit"
},
"schedules": {
"title": "Temperature Schedules",
"type": "array",
"items": {
"type": "object",
"properties": {
"time": {
"title": "Time (24h format)",
"type": "string",
"pattern": "^([01]?[0-9]|2[0-3]):[0-5][0-9]$",
"description": "Time in HH:MM format (e.g., 22:30)"
},
"temperature": {
"title": "Target Temperature",
"type": "number",
"minimum": 13,
"maximum": 46,
"description": "Target temperature in Celsius (13-46°C)"
}
},
"required": ["time", "temperature"]
}
}
},
"required": ["deviceId", "name"]
}
}
},
"required": ["name", "apiToken", "unit", "pollingInterval"]
},
"layout": [
{
"type": "fieldset",
"title": "API Configuration",
"items": [
"apiToken",
"unit",
"pollingInterval"
]
},
{
"type": "array",
"title": "Devices",
"key": "devices",
"items": [
"devices[].deviceId",
"devices[].name",
{
"type": "array",
"title": "Temperature Schedules",
"key": "devices[].schedules",
"items": [
"devices[].schedules[].time",
"devices[].schedules[].temperature"
]
}
]
}
]
}