UNPKG

homebridge-tuya-laundry

Version:

Allows washer/dryer cycle completion notifications using Tuya smart plugs with power meter, now using local control.

214 lines 7.28 kB
{ "pluginAlias": "TuyaLaundryNotify", "pluginType": "platform", "singular": true, "schema": { "type": "object", "properties": { "tuyaApiCredentials": { "title": "Tuya API Credentials", "type": "object", "required": true, "properties": { "accessId": { "title": "Tuya Access ID", "type": "string", "required": true, "description": "The Access ID for your Tuya OpenAPI project" }, "accessKey": { "title": "Tuya Access Key", "type": "string", "required": true, "description": "The Access Key for your Tuya OpenAPI project" }, "username": { "title": "Tuya Username", "type": "string", "required": true, "description": "Your Tuya account username (usually your email address)" }, "password": { "title": "Tuya Password", "type": "string", "required": true, "description": "Your Tuya account password" }, "countryCode": { "title": "Country Code", "type": "string", "required": true, "description": "Country code for your account (e.g., '49' for Germany)" }, "appSchema": { "title": "Tuya App Schema", "type": "string", "required": true, "description": "The schema for your Tuya app (e.g., 'smartlife' or 'tuyaSmart')" }, "endpoint": { "title": "Tuya API Endpoint", "type": "string", "required": true, "description": "The endpoint for your Tuya API (e.g., 'https://openapi.tuyaeu.com')" } } }, "notifications": { "title": "Notifications Configuration", "type": "object", "properties": { "telegram": { "type": "object", "title": "Telegram Notifications", "properties": { "botToken": { "title": "Telegram Bot Token", "type": "string", "required": false, "description": "Telegram Bot Token for push notifications" } } }, "pushed": { "type": "object", "title": "Pushed.co Notifications", "properties": { "appKey": { "title": "App Key", "type": "string", "required": false }, "appSecret": { "title": "App Secret", "type": "string", "required": false }, "channelAlias": { "title": "Channel Alias", "type": "string", "required": false } } }, "ntfy": { "type": "object", "title": "ntfy Notifications", "properties": { "title": { "title": "ntfy Title", "type": "string", "required": true, "description": "ntfy title for notifications" }, "topic": { "title": "ntfy Topic", "type": "string", "required": true, "description": "ntfy topic for notifications" }, "serverUrl": { "title": "ntfy Server URL", "type": "string", "required": false, "description": "Optional custom server URL for ntfy notifications (default: 'https://ntfy.sh')" } } } } }, "laundryDevices": { "title": "Laundry Devices", "type": "array", "items": { "type": "object", "properties": { "name": { "title": "Device Name", "type": "string", "required": true, "description": "Device name for logging purposes" }, "deviceId": { "title": "Tuya Device ID", "type": "string", "required": true, "description": "Local Tuya Device ID" }, "localKey": { "title": "Tuya Device Local Key", "type": "string", "required": true, "description": "Local key for local device communication" }, "ipAddress": { "title": "Device IP Address", "type": "string", "required": true, "description": "IP address of the Tuya device" }, "protocolVersion": { "title": "Tuya Protocol Version", "type": "string", "required": false, "description": "Select the Tuya protocol version for your device", "enum": ["3.1", "3.2", "3.3", "3.4"], "default": "3.3" }, "powerValueId": { "title": "Power Value ID", "type": "string", "required": true, "description": "DPS ID that represents power consumption" }, "startValue": { "title": "Start Value", "type": "number", "required": false, "description": "Expected power value when the device starts the cycle" }, "startDuration": { "title": "Start Duration", "type": "number", "required": false, "description": "Duration in seconds that the start value needs to hold until the device is considered active." }, "endValue": { "title": "End Value", "type": "number", "required": false, "description": "Expected power value when the device finishes the cycle" }, "endDuration": { "title": "End Duration", "type": "number", "required": false, "description": "Duration in seconds that the end value needs to hold until the device is considered inactive." }, "startMessage": { "title": "Start Message", "type": "string", "required": false, "description": "Optional push message when the device starts the cycle", "default": "Washing started..." }, "endMessage": { "title": "End Message", "type": "string", "required": false, "description": "Push message when the device ends the cycle", "default": "Washing finished!" }, "exposeStateSwitch": { "title": "Expose State Switch", "type": "boolean", "required": false, "description": "Creates dummy switch that will indicate the current device status, useful for extra automation", "default": false } } } } } } }