UNPKG

homebridge-smartthings-oauth

Version:

Connects SmartThings devices to Homebridge. Automatically discovers devices.

161 lines (160 loc) 5.83 kB
{ "pluginAlias": "HomeBridgeSmartThings", "pluginType": "platform", "singular": true, "schema": { "type": "object", "properties": { "name": { "title": "Name", "type": "string", "required": true, "default": "Smartthings Plug (IK)" }, "BaseURL": { "title": "Base URL", "type": "string", "required": true, "default": "https://api.smartthings.com/v1/" }, "client_id": { "title": "Client ID", "type": "string", "required": true, "description": "OAuth2 Client ID from SmartThings. Obtained using the SmartThings CLI 'apps:create' command. See [Setup Instructions](https://github.com/aziz66/homebridge-smartthings?tab=readme-ov-file#getting-started) for details." }, "client_secret": { "title": "Client Secret", "type": "string", "required": true, "format": "password", "description": "OAuth2 Client Secret from SmartThings. Obtained using the SmartThings CLI 'apps:create' command. Save this value securely! See [Setup Instructions](https://github.com/aziz66/homebridge-smartthings?tab=readme-ov-file#getting-started) for details." }, "server_url": { "title": "Server URL", "type": "string", "required": true, "description": "The public URL of your server (e.g., https://your-domain.com)" }, "webhook_port": { "title": "Webhook Port", "type": "integer", "required": true, "default": 3000, "description": "Port for webhook server and OAuth callback" }, "GarageDoorMaxPoll": { "title": "Garage Door Max Poll", "type": "integer", "required": true, "default": 40 }, "PollLocksSeconds": { "title": "Poll Locks (zero = don't poll)", "type": "integer", "required": false, "default": 10 }, "PollDoorsSeconds": { "title": "Poll Garage Doors (zero = don't poll)", "type": "integer", "required": false, "default": 10 }, "PollSensorsSeconds": { "title": "Poll Sensors (zero = don't poll)", "type": "integer", "required": false, "default": 5 }, "PollSwitchesAndLightsSeconds": { "title": "Poll Switches and Lights (zero = don't poll)", "type": "integer", "required": false, "default": 10 }, "PollTelevisionsSeconds": { "title": "Poll Television devices (zero = don't poll)", "type": "integer", "required": false, "default": 15, "description": "How often to poll TV devices for status updates. TVs typically respond slower than other devices, so a higher interval is recommended." }, "registerVolumeSlider": { "title": "Register Volume Slider for TVs", "type": "boolean", "required": false, "default": true, "description": "Creates a separate volume slider accessory for TVs (exposed as a lightbulb) because HomeKit's native TV interface doesn't show volume controls directly. Enable this if you can't see volume controls in the Home app." }, "PollWindowShadesSeconds": { "title": "Poll Window Shades (zero = don't poll)", "type": "integer", "required": false, "default": 20 }, "ExposeHumiditySensorForAirConditioners": { "title": "Expose humidity Sensor for air Conditioners if available.", "type": "boolean", "required": false, "default": false }, "ExposeACDisplayLight": { "title": "Expose AC Display Light as a switch if available.", "type": "boolean", "required": false, "default": true }, "OptionalModeForAirConditioners": { "title": "Select what optional mode to use as additional switch in air conditioners.", "type": "string", "required": false, "enum": [ "Sleep", "Speed", "WindFree", "WindFreeSleep", "Speed and Windfree" ], "default": "None" }, "enableTelevisionService": { "title": "Enable Television Service for TV devices", "type": "boolean", "required": false, "default": true, "description": "When enabled, Samsung TVs will be exposed as proper Television accessories with input source control, volume control, and picture modes. When disabled, TVs will continue to appear as simple switches." }, "removeLegacySwitchForTV": { "title": "Remove Legacy Switch Service for TVs", "type": "boolean", "required": false, "default": false, "description": "When enabled, removes the basic switch service for TV devices, leaving only the Television service. When disabled (default), both services are available for backward compatibility." }, "IgnoreLocations": { "title": "Locations to Ignore", "type": "array", "items": { "title": "Location Name", "type": "string" } }, "IgnoreDevices": { "title": "Devices to Ignore", "type": "array", "description": "List of device names to ignore. Device names are case-insensitive and whitespace is trimmed. Special characters like smart quotes (') are automatically normalized to regular quotes (').", "items": { "title": "Device Name", "type": "string", "description": "Exact device name as it appears in SmartThings (case-insensitive)" }, "examples": [ ["Living Room Light", "Kitchen Switch", "Bedroom Fan"] ] } } }, "form": null, "display": null }