UNPKG

homebridge-aplvibe

Version:

Homebridge plugin for SleepMe devices using APL as core logic engine

114 lines 3.16 kB
{ "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" ] } ] } ] }