--- /dev/null
+swaggerDoc:
+ openapi: 3.0.3
+ info:
+ title: PowerView Gen3 Gateway
+ description: >-
+ The Gateway can be accessed and controlled via HTTP requests over a local
+ area network via this API.
+ version: 1.10.0
+ servers:
+ - url: http://10.0.0.127:80
+ tags:
+ - name: Home
+ description: >-
+ A Home consists of a number of related objects such as Rooms, Shades,
+ Scenes, Automations, Gateways, and Remotes. The Home APIs access the
+ Home in the following way:
+ * listing objects and their properties
+ * mutating object relationships and properties
+ * performing actions such as moving Shades and activating Scenes
+
+ Note: If the Home does not have a HomeDoc, all /home APIs return
+ statusCode 503/SERVICE_UNAVAILABLE until the Home is correctly
+ configured and a HomeDoc is successfully retrieved from the Cloud
+ - name: Events
+ description: Provide Home Shade and Scene Events over an HTTP Streaming interface
+ - name: Gateway
+ description: >-
+ APIs providing ways to configure, provision, manage and diagnose the
+ Gateway
+ - name: HomeKit
+ description: APIs to manage HomeKit running on the Gateway
+ - name: HD Internal
+ description: >-
+ APIs for the sole use of Hunter Douglas. These APIs are internal hooks
+ for Hunter Douglas specific Apps and for troubleshooting
+ paths:
+ /gateway/:
+ get:
+ summary: Retrieve general Gateway information
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The Gateway information object
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ config:
+ properties:
+ rev:
+ title: Config.rev
+ description: Config data structure version
+ type: number
+ hwVersion:
+ title: Config.hwVersion
+ description: Hardware version
+ type: string
+ model:
+ title: Config.model
+ description: Hardware model
+ type: string
+ brand:
+ title: Config.brand
+ description: Hardware brand
+ type: string
+ serialNumber:
+ title: Config.serialNumber
+ description: Unique serial number across all products
+ type: string
+ firmware:
+ title: Config.firmware
+ description: Software version
+ properties:
+ mainProcessor:
+ title: BuildVersions.mainProcessor
+ description: Version number
+ properties:
+ build:
+ title: TypescriptAppBuildInfo.build
+ description: Build number
+ type: number
+ name:
+ title: TypescriptAppBuildInfo.name
+ description: '???'
+ type: string
+ revision:
+ title: TypescriptAppBuildInfo.revision
+ description: Major version number
+ type: number
+ subRevision:
+ title: TypescriptAppBuildInfo.subRevision
+ description: Minor version number
+ type: number
+ required:
+ - build
+ - name
+ - revision
+ - subRevision
+ additionalProperties: false
+ type: object
+ radios:
+ items:
+ title: BuildVersions.radios.[]
+ properties:
+ build:
+ title: TransceiverFirmwareBuildInfo.build
+ description: Build number
+ type: number
+ revision:
+ title: TransceiverFirmwareBuildInfo.revision
+ description: Major version number
+ type: number
+ subRevision:
+ title: TransceiverFirmwareBuildInfo.subRevision
+ description: Minor version number
+ type: number
+ required:
+ - build
+ - revision
+ - subRevision
+ additionalProperties: false
+ description: Transceiver/Radio firmware information
+ type: object
+ title: BuildVersions.radios
+ description: Transceiver/Radio firmware versions
+ type: array
+ required:
+ - mainProcessor
+ - radios
+ additionalProperties: false
+ type: object
+ homeAssoc:
+ title: Config.homeAssoc
+ description: >-
+ 2-byte Hash of the HomeSecurityKey (AKA:
+ ShadeSecurityKey)
+ type: number
+ color:
+ title: Config.color
+ description: >-
+ User idle color - the color the user chose for the
+ Idle state
+ properties:
+ brightness:
+ title: LedColor.brightness
+ description: LED brightness percentage between 0 and 100
+ type: number
+ red:
+ title: LedColor.red
+ description: Red color value between 0 and 255
+ type: number
+ green:
+ title: LedColor.green
+ description: Green color value between 0 and 255
+ type: number
+ blue:
+ title: LedColor.blue
+ description: Blue color value between 0 and 255
+ type: number
+ required:
+ - brightness
+ - red
+ - green
+ - blue
+ additionalProperties: false
+ type: object
+ cloudConfig:
+ title: Config.cloudConfig
+ properties:
+ cloudEnv:
+ title: FirestoreConfig.cloudEnv
+ description: >-
+ What cloud environment to access (i.e, what
+ credentials to load)
+ type: number
+ collection:
+ title: FirestoreConfig.collection
+ description: Cloud collection name for homeDocs
+ type: string
+ homeId:
+ title: FirestoreConfig.homeId
+ description: Home identifier for this household
+ type: string
+ gatewayId:
+ title: FirestoreConfig.gatewayId
+ description: Gateway id for THIS gateway
+ type: number
+ required:
+ - cloudEnv
+ - collection
+ - homeId
+ - gatewayId
+ additionalProperties: false
+ description: >-
+ Cloud Config
+
+ The properties required to uniquely identify a Home
+ and Gateway pairing.
+ type: object
+ rangeMapper:
+ title: Config.rangeMapper
+ description: Radio scan information
+ properties:
+ minRSSI:
+ title: RangeMapperDb.minRSSI
+ description: The minimum RSSI (of Shades) to report back on
+ type: number
+ levelingSeconds:
+ title: RangeMapperDb.levelingSeconds
+ description: >-
+ The number of seconds over that the algorithm
+ averages over
+ type: number
+ required:
+ - minRSSI
+ - levelingSeconds
+ additionalProperties: false
+ type: object
+ networkConfig:
+ title: Config.networkConfig
+ description: Persistent network configuration
+ properties:
+ staticIpEnabled:
+ title: NetworkConfig.staticIpEnabled
+ description: Is static IP configuration enabled?
+ type: boolean
+ staticIp:
+ properties:
+ ip_address:
+ title: NetworkConfig.staticIp.ip_address
+ description: Static IP address
+ type: string
+ netmask:
+ title: NetworkConfig.staticIp.netmask
+ description: Static IP network mask
+ type: string
+ gateway_ip:
+ title: NetworkConfig.staticIp.gateway_ip
+ description: >-
+ Home gateway IP address (i.e., the home
+ router
+ type: string
+ dns:
+ items:
+ type: string
+ title: NetworkConfig.staticIp.dns
+ description: DNS IP values
+ type: array
+ required:
+ - ip_address
+ - netmask
+ - gateway_ip
+ - dns
+ additionalProperties: false
+ title: NetworkConfig.staticIp
+ description: Static IP values if enabled
+ type: object
+ required:
+ - staticIpEnabled
+ - staticIp
+ additionalProperties: false
+ type: object
+ networkStatus:
+ title: Config.networkStatus
+ description: Transient network information
+ properties:
+ ipAddress:
+ title: NetworkStatus.ipAddress
+ description: Currently active IP address
+ type: string
+ activeInterface:
+ title: NetworkStatus.activeInterface
+ description: Current active network interface
+ type: string
+ primaryMacAddress:
+ title: NetworkStatus.primaryMacAddress
+ description: Primary MAC address to identify device
+ type: string
+ dns:
+ items:
+ type: string
+ title: NetworkStatus.dns
+ description: DNS entries
+ type: array
+ eth0:
+ title: NetworkStatus.eth0
+ description: Wired network interface information
+ wlan0:
+ title: NetworkStatus.wlan0
+ description: Wireless network interface information
+ internetState:
+ title: NetworkStatus.internetState
+ description: Internet connectivity state
+ type: string
+ enum:
+ - Connected
+ - Disconnected
+ ssid:
+ title: NetworkStatus.ssid
+ description: Wireless SSID
+ type: string
+ required:
+ - ipAddress
+ - activeInterface
+ - primaryMacAddress
+ - dns
+ - eth0
+ - wlan0
+ - internetState
+ - ssid
+ additionalProperties: false
+ type: object
+ mgwConfig:
+ title: Config.mgwConfig
+ description: Persistent multi-gateway configuration
+ properties:
+ primary:
+ title: MultiGatewayConfig.primary
+ description: This gateway is the primary in multi-gateway
+ type: boolean
+ required:
+ - primary
+ additionalProperties: false
+ type: object
+ mgwStatus:
+ title: Config.mgwStatus
+ description: Transient multi-gateway information
+ properties:
+ running:
+ title: MultiGatewayStatus.running
+ description: Multi-gateway is operational
+ type: boolean
+ required:
+ - running
+ additionalProperties: false
+ type: object
+ required:
+ - rev
+ - hwVersion
+ - model
+ - brand
+ - serialNumber
+ - firmware
+ - homeAssoc
+ - color
+ - cloudConfig
+ - rangeMapper
+ - networkConfig
+ - networkStatus
+ - mgwConfig
+ - mgwStatus
+ additionalProperties: false
+ title: Config
+ type: object
+ /gateway/balancer:
+ get:
+ summary: Retrieve general Gateway balancer information
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The Gateway balancer information object
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ maxShadesPerChannel:
+ type: number
+ seqNum:
+ type: number
+ balancingAlg:
+ type: string
+ example: 0 = BALANCE_BY_GROUP
+ transactionNum:
+ type: number
+ /gateway/cloud/config:
+ get:
+ summary: Get the Gateway Cloud configuration
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The Gateway Cloud configuration
+ content:
+ application/json:
+ schema:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to
+ access the Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: >-
+ Numerical identifier of the Gateway as registered in the
+ Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0,
+ Production = 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ put:
+ summary: Set the Gateway Cloud configuration
+ tags:
+ - Gateway
+ requestBody:
+ description: Parameters for connection to the Cloud database
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to access
+ the Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: >-
+ Numerical identifier of the Gateway as registered in the
+ Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0,
+ Production = 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ responses:
+ '200':
+ description: The Gateway Cloud configuration
+ content:
+ application/json:
+ schema:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to
+ access the Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: >-
+ Numerical identifier of the Gateway as registered in the
+ Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0,
+ Production = 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /gateway/cloud/config/push:
+ put:
+ summary: Push the individual Cloud configurations to each SPS
+ tags:
+ - Gateway
+ requestBody:
+ description: Parameters for connection to the Cloud database
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to access
+ the Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: >-
+ Numerical identifier of the Gateway as registered in the
+ Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0,
+ Production = 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ responses:
+ '200':
+ description: The Gateway Cloud configuration
+ content:
+ application/json:
+ schema:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to
+ access the Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: >-
+ Numerical identifier of the Gateway as registered in the
+ Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0,
+ Production = 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /gateway/cloud/config/sps:
+ get:
+ summary: Allow a SPS to retrieve its Cloud configuration
+ tags:
+ - HD Internal
+ parameters:
+ - name: mac
+ in: query
+ required: true
+ description: Primary MAC address
+ schema:
+ type: string
+ example: F8:DC:7A:3D:FB:7A
+ responses:
+ '200':
+ description: The Gateway Cloud configuration
+ content:
+ application/json:
+ schema:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to
+ access the Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: >-
+ Numerical identifier of the Gateway as registered in the
+ Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0,
+ Production = 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ '400':
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /gateway/factory-reset:
+ post:
+ summary: >-
+ Reset the Gateway by clearing all the settings and restoring them to
+ the factory defaults
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/homekit:
+ get:
+ summary: Returns the homekit information
+ tags:
+ - HomeKit
+ responses:
+ '200':
+ description: HomeKit information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ hapBridge:
+ type: object
+ properties:
+ pid:
+ type: number
+ connected:
+ type: boolean
+ exitCode:
+ type: string
+ killed:
+ type: boolean
+ started:
+ type: string
+ lastStoppedEvent:
+ type: string
+ stoppedMessage:
+ type: string
+ respawnDisabled:
+ type: boolean
+ debugEnabled:
+ type: boolean
+ closeEvents:
+ type: array
+ items:
+ type: string
+ lastAID:
+ type: number
+ accessoryMap:
+ type: object
+ /gateway/homekit/setup:
+ get:
+ summary: HomeKit setup data
+ tags:
+ - HomeKit
+ responses:
+ '200':
+ description: The HomeKit setup data
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ setupCode:
+ type: string
+ example: 383-67-992
+ setupPayload:
+ type: string
+ example: X-HM://0E38KYF3CHSCC03FBKDP6RPW4CM4J5S
+ required:
+ - setupCode
+ - setupPayload
+ /gateway/homekit/pairing/clear:
+ put:
+ summary: Clears pairing signal
+ tags:
+ - HomeKit
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/homekit/pairing/restart:
+ put:
+ summary: Restarts Homekit pairing mode
+ tags:
+ - HomeKit
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/homekit/hdbridge/reset:
+ put:
+ summary: Factory resets HomeKit HD Bridge process
+ tags:
+ - HomeKit
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/homekit/hdbridge/restart:
+ put:
+ summary: Restarts HomeKit HD Bridge process
+ tags:
+ - HomeKit
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/homekit/reset:
+ post:
+ summary: >-
+ Factory reset HomeKit only. The response indicates HomeKit reset
+ completed
+ tags:
+ - HomeKit
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/identify:
+ get:
+ summary: Identify the Gateway by flashing the LED
+ tags:
+ - Gateway
+ parameters:
+ - name: time
+ in: query
+ required: false
+ description: The flash time in seconds
+ schema:
+ type: string
+ default: 10
+ example: 15
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ put:
+ summary: Identify the Gateway by flashing the LED
+ deprecated: true
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/info:
+ get:
+ summary: >-
+ Retrieve some Gateway info including the serial number and the
+ firmware version
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: Limited information about the Gateway
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ fwVersion:
+ type: string
+ description: Gateway firmware version string
+ example: 3.1.376
+ serialNumber:
+ type: string
+ description: Gateway serial number
+ example: 3b4149d4f24d7bd7
+ required:
+ - fwVersion
+ - serialNumber
+ /gateway/info/gateways:
+ get:
+ summary: Retrieve the known and missing Gateways
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: Known and missing Gateways
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ known:
+ type: object
+ description: Known HomeDoc Gateway identifier
+ additionalProperties:
+ type: object
+ properties:
+ st:
+ type: integer
+ description: >-
+ The current operating state, which is one of:
+ 0=STARTUP, 1=IDLE, 2=NEW_GW_NO_NETWORK,
+ 3=NO_INTERNET, 4=NO_HOME
+ example: 1
+ pri:
+ type: boolean
+ description: >-
+ Optional: true indicates this Gateway is the
+ primary Gateway. Not set indicates this Gateway is
+ an auxiliary (aux) Gateway
+ self:
+ type: boolean
+ description: >-
+ Optional: true indicates this Gateway. Not set
+ indicates other Gateways in a multi-gateway system
+ required:
+ - st
+ missing:
+ type: array
+ description: >-
+ Gateway identifiers of HomeDoc listed Gateways who have
+ not reported recently
+ items:
+ type: number
+ description: HomeDoc Gateway identifier
+ example: 7643
+ required:
+ - known
+ - missing
+ /gateway/internet/status:
+ get:
+ summary: Test the Gateway connection to the internet
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: Conformation of internet connection
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ HealthCheckResponse:
+ type: object
+ properties:
+ success:
+ type: boolean
+ type:
+ type: string
+ message:
+ type: string
+ required:
+ - success
+ - type
+ - message
+ required:
+ - HealthCheckResponse
+ /gateway/led:
+ get:
+ summary: Get the Gateway LED color and brightness
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The LED Color
+ content:
+ application/json:
+ schema:
+ description: The Gateway LED color and brightness
+ type: object
+ properties:
+ red:
+ type: number
+ description: Red
+ maximum: 0
+ minimum: 255
+ green:
+ type: number
+ description: Green
+ maximum: 0
+ minimum: 255
+ blue:
+ type: number
+ description: Blue
+ maximum: 0
+ minimum: 255
+ brightness:
+ type: number
+ description: Brightness
+ maximum: 0
+ minimum: 100
+ required:
+ - red
+ - green
+ - blue
+ - brightness
+ put:
+ summary: Set the Gateway LED color and brightness
+ tags:
+ - Gateway
+ requestBody:
+ $ref: '#components/requestBodies/LedColor'
+ responses:
+ '200':
+ description: The LED Color
+ content:
+ application/json:
+ schema:
+ description: The Gateway LED color and brightness
+ type: object
+ properties:
+ red:
+ type: number
+ description: Red
+ maximum: 0
+ minimum: 255
+ green:
+ type: number
+ description: Green
+ maximum: 0
+ minimum: 255
+ blue:
+ type: number
+ description: Blue
+ maximum: 0
+ minimum: 255
+ brightness:
+ type: number
+ description: Brightness
+ maximum: 0
+ minimum: 100
+ required:
+ - red
+ - green
+ - blue
+ - brightness
+ /gateway/log:
+ get:
+ summary: Download the Gateway log from this Gateway
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The current Gateway.log
+ /gateway/log/level:
+ get:
+ summary: Get the current Gateway log level
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The Gateway current log level
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ level:
+ type: string
+ description: >-
+ The current root log level, which is one of: error,
+ warn, info, verbose, debug, or silly. The recommended
+ value is info.
+ example: info
+ transports:
+ type: array
+ items:
+ properties:
+ level:
+ type: string
+ description: >-
+ The current transport log level, which is one of:
+ error, warn, info, verbose, debug, or silly. The
+ recommended value is info.
+ example: silly
+ required:
+ - level
+ required:
+ - level
+ - transports
+ put:
+ summary: Set the Gateway log level and if it persists across Gateway restarts
+ tags:
+ - Gateway
+ parameters:
+ - name: level
+ in: query
+ required: true
+ description: >-
+ The new log level, which must be one of: error, warn, info,
+ verbose, debug, or silly. The recommended value is info.
+ schema:
+ type: string
+ example: debug
+ - name: persist
+ in: query
+ required: false
+ description: >-
+ If the new log level is to persist (be sticky) across application
+ restarts. Values are string 'true' or 'false'
+ schema:
+ type: string
+ example: 'true'
+ responses:
+ '204':
+ description: The log level was successfully set
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /gateway/log/upload:
+ get:
+ summary: Upload the Gateway log to the Cloud
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ put:
+ summary: Upload the Gateway log to the Cloud
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/network:
+ get:
+ summary: Retrieve the current Gateway network information
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The Gateway's network information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ networkConfig:
+ description: The Gateway's network configuration information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: >-
+ Indicates if the below staticIp object information
+ is to be applied. The below staticIp object is
+ optional if staticIpEnabled is false
+ example: true
+ staticIp:
+ type: object
+ description: >-
+ The optional static IP configuration information. If
+ staticIpEnabled is true, this object must be present
+ in its entirety. If staticIpEnabled is false, this
+ object may be present and if present, it must be
+ fully provided
+ properties:
+ ip_address:
+ type: string
+ description: The IP address to utilize as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: >-
+ The subnet mask to apply to the static IP
+ address value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: >-
+ The static internet Gateway IP address to
+ utilize
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ networkStatus:
+ description: The Gateway's network status information
+ type: object
+ properties:
+ ipAddress:
+ type: string
+ description: The IP address of the active interface
+ example: 10.0.0.101
+ activeInterface:
+ type: string
+ description: >-
+ The active network interface identifier. Either
+ 'eth0' (wired) or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: eth0
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example: 8.8.8.8
+ eth0:
+ type: object
+ description: >-
+ The wired (eth0) network information, which may be
+ empty if not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0'
+ (wired) or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired'
+ (eth0) or 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: >-
+ The network interface's internet Gateway IP
+ address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ wlan0:
+ type: object
+ description: >-
+ The wireless (wlan0) network information, which may
+ be empty if not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0'
+ (wired) or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired'
+ (eth0) or 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: >-
+ The network interface's internet Gateway IP
+ address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ internetState:
+ type: string
+ description: The IP network's internet connectivity state
+ enum:
+ - Connected
+ - Disconnected
+ example: Connected
+ ssid:
+ type: string
+ description: >-
+ The wireless network's SSID value. The value is an
+ empty string if not configured
+ example: HunterDouglasWifi
+ required:
+ - ipAddress
+ - activeInterface
+ - dns
+ - eth0
+ - wlan0
+ - internetState
+ - ssid
+ required:
+ - networkConfig
+ - networkStatus
+ /gateway/network/config:
+ get:
+ summary: Retrieve the Gateway's current network configuration information
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The Gateway's current network configuration information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ networkConfig:
+ description: The Gateway's network configuration information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: >-
+ Indicates if the below staticIp object information
+ is to be applied. The below staticIp object is
+ optional if staticIpEnabled is false
+ example: true
+ staticIp:
+ type: object
+ description: >-
+ The optional static IP configuration information. If
+ staticIpEnabled is true, this object must be present
+ in its entirety. If staticIpEnabled is false, this
+ object may be present and if present, it must be
+ fully provided
+ properties:
+ ip_address:
+ type: string
+ description: The IP address to utilize as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: >-
+ The subnet mask to apply to the static IP
+ address value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: >-
+ The static internet Gateway IP address to
+ utilize
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ linuxStaticIpValues:
+ description: >-
+ The Gateway operating system's configured static IP
+ values These values should match the networkConfig
+ staticIp information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: Indicates if the staticIp is enabled
+ example: true
+ interface:
+ type: string
+ description: >-
+ The network interface currently configured with the
+ static IP values
+ example: wlan0
+ ip_address:
+ type: string
+ description: The IP address being utilized as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: >-
+ The subnet mask applied to the static IP address
+ value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: >-
+ The static internet Gateway IP address being
+ utilized
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ required:
+ - networkConfig
+ put:
+ summary: Modify the Gateway's network configuration
+ tags:
+ - Gateway
+ requestBody:
+ description: Update the network configuration
+ content:
+ application/json:
+ schema:
+ description: The Gateway's network configuration information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: >-
+ Indicates if the below staticIp object information is to
+ be applied. The below staticIp object is optional if
+ staticIpEnabled is false
+ example: true
+ staticIp:
+ type: object
+ description: >-
+ The optional static IP configuration information. If
+ staticIpEnabled is true, this object must be present in
+ its entirety. If staticIpEnabled is false, this object may
+ be present and if present, it must be fully provided
+ properties:
+ ip_address:
+ type: string
+ description: The IP address to utilize as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: >-
+ The subnet mask to apply to the static IP address
+ value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: The static internet Gateway IP address to utilize
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ responses:
+ '200':
+ description: The Gateway's current network configuration information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ networkConfig:
+ description: The Gateway's network configuration information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: >-
+ Indicates if the below staticIp object information
+ is to be applied. The below staticIp object is
+ optional if staticIpEnabled is false
+ example: true
+ staticIp:
+ type: object
+ description: >-
+ The optional static IP configuration information. If
+ staticIpEnabled is true, this object must be present
+ in its entirety. If staticIpEnabled is false, this
+ object may be present and if present, it must be
+ fully provided
+ properties:
+ ip_address:
+ type: string
+ description: The IP address to utilize as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: >-
+ The subnet mask to apply to the static IP
+ address value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: >-
+ The static internet Gateway IP address to
+ utilize
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ linuxStaticIpValues:
+ description: >-
+ The Gateway operating system's configured static IP
+ values These values should match the networkConfig
+ staticIp information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: Indicates if the staticIp is enabled
+ example: true
+ interface:
+ type: string
+ description: >-
+ The network interface currently configured with the
+ static IP values
+ example: wlan0
+ ip_address:
+ type: string
+ description: The IP address being utilized as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: >-
+ The subnet mask applied to the static IP address
+ value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: >-
+ The static internet Gateway IP address being
+ utilized
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ required:
+ - networkConfig
+ /gateway/network/sddp:
+ get:
+ summary: Retrieve the Gateway's current SDDP configuration information
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ put:
+ summary: Configure the Gateway's current SDDP debug configuration
+ tags:
+ - Gateway
+ parameters:
+ - name: debug
+ in: query
+ required: true
+ description: true enables debug output; false disables debug output
+ schema:
+ type: boolean
+ example: true
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ '400':
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ /gateway/network/sddp/online:
+ put:
+ summary: Force the Gateway to emit a SDDP online notification message
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ '400':
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ /gateway/network/sddp/offline:
+ put:
+ summary: Force the Gateway to emit a SDDP offline notification message
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ '400':
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ /gateway/network/sddp/identify:
+ put:
+ summary: Force the Gateway to emit a SDDP identify message
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ '400':
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ /gateway/network/status:
+ get:
+ summary: Retrieve the Gateway's current network status information
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The Gateway's current network status information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ networkStatus:
+ description: The Gateway's network status information
+ type: object
+ properties:
+ ipAddress:
+ type: string
+ description: The IP address of the active interface
+ example: 10.0.0.101
+ activeInterface:
+ type: string
+ description: >-
+ The active network interface identifier. Either
+ 'eth0' (wired) or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: eth0
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example: 8.8.8.8
+ eth0:
+ type: object
+ description: >-
+ The wired (eth0) network information, which may be
+ empty if not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0'
+ (wired) or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired'
+ (eth0) or 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: >-
+ The network interface's internet Gateway IP
+ address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ wlan0:
+ type: object
+ description: >-
+ The wireless (wlan0) network information, which may
+ be empty if not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0'
+ (wired) or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired'
+ (eth0) or 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: >-
+ The network interface's internet Gateway IP
+ address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ internetState:
+ type: string
+ description: The IP network's internet connectivity state
+ enum:
+ - Connected
+ - Disconnected
+ example: Connected
+ ssid:
+ type: string
+ description: >-
+ The wireless network's SSID value. The value is an
+ empty string if not configured
+ example: HunterDouglasWifi
+ required:
+ - ipAddress
+ - activeInterface
+ - dns
+ - eth0
+ - wlan0
+ - internetState
+ - ssid
+ required:
+ - networkStatus
+ /gateway/radios:
+ get:
+ summary: Retrieve radio build information
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: Gateway radios
+ content:
+ application/json:
+ schema:
+ properties:
+ serialNum:
+ type: string
+ appVersion:
+ type: string
+ softdeviceVersion:
+ type: string
+ bootloaderVersion:
+ type: string
+ type: object
+ /gateway/radios/clear:
+ post:
+ summary: Clear the channel maps of a radio
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/radios/shades:
+ get:
+ summary: List Shades on a radio or communications channel
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Gateway radio shades
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: array
+ items:
+ type: object
+ properties:
+ index:
+ type: number
+ rssi:
+ type: number
+ example: -256
+ ready:
+ type: number
+ example: 1
+ bleName:
+ type: string
+ mac:
+ type: string
+ /gateway/reboot:
+ post:
+ summary: Reboot the Gateway
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/shades/discover:
+ get:
+ summary: Returns a list of the Home's Shades with Bluetooth RSSI
+ description: >-
+ Returns a list of the Home's Shades and each Shade's Bluetooth RSSI as
+ observed from the Gateway. The list is sorted by decreasing RSSI
+ (stronger to weaker signal). Note: In multi-gateway systems, Shades
+ visible to the Gateway from the entire home are returned, which is
+ intended to facilitate optimising Gateway placement and
+ Shade-to-Gateway assignment.
+
+ The list is filtered by the optional minimum RSSI threshold. When
+ omitted, the saved minimum RSSI level is used.
+ tags:
+ - Gateway
+ parameters:
+ - name: rssiMinValue
+ in: query
+ required: false
+ description: Minimum RSSI filter. Range is -20 to -100
+ schema:
+ type: number
+ default: -90
+ example: -80
+ responses:
+ '200':
+ description: List of discovered Shades
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ scan:
+ type: array
+ description: Shades discovered List
+ items:
+ type: object
+ description: Discovered Shade entry
+ properties:
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:1E37
+ filteredRssi:
+ type: number
+ description: Shade RSSI
+ example: -37
+ required:
+ - bleName
+ - filteredRssi
+ required:
+ - scan
+ '400':
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ post:
+ summary: Returns a list of the Home's Shades with Bluetooth RSSI
+ deprecated: true
+ description: >-
+ Returns a list of the Home's Shades and each Shade's Bluetooth RSSI as
+ observed from the Gateway. The list is sorted by decreasing RSSI
+ (stronger to weaker signal). Note: In multi-gateway systems, Shades
+ visible to the Gateway from the entire home are returned, which is
+ intended to facilitate optimising Gateway placement and
+ Shade-to-Gateway assignment.
+
+ The list is filtered by the optional minimum RSSI threshold. When
+ omitted, the saved minimum RSSI level is used.
+ tags:
+ - Gateway
+ requestBody:
+ description: Minimum RSSI filter
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ rssiMinValue:
+ type: number
+ description: Mimimum RSSI value
+ example: -66
+ required:
+ - rssiMinValue
+ responses:
+ '200':
+ description: List of discovered Shades
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ scan:
+ type: array
+ description: Shades discovered List
+ items:
+ type: object
+ description: Discovered Shade entry
+ properties:
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:1E37
+ filteredRssi:
+ type: number
+ description: Shade RSSI
+ example: -37
+ required:
+ - bleName
+ - filteredRssi
+ required:
+ - scan
+ '400':
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ /gateway/sshd:
+ put:
+ summary: Request permission to SSH into the Gateway
+ tags:
+ - HD Internal
+ parameters:
+ - name: enable
+ in: query
+ required: true
+ description: >-
+ Boolean set to 'true' to start and permanently persist SSH.
+ 'false' stops and permanently disables SSH.
+ schema:
+ type: boolean
+ example: true
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/shades/fab/info:
+ get:
+ summary: Returns the current fab Shade information details
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Gateway Fab Info response
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ shadesFabInfoAllShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ shadesFabInfoLocalShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ cachedPrimary:
+ type: boolean
+ periodicRequesterTimerNextRunTime:
+ type: string
+ put:
+ summary: Force all the fab Shade information data to update
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Gateway Fab Info response
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ shadesFabInfoAllShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ shadesFabInfoLocalShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ periodicCheckIntervalMs:
+ type: number
+ periodicCheckTimerNextRunTime:
+ type: string
+ cachedPrimary:
+ type: boolean
+ periodicRequesterTimerNextRunTime:
+ type: string
+ delete:
+ summary: Deletes all the fab Shade information
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/shades/fab/info/aux:
+ put:
+ summary: Request the Shades fab information from all auxiliary devices
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Gateway Fab Info response
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ shadesFabInfoAllShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ shadesFabInfoLocalShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ periodicCheckIntervalMs:
+ type: number
+ periodicCheckTimerNextRunTime:
+ type: string
+ cachedPrimary:
+ type: boolean
+ periodicRequesterTimerNextRunTime:
+ type: string
+ /gateway/shades/fab/info/local:
+ put:
+ summary: Force the local Shades fab information to update
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Gateway Fab Info response
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ shadesFabInfoAllShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ shadesFabInfoLocalShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ periodicCheckIntervalMs:
+ type: number
+ periodicCheckTimerNextRunTime:
+ type: string
+ cachedPrimary:
+ type: boolean
+ periodicRequesterTimerNextRunTime:
+ type: string
+ /gateway/shades/fab/info/all-map:
+ delete:
+ summary: Deletes the all shade fab information map
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/shades/fab/info/local-map:
+ delete:
+ summary: Deletes the local shade fab information map
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/shades/fab/info/maps:
+ delete:
+ summary: Deletes both the local and the all Shade fab information maps
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/shades/fab/info/lds:
+ delete:
+ summary: Deletes the Shades fab information local data store
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/shades/time/sync:
+ put:
+ summary: >-
+ Sync all times including sunrise, sunset, and current local time to
+ all Shades
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Gateway Shade Time Information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ setSunTimes:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ successfullyUpdated:
+ type: array
+ items:
+ type: string
+ failedToUpdate:
+ type: array
+ items:
+ type: string
+ setCurrentTime:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ successfullyUpdated:
+ type: array
+ items:
+ type: string
+ failedToUpdate:
+ type: array
+ items:
+ type: string
+ /gateway/shades/time/sync/current:
+ put:
+ summary: Sync the current local time to all Shades
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Gateway Shade Time Information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ setSunTimes:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ successfullyUpdated:
+ type: array
+ items:
+ type: string
+ failedToUpdate:
+ type: array
+ items:
+ type: string
+ setCurrentTime:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ successfullyUpdated:
+ type: array
+ items:
+ type: string
+ failedToUpdate:
+ type: array
+ items:
+ type: string
+ /gateway/shades/time/sync/info:
+ get:
+ summary: Retrieve the Shade Time Sync Manager sync information
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Shade Time Sync Manager Info
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ cachedHomeDocInfo:
+ type: object
+ properties:
+ gwId:
+ type: number
+ geoPoint:
+ type: object
+ properties:
+ latitude:
+ type: number
+ example: 29.9
+ longitude:
+ type: number
+ example: -100
+ tz:
+ type: string
+ example: America/Denver
+ localDstAdjustedOffset:
+ type: number
+ nextAllShadesSyncDate:
+ type: string
+ lastSuccessfulAllShadesSyncDate:
+ type: string
+ nextBleNamesSyncDate:
+ type: string
+ bleNamesNeedingSync:
+ type: array
+ items:
+ type: string
+ delayTimes:
+ type: object
+ properties:
+ homeDocUpdateDelayMs:
+ type: number
+ shadesAddedDelayMs:
+ type: number
+ syncAllRetryDelayMs:
+ type: number
+ syncListRetryDelayMs:
+ type: number
+ syncInProgressDelayMs:
+ type: number
+ syncInProgress:
+ type: boolean
+ /gateway/shades/time/sync/sun:
+ get:
+ summary: Sync the sunrise and sunset local time to all Shades
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Gateway Shade Time Information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ setSunTimes:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ successfullyUpdated:
+ type: array
+ items:
+ type: string
+ failedToUpdate:
+ type: array
+ items:
+ type: string
+ setCurrentTime:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ successfullyUpdated:
+ type: array
+ items:
+ type: string
+ failedToUpdate:
+ type: array
+ items:
+ type: string
+ /gateway/shades/time/sync/delays:
+ put:
+ summary: Override the factory set delay times
+ tags:
+ - HD Internal
+ parameters:
+ - name: persist
+ in: query
+ required: false
+ description: Boolean set to 'true' to make delay times sticky
+ schema:
+ type: boolean
+ example: true
+ - name: delayTimes
+ in: query
+ required: true
+ description: Delay times object
+ schema:
+ type: object
+ properties:
+ homeDocUpdateDelayMs:
+ type: number
+ shadesAddedDelayMs:
+ type: number
+ syncAllRetryDelayMs:
+ type: number
+ syncListRetryDelayMs:
+ type: number
+ syncInProgressDelayMs:
+ type: number
+ responses:
+ '200':
+ description: Shade Time Sync Manager Info
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ cachedHomeDocInfo:
+ type: object
+ properties:
+ gwId:
+ type: number
+ geoPoint:
+ type: object
+ properties:
+ latitude:
+ type: number
+ example: 29.9
+ longitude:
+ type: number
+ example: -100
+ tz:
+ type: string
+ example: America/Denver
+ localDstAdjustedOffset:
+ type: number
+ nextAllShadesSyncDate:
+ type: string
+ lastSuccessfulAllShadesSyncDate:
+ type: string
+ nextBleNamesSyncDate:
+ type: string
+ bleNamesNeedingSync:
+ type: array
+ items:
+ type: string
+ delayTimes:
+ type: object
+ properties:
+ homeDocUpdateDelayMs:
+ type: number
+ shadesAddedDelayMs:
+ type: number
+ syncAllRetryDelayMs:
+ type: number
+ syncListRetryDelayMs:
+ type: number
+ syncInProgressDelayMs:
+ type: number
+ syncInProgress:
+ type: boolean
+ delete:
+ summary: Restores the delay times to their factory defaults
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Shade Time Sync Manager Info
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ cachedHomeDocInfo:
+ type: object
+ properties:
+ gwId:
+ type: number
+ geoPoint:
+ type: object
+ properties:
+ latitude:
+ type: number
+ example: 29.9
+ longitude:
+ type: number
+ example: -100
+ tz:
+ type: string
+ example: America/Denver
+ localDstAdjustedOffset:
+ type: number
+ nextAllShadesSyncDate:
+ type: string
+ lastSuccessfulAllShadesSyncDate:
+ type: string
+ nextBleNamesSyncDate:
+ type: string
+ bleNamesNeedingSync:
+ type: array
+ items:
+ type: string
+ delayTimes:
+ type: object
+ properties:
+ homeDocUpdateDelayMs:
+ type: number
+ shadesAddedDelayMs:
+ type: number
+ syncAllRetryDelayMs:
+ type: number
+ syncListRetryDelayMs:
+ type: number
+ syncInProgressDelayMs:
+ type: number
+ syncInProgress:
+ type: boolean
+ /gateway/update:
+ get:
+ summary: Trigger a Gateway firmware update check
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/update/artifact-info:
+ get:
+ summary: Retrieve the Gateway's artifact information string
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: Build artifact information
+ content:
+ applicaiton/json:
+ schema:
+ type: object
+ properties:
+ artifact:
+ type: string
+ description: Detailed artifact information
+ example: gw_image-3.1.394-os.77add-ts.60717-hk.13c6a
+ required:
+ - artifact
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /gateway/update/channel:
+ get:
+ summary: Get the current Gateway firmware update channel
+ tags:
+ - Gateway
+ responses:
+ '200':
+ description: The current Gateway firmware update channel
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ channel:
+ type: string
+ description: The current Gateway firmware update channel
+ example: production
+ required:
+ - channel
+ put:
+ summary: Set the Gateway firmware update channel
+ tags:
+ - Gateway
+ parameters:
+ - name: channel
+ in: query
+ required: true
+ description: >-
+ The new update/upgrade channel, which must be one of: [ coredev,
+ nightly, qa, beta, production ]. The recommended value is
+ 'production'
+ schema:
+ type: string
+ example: qa
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /gateway/wifi:
+ put:
+ summary: Set Gateway Wifi parameters
+ tags:
+ - Gateway
+ requestBody:
+ description: Set Wifi Parameters
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ ssid:
+ type: string
+ description: The WiFi SSID
+ example: Woodland Hills
+ password:
+ type: string
+ description: The WiFi password. Must be 8..63 characters in length.
+ minLength: 8
+ maxLength: 63
+ format: password
+ example: password
+ required:
+ - ssid
+ - password
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ delete:
+ summary: Remove the Wifi credentials from the Gateway
+ tags:
+ - Gateway
+ responses:
+ '204':
+ description: Success, no content
+ /gateway/wifi/scan:
+ get:
+ summary: Retrieve the Wifi networks observable by the Gateway
+ tags:
+ - Gateway
+ parameters:
+ - name: delay
+ in: query
+ required: false
+ description: |
+ The number of seconds to scan before returning the results.
+
+ Minimum is 3 seconds; Maximum is 20 seconds
+ schema:
+ type: integer
+ default: 10
+ responses:
+ '200':
+ description: Wireless network scan list
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ ssidScanResults:
+ type: array
+ items:
+ type: object
+ description: Wireless network scan entry
+ properties:
+ ssid:
+ type: string
+ description: Wireless network name
+ example: HunterDouglasWiFi
+ rssi:
+ type: string
+ description: Wireless network RSSI value
+ example: '-81'
+ required:
+ - ssid
+ - rssi
+ required:
+ - ssidScanResults
+ /home:
+ get:
+ summary: >-
+ Get the entire home graph with all the Rooms, Shades, Scenes,
+ Automations, Gateways, and Remotes.
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: Web HomeDoc Object
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ id:
+ type: string
+ _schemaVersion:
+ type: number
+ owner:
+ type: string
+ users?:
+ type: array
+ items:
+ type: string
+ modApp:
+ type: string
+ modDate:
+ type: string
+ home:
+ properties:
+ name:
+ title: Home.name
+ type: string
+ autosEnabled:
+ title: Home.autosEnabled
+ description: Are automations enabled globally
+ type: boolean
+ key:
+ title: Home.key
+ type: string
+ loc:
+ title: Home.loc
+ power:
+ title: Home.power
+ type: number
+ tz:
+ title: Home.tz
+ description: TimeZone - available in v24+
+ type: string
+ required:
+ - name
+ - autosEnabled
+ additionalProperties: false
+ title: Home
+ type: object
+ rooms:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ _id:
+ type: number
+ type:
+ type: number
+ name:
+ type: string
+ icon:
+ type: string
+ color:
+ type: string
+ shades:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter
+ Douglas use only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's
+ capabilities. In PowerView Gen 3,
+
+ there are over 20 different types of Hunter
+ Douglas Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties,
+ all can be represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either
+ from the bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot
+ operate independently - the
+
+ front shade must be down before the rear shade
+ can deploy. In other cases,
+
+ they are independent with two motors and two
+ tubes. Where they are
+
+ dependent, the shade firmware will force the
+ appropriate front shade
+
+ position when the rear shade is controlled -
+ there is no need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom
+ up shade that also tilts plus a rear blackout
+ (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: >-
+ Approximate gauge of remaining Shade battery
+ power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: >-
+ Unique numerical identifier for a particular
+ Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully
+ open position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully
+ open position of the secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully
+ open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ scenes:
+ type: array
+ items:
+ properties:
+ id:
+ title: Scene.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Scene._id
+ type: number
+ name:
+ title: Scene.name
+ type: string
+ icon:
+ title: Scene.icon
+ type: string
+ color:
+ title: Scene.color
+ type: string
+ bleId:
+ title: Scene.bleId
+ type: number
+ modDate:
+ title: Scene.modDate
+ type: string
+ roomId:
+ title: Scene.roomId
+ description: '@deprecated in v23'
+ type: string
+ room_Id:
+ title: Scene.room_Id
+ type: number
+ members:
+ items:
+ properties:
+ id:
+ title: SceneMember.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: SceneMember._id
+ type: number
+ pos:
+ title: SceneMember.pos
+ properties:
+ pos1:
+ title: ShadePosition.pos1
+ type: number
+ pos2:
+ title: ShadePosition.pos2
+ type: number
+ pos3:
+ title: ShadePosition.pos3
+ type: number
+ tilt:
+ title: ShadePosition.tilt
+ type: number
+ vel:
+ title: ShadePosition.vel
+ type: number
+ required:
+ - pos1
+ - pos2
+ - pos3
+ - tilt
+ - vel
+ additionalProperties: false
+ type: object
+ shdId:
+ title: SceneMember.shdId
+ description: '@deprecated in v23'
+ type: string
+ shd_Id:
+ title: SceneMember.shd_Id
+ type: number
+ required:
+ - id
+ - _id
+ - pos
+ - shdId
+ - shd_Id
+ additionalProperties: false
+ title: SceneMember
+ type: object
+ title: Scene.members
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - icon
+ - color
+ - bleId
+ - modDate
+ additionalProperties: false
+ title: Scene
+ type: object
+ automations:
+ type: array
+ items:
+ properties:
+ id:
+ title: Automation.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Automation._id
+ type: number
+ type:
+ title: Automation.type
+ type: number
+ enabled:
+ title: Automation.enabled
+ type: boolean
+ days:
+ title: Automation.days
+ type: number
+ hour:
+ title: Automation.hour
+ type: number
+ min:
+ title: Automation.min
+ type: number
+ bleId:
+ title: Automation.bleId
+ type: number
+ sceneId:
+ title: Automation.sceneId
+ description: '@deprecated in v23'
+ type: string
+ scene_Id:
+ title: Automation.scene_Id
+ type: number
+ errorShdIds:
+ items:
+ type: string
+ title: Automation.errorShdIds
+ description: '@deprecated in v23'
+ type: array
+ errorShd_Ids:
+ items:
+ type: number
+ title: Automation.errorShd_Ids
+ type: array
+ required:
+ - id
+ - _id
+ - type
+ - enabled
+ - days
+ - hour
+ - min
+ - bleId
+ - sceneId
+ - scene_Id
+ - errorShdIds
+ - errorShd_Ids
+ additionalProperties: false
+ title: Automation
+ type: object
+ remotes?:
+ type: array
+ items:
+ properties:
+ id:
+ title: Remote.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Remote._id
+ type: number
+ name:
+ title: Remote.name
+ type: string
+ v:
+ title: Remote.v
+ type: number
+ mac:
+ title: Remote.mac
+ type: string
+ bleName:
+ title: Remote.bleName
+ type: string
+ members:
+ items:
+ properties:
+ id:
+ title: RemoteMember.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: RemoteMember._id
+ type: number
+ group:
+ title: RemoteMember.group
+ type: number
+ shdId:
+ title: RemoteMember.shdId
+ description: '@deprecated in v23'
+ type: string
+ shd_Id:
+ title: RemoteMember.shd_Id
+ type: number
+ required:
+ - id
+ - _id
+ - group
+ - shdId
+ - shd_Id
+ additionalProperties: false
+ title: RemoteMember
+ type: object
+ title: Remote.members
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - v
+ - mac
+ - bleName
+ additionalProperties: false
+ title: Remote
+ type: object
+ gateways:
+ type: array
+ items:
+ properties:
+ id:
+ title: Gateway.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Gateway._id
+ type: number
+ name:
+ title: Gateway.name
+ type: string
+ v:
+ title: Gateway.v
+ type: string
+ radio1V:
+ title: Gateway.radio1V
+ type: string
+ radio2V:
+ title: Gateway.radio2V
+ type: string
+ serial:
+ title: Gateway.serial
+ type: string
+ aux:
+ title: Gateway.aux
+ type: boolean
+ ip:
+ title: Gateway.ip
+ type: string
+ ssid:
+ title: Gateway.ssid
+ type: string
+ shdIds:
+ items:
+ type: string
+ title: Gateway.shdIds
+ description: '@deprecated in v23'
+ type: array
+ shd_Ids:
+ items:
+ type: number
+ title: Gateway.shd_Ids
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - v
+ - radio1V
+ - radio2V
+ - serial
+ - ip
+ - ssid
+ additionalProperties: false
+ title: Gateway
+ type: object
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/automations:
+ get:
+ summary: List the Automations for the Home
+ tags:
+ - Home
+ responses:
+ '200':
+ description: Web Automation List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Web Automation Object
+ properties:
+ id:
+ type: number
+ description: Unique numerical Automation identifier
+ example: 33
+ type:
+ type: number
+ description: |
+ Time-base for the automation
+ * 0 = Clock-based
+ * 2 = Before sunrise
+ * 6 = Before sunset
+ * 10 = After sunrise
+ * 14 = After sunset
+ example: 6
+ enabled:
+ type: boolean
+ description: True indicates the Automation is enabled
+ example: true
+ days:
+ type: number
+ description: |
+ Bitmask of days when the automation is to run
+ * 0x00 = Reserved
+ * 0x01 = Monday
+ * 0x02 = Tuesday
+ * 0x04 = Wednesday
+ * 0x08 = Thursay
+ * 0x10 = Friday
+ * 0x20 = Saturday
+ * 0x40 = Sunday
+ * 0x80 = Reserved
+ example: 24 (i.e., 0x18, which is Thursday and Friday)
+ hour:
+ type: number
+ description: >
+ For clock-based automations, the 'hour' field is the
+
+ exact hour the automation will occur. For sunrise &
+ sunset
+
+ based automations, the 'hour' field is the hour offset
+
+ before/after a sunrise/sunset automation is to run.
+ example: 4
+ min:
+ type: number
+ description: >
+ For clock-based automations, the 'min' field is the
+
+ exact min the automation will occur. For sunrise &
+ sunset
+
+ based automations, the 'min' field is the minutes
+ offset
+
+ before/after a sunrise/sunset automation is to run.
+ example: 5
+ bleId:
+ type: number
+ description: The automation ID stored on the Shade itself.
+ example: 83
+ sceneId:
+ type: number
+ description: >-
+ The unique numerical Scene identifier associated with
+ this Automation
+ example: 116
+ errorShd_Ids:
+ type: array
+ description: >-
+ The Shade list where the Automation was unsuccessfully
+ provisioned. The value can be null
+ example: null
+ items:
+ type: number
+ description: The failing Shade identifier
+ example: 55
+ required:
+ - id
+ - type
+ - enabled
+ - days
+ - hour
+ - min
+ - bleId
+ - sceneId
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/automations/{id}:
+ get:
+ summary: Get information for a Automation
+ tags:
+ - Home
+ parameters:
+ - name: id
+ in: path
+ description: Numerical identifier of the Automation
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Automation
+ example: 456
+ responses:
+ '200':
+ description: Web Automation Object
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Web Automation Object
+ properties:
+ id:
+ type: number
+ description: Unique numerical Automation identifier
+ example: 33
+ type:
+ type: number
+ description: |
+ Time-base for the automation
+ * 0 = Clock-based
+ * 2 = Before sunrise
+ * 6 = Before sunset
+ * 10 = After sunrise
+ * 14 = After sunset
+ example: 6
+ enabled:
+ type: boolean
+ description: True indicates the Automation is enabled
+ example: true
+ days:
+ type: number
+ description: |
+ Bitmask of days when the automation is to run
+ * 0x00 = Reserved
+ * 0x01 = Monday
+ * 0x02 = Tuesday
+ * 0x04 = Wednesday
+ * 0x08 = Thursay
+ * 0x10 = Friday
+ * 0x20 = Saturday
+ * 0x40 = Sunday
+ * 0x80 = Reserved
+ example: 24 (i.e., 0x18, which is Thursday and Friday)
+ hour:
+ type: number
+ description: >
+ For clock-based automations, the 'hour' field is the
+
+ exact hour the automation will occur. For sunrise &
+ sunset
+
+ based automations, the 'hour' field is the hour offset
+
+ before/after a sunrise/sunset automation is to run.
+ example: 4
+ min:
+ type: number
+ description: >
+ For clock-based automations, the 'min' field is the
+
+ exact min the automation will occur. For sunrise &
+ sunset
+
+ based automations, the 'min' field is the minutes offset
+
+ before/after a sunrise/sunset automation is to run.
+ example: 5
+ bleId:
+ type: number
+ description: The automation ID stored on the Shade itself.
+ example: 83
+ sceneId:
+ type: number
+ description: >-
+ The unique numerical Scene identifier associated with
+ this Automation
+ example: 116
+ errorShd_Ids:
+ type: array
+ description: >-
+ The Shade list where the Automation was unsuccessfully
+ provisioned. The value can be null
+ example: null
+ items:
+ type: number
+ description: The failing Shade identifier
+ example: 55
+ required:
+ - id
+ - type
+ - enabled
+ - days
+ - hour
+ - min
+ - bleId
+ - sceneId
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/id:
+ get:
+ summary: Get the Cloud identifier of the Home
+ tags:
+ - Home
+ responses:
+ '200':
+ description: The cloud identifier of the Home
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The Home identifier
+ required:
+ - id
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/id/silent:
+ get:
+ summary: Get the Home Cloud identifier without logging the operation
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The cloud identifier of the Home
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The Home identifier
+ required:
+ - id
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/integration/{integrationName}:
+ put:
+ summary: >-
+ Store the supplied 'integrationName' in the HomeDoc's integrations
+ list
+ tags:
+ - Home
+ parameters:
+ - name: integrationName
+ in: path
+ description: >-
+ Unique 3rd party ASCII integration identifier that must be all
+ lower case, can be a maximum of 12 characters in length, and must
+ only contain the characters [a-z], [0-9], or the special
+ characters '.' (dot/period), '@', '_' (underscore) and '-'
+ (hyphen)
+ required: true
+ schema:
+ type: string
+ example: hd.com
+ responses:
+ '204':
+ description: Success, no content
+ delete:
+ summary: >-
+ Remove the supplied 'integrationName' from the HomeDoc's integrations
+ list
+ tags:
+ - Home
+ parameters:
+ - name: integrationName
+ in: path
+ description: >-
+ Unique 3rd party ASCII integration identifier that must be all
+ lower case, can be a maximum of 12 characters in length, and must
+ only contain the characters [a-z], [0-9], or the special
+ characters '.' (dot/period), '@', '_' (underscore) and '-'
+ (hyphen)
+ required: true
+ schema:
+ type: string
+ example: hd.com
+ responses:
+ '204':
+ description: Success, no content
+ /home/rooms:
+ get:
+ summary: List the Rooms for the Home
+ tags:
+ - Home
+ parameters:
+ - name: shades
+ in: query
+ description: >-
+ Optional query param to return Shades as part of the Room object.
+ Shades will not be returned if this query param is omitted or
+ false.
+ schema:
+ type: boolean
+ responses:
+ '200':
+ description: Web Room List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Room information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Room identifier
+ example: 674
+ name:
+ type: string
+ description: Base64 encoded Room name
+ example: T2ZmaWNlCg==
+ ptName:
+ type: string
+ description: Room name
+ example: Office
+ color:
+ type: string
+ description: >
+ Unique identifier for a Room color from HomeDoc Room
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Room object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ type:
+ type: number
+ description: Room type enumeration value
+ example: 3
+ shades:
+ type: array
+ description: >-
+ Optional list of Shades in a Room, which can be an
+ empty list
+ example: []
+ items:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter
+ Douglas use only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's
+ capabilities. In PowerView Gen 3,
+
+ there are over 20 different types of Hunter
+ Douglas Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all
+ can be represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either
+ from the bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot
+ operate independently - the
+
+ front shade must be down before the rear shade
+ can deploy. In other cases,
+
+ they are independent with two motors and two
+ tubes. Where they are
+
+ dependent, the shade firmware will force the
+ appropriate front shade
+
+ position when the rear shade is controlled -
+ there is no need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom
+ up shade that also tilts plus a rear blackout
+ (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: >-
+ Approximate gauge of remaining Shade battery
+ power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: >-
+ Unique numerical identifier for a particular
+ Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ position of the secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - type
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/rooms/{id}:
+ get:
+ summary: Get information for a Room
+ tags:
+ - Home
+ parameters:
+ - name: id
+ in: path
+ description: Numerical identifier of the Room
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Room
+ example: 2
+ responses:
+ '200':
+ description: Web Room Object
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Room information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Room identifier
+ example: 674
+ name:
+ type: string
+ description: Base64 encoded Room name
+ example: T2ZmaWNlCg==
+ ptName:
+ type: string
+ description: Room name
+ example: Office
+ color:
+ type: string
+ description: >
+ Unique identifier for a Room color from HomeDoc Room
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Room object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ type:
+ type: number
+ description: Room type enumeration value
+ example: 3
+ shades:
+ type: array
+ description: >-
+ Optional list of Shades in a Room, which can be an empty
+ list
+ example: []
+ items:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter
+ Douglas use only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities.
+ In PowerView Gen 3,
+
+ there are over 20 different types of Hunter
+ Douglas Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all
+ can be represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either
+ from the bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot
+ operate independently - the
+
+ front shade must be down before the rear shade can
+ deploy. In other cases,
+
+ they are independent with two motors and two
+ tubes. Where they are
+
+ dependent, the shade firmware will force the
+ appropriate front shade
+
+ position when the rear shade is controlled - there
+ is no need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up
+ shade that also tilts plus a rear blackout
+ (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ position of the secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - type
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/scenes:
+ get:
+ summary: List the Scenes for the Home
+ tags:
+ - Home
+ responses:
+ '200':
+ description: Web Scene List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: >
+ Unique identifier for a Scene color from HomeDoc Scene
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated
+ with this Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/scenes/active:
+ get:
+ summary: List the active Scenes for the Home
+ tags:
+ - Home
+ responses:
+ '200':
+ description: Web Scene List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: >
+ Unique identifier for a Scene color from HomeDoc Scene
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated
+ with this Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/scenes/{id}:
+ get:
+ summary: Get information for a Scene
+ tags:
+ - Home
+ parameters:
+ - name: id
+ in: path
+ description: Numerical identifier of the Scene
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Scene
+ example: 22
+ responses:
+ '200':
+ description: Web Scene Object
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: >
+ Unique identifier for a Scene color from HomeDoc Scene
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated
+ with this Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ '404':
+ description: The resource was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/scenes/{id}/activate:
+ put:
+ summary: Activate a particular Scene in the Home
+ tags:
+ - Home
+ parameters:
+ - name: id
+ in: path
+ description: Numerical identifier of the Scene
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Scene
+ example: 22
+ responses:
+ '200':
+ description: List of Shade identifiers associated with a Scene
+ content:
+ application/json:
+ schema:
+ type: array
+ description: Array of numerical Shade identifiers
+ example:
+ - 22
+ - 33
+ - 44
+ items:
+ type: number
+ '404':
+ description: The resource was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades:
+ get:
+ summary: List the Shades for the Home
+ tags:
+ - Home
+ responses:
+ '200':
+ description: Web Shade List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter Douglas
+ use only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In
+ PowerView Gen 3,
+
+ there are over 20 different types of Hunter Douglas
+ Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all can be
+ represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from
+ the bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate
+ independently - the
+
+ front shade must be down before the rear shade can
+ deploy. In other cases,
+
+ they are independent with two motors and two tubes.
+ Where they are
+
+ dependent, the shade firmware will force the
+ appropriate front shade
+
+ position when the rear shade is controlled - there is
+ no need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up
+ shade that also tilts plus a rear blackout
+ (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open position of the
+ primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open position of the
+ secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades/{id}:
+ get:
+ summary: Get information for a Shade
+ tags:
+ - Home
+ parameters:
+ - name: id
+ in: path
+ description: Numerical identifier of the Shade
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Shade
+ example: 21
+ responses:
+ '200':
+ description: Web Shade Object
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter Douglas use
+ only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In
+ PowerView Gen 3,
+
+ there are over 20 different types of Hunter Douglas
+ Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all can be
+ represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from the
+ bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate
+ independently - the
+
+ front shade must be down before the rear shade can
+ deploy. In other cases,
+
+ they are independent with two motors and two tubes.
+ Where they are
+
+ dependent, the shade firmware will force the appropriate
+ front shade
+
+ position when the rear shade is controlled - there is no
+ need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up shade
+ that also tilts plus a rear blackout (non-tilting)
+ shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary
+ rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades/{id}/motion:
+ put:
+ summary: Perform the specified motion operation for a Shade
+ tags:
+ - Home
+ parameters:
+ - name: id
+ in: path
+ description: Numerical identifier of the Shade
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Shade
+ example: 21
+ requestBody:
+ description: Shade motion command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ motion:
+ description: Motion command
+ type: string
+ enum:
+ - jog
+ example: jog
+ required:
+ - motion
+ responses:
+ '200':
+ description: Aggregate response with status for each requested Shade
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades/{id}/positions:
+ put:
+ summary: Set the positions for a Shade
+ deprecated: true
+ tags:
+ - Home
+ parameters:
+ - name: id
+ in: path
+ description: Numerical identifier of the Shade
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Shade
+ example: 21
+ requestBody:
+ description: Shade positions command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ positions:
+ type: object
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open position of the primary
+ rail. When omitted, the position of the primary rail
+ is not changed.
+ minimum: 0
+ maximum: 1
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that the represents
+ fully closed to fully open position of the secondary
+ rail. When omitted, the position of the secondary
+ rail. is not changed.
+ minimum: 0
+ maximum: 1
+ servo3:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open position of the third rail.
+ When omitted, the position of the third rail is not
+ changed.
+ minimum: 0
+ maximum: 1
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open tilt position When omitted,
+ the tilt position is not changed.
+ minimum: 0
+ maximum: 1
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ minimum to maximum velocity of the shade motion. When
+ omitted, the default velocity is used.
+ minimum: 0
+ maximum: 1
+ required:
+ - positions
+ examples:
+ Open:
+ value: '{"positions": { "primary" : 1}}'
+ summary: Open Shade(s) - 100% light transmission
+ Close:
+ value: '{"positions": { "primary" : 0}}'
+ summary: Close Shade(s) - 0% light transmission
+ TiltOpen:
+ value: '{"positions": { "tilt" : 1}}'
+ summary: Tilt Open Shade(s)
+ TiltClose:
+ value: '{"positions": { "tilt" : 0}}'
+ summary: Tilt Close Shade(s)
+ Goto25Percent:
+ value: '{"positions": { "primary" : 0.25} }'
+ summary: Move primary rail to 25% light transmission
+ responses:
+ '200':
+ description: Shade event
+ content:
+ text/event-stream:
+ schema:
+ type: object
+ description: Shade event
+ properties:
+ evt:
+ type: string
+ description: Event name
+ enum:
+ - shade-offline
+ - shade-online
+ - motion-started
+ - motion-stopped
+ - battery-alert
+ example: motion-started
+ isoDate:
+ type: string
+ description: ISO timestamp
+ example: '2021-12-06T20:01:11.934Z'
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:1233
+ id:
+ type: number
+ description: Unique Shade identifier
+ example: 55
+ currentPositions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary
+ rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ targetPositions:
+ type: object
+ description: >
+ Optional target Shade position values and estimate
+ completion time
+
+ that may only present when the Event name is
+ 'motion-started'.
+
+ The property may be omitted even with the Event
+ 'motion-started'
+
+ if the values cannot be obtained or computed
+ properties:
+ etaInSeconds:
+ type: number
+ description: >-
+ Estimated time in seconds for the Shade to reach its
+ target positions
+ example: 7
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary
+ rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ required:
+ - evt
+ - isoDate
+ - bleName
+ - id
+ - currentPositions
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades/exec:
+ post:
+ summary: >-
+ Execute an arbitrary hexadecimal command on a list of shades (For
+ Hunter Douglas internal use only)
+ description: >-
+ The list of Shades is specified by either of the "ids" or "shades"
+ parameters. Only one of these should and must be utilized.
+
+ - The ``ids`` parameter accepts a list of numerical shade identifiers.
+ - The ``shades`` parameter accepts a list of strings like ``PIR:6521``
+ tags:
+ - HD Internal
+ parameters:
+ - name: ids
+ in: query
+ required: false
+ description: |
+ One or more Shade identifiers separated by commas.
+ * _**Preferred over the 'shades' query parameter**_
+ * _Note: Shade identifiers remain constant in the eventuality of a motor replacement_
+ schema:
+ type: array
+ items:
+ type: number
+ style: form
+ explode: false
+ example: 12,42,133
+ - name: shades
+ in: query
+ required: false
+ description: One or more Shade names (i.e., BleNames) separated by commas
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: SON:1234,PIR:9AE2
+ requestBody:
+ description: Hexadecimal representation of a Shade command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ hex:
+ type: string
+ description: Hex Shade command
+ example: f711990101
+ required:
+ - hex
+ responses:
+ '200':
+ description: Aggregate response with status for each requested Shade
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades/positions:
+ put:
+ summary: Set the positions of a Shade or set of Shades
+ description: >-
+ The list of Shades is specified by either of the "ids" or "shades"
+ parameters. Only one of these should and must be utilized.
+
+ - The ``ids`` parameter accepts a list of numerical shade identifiers.
+ - The ``shades`` parameter accepts a list of strings like ``PIR:6521``
+ tags:
+ - Home
+ parameters:
+ - name: ids
+ in: query
+ required: false
+ description: |
+ One or more Shade identifiers separated by commas.
+ * _**Preferred over the 'shades' query parameter**_
+ * _Note: Shade identifiers remain constant in the eventuality of a motor replacement_
+ schema:
+ type: array
+ items:
+ type: number
+ style: form
+ explode: false
+ example: 12,42,133
+ - name: shades
+ in: query
+ required: false
+ description: One or more Shade names (i.e., BleNames) separated by commas
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: SON:1234,PIR:9AE2
+ requestBody:
+ description: Shade positions command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ positions:
+ type: object
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open position of the primary
+ rail. When omitted, the position of the primary rail
+ is not changed.
+ minimum: 0
+ maximum: 1
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that the represents
+ fully closed to fully open position of the secondary
+ rail. When omitted, the position of the secondary
+ rail. is not changed.
+ minimum: 0
+ maximum: 1
+ servo3:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open position of the third rail.
+ When omitted, the position of the third rail is not
+ changed.
+ minimum: 0
+ maximum: 1
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open tilt position When omitted,
+ the tilt position is not changed.
+ minimum: 0
+ maximum: 1
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ minimum to maximum velocity of the shade motion. When
+ omitted, the default velocity is used.
+ minimum: 0
+ maximum: 1
+ required:
+ - positions
+ examples:
+ Open:
+ value: '{"positions": { "primary" : 1}}'
+ summary: Open Shade(s) - 100% light transmission
+ Close:
+ value: '{"positions": { "primary" : 0}}'
+ summary: Close Shade(s) - 0% light transmission
+ TiltOpen:
+ value: '{"positions": { "tilt" : 1}}'
+ summary: Tilt Open Shade(s)
+ TiltClose:
+ value: '{"positions": { "tilt" : 0}}'
+ summary: Tilt Close Shade(s)
+ Goto25Percent:
+ value: '{"positions": { "primary" : 0.25} }'
+ summary: Move primary rail to 25% light transmission
+ responses:
+ '200':
+ description: Aggregate response with status for each requested Shade
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades/stop:
+ put:
+ summary: Stop any current motion on a given list of Shades
+ description: >-
+ The list of Shades is specified by either of the "ids" or "shades"
+ parameters. Only one of these should and must be utilized.
+
+ - The ``ids`` parameter accepts a list of numerical shade identifiers.
+ - The ``shades`` parameter accepts a list of strings like ``PIR:6521``
+ tags:
+ - Home
+ parameters:
+ - name: ids
+ in: query
+ required: false
+ description: |
+ One or more Shade identifiers separated by commas.
+ * _**Preferred over the 'shades' query parameter**_
+ * _Note: Shade identifiers remain constant in the eventuality of a motor replacement_
+ schema:
+ type: array
+ items:
+ type: number
+ style: form
+ explode: false
+ example: 12,42,133
+ - name: shades
+ in: query
+ required: false
+ description: One or more Shade names (i.e., BleNames) separated by commas
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: SON:1234,PIR:9AE2
+ responses:
+ '200':
+ description: Aggregate response with status for each requested Shade
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades/time:
+ get:
+ summary: Get the clock time from the Shade for the given list of Shades
+ description: >-
+ The list of Shades is specified by either of the "ids" or "shades"
+ parameters. Only one of these should and must be utilized.
+
+ - The ``ids`` parameter accepts a list of numerical shade identifiers.
+ - The ``shades`` parameter accepts a list of strings like ``PIR:6521``
+ tags:
+ - Home
+ parameters:
+ - name: ids
+ in: query
+ required: false
+ description: |
+ One or more Shade identifiers separated by commas.
+ * _**Preferred over the 'shades' query parameter**_
+ * _Note: Shade identifiers remain constant in the eventuality of a motor replacement_
+ schema:
+ type: array
+ items:
+ type: number
+ style: form
+ explode: false
+ example: 12,42,133
+ - name: shades
+ in: query
+ required: false
+ description: One or more Shade names (i.e., BleNames) separated by commas
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: SON:1234,PIR:9AE2
+ responses:
+ '200':
+ description: Aggregate response with status for each requested Shade
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ put:
+ summary: Update the Shade clock time to now for the given list of Shades
+ description: >-
+ The list of Shades is specified by either of the "ids" or "shades"
+ parameters. Only one of these should and must be utilized.
+
+ - The ``ids`` parameter accepts a list of numerical shade identifiers.
+ - The ``shades`` parameter accepts a list of strings like ``PIR:6521``
+ tags:
+ - Home
+ parameters:
+ - name: ids
+ in: query
+ required: false
+ description: |
+ One or more Shade identifiers separated by commas.
+ * _**Preferred over the 'shades' query parameter**_
+ * _Note: Shade identifiers remain constant in the eventuality of a motor replacement_
+ schema:
+ type: array
+ items:
+ type: number
+ style: form
+ explode: false
+ example: 12,42,133
+ - name: shades
+ in: query
+ required: false
+ description: One or more Shade names (i.e., BleNames) separated by commas
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: SON:1234,PIR:9AE2
+ responses:
+ '200':
+ description: Aggregate response with status for each requested Shade
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ '503':
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/events:
+ get:
+ summary: >-
+ Provides an aggregate stream of ALL events via server-sent events
+ (SSE).
+ description: This event stream does not work in Swagger. Use the Chrome browser
+ tags:
+ - Events
+ responses:
+ '100':
+ description: >
+ Stream of JSON Scene and Shade event objects.
+
+
+ See the /home/scenes/events and /home/shades/events APIs for
+ object shapes
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/events/listeners:
+ get:
+ summary: Returns a list of all active event stream listeners
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: List of Event Listeners
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ slots:
+ type: array
+ items:
+ type: string
+ activeListeners:
+ type: array
+ items:
+ type: string
+ required:
+ - slots
+ - activeListeners
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ delete:
+ summary: Deletes all active event stream listeners
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/scenes/events:
+ get:
+ summary: Provides a stream of Shade events via server-sent events (SSE).
+ description: >-
+ This event stream does not work in Swagger. Use the Chrome browser.
+ Scene events are not reported until Shade motion stops
+ tags:
+ - Events
+ responses:
+ '100':
+ description: Stream of JSON Scene event objects
+ content:
+ text/event-stream:
+ schema:
+ type: object
+ description: Scene event
+ properties:
+ evt:
+ type: string
+ description: Event name
+ enum:
+ - scene-add
+ - scene-del
+ - scene-activated
+ - scene-deactivated
+ example: scene-activated
+ isoDate:
+ type: string
+ description: ISO timestamp
+ example: '2021-12-06T20:01:11.934Z'
+ id:
+ type: number
+ description: Unique Scene identifier
+ example: 55
+ scene:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: >
+ Unique identifier for a Scene color from HomeDoc
+ Scene object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: >
+ Unique identifier for a icon from HomeDoc Scene
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated
+ with this Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ required:
+ - evt
+ - isoDate
+ - id
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /home/shades/events:
+ get:
+ summary: Provides a stream of Shade events via server-sent events (SSE).
+ description: This event stream does not work in Swagger. Use the Chrome browser
+ tags:
+ - Events
+ responses:
+ '100':
+ description: Shade event
+ content:
+ text/event-stream:
+ schema:
+ type: object
+ description: Shade event
+ properties:
+ evt:
+ type: string
+ description: Event name
+ enum:
+ - shade-offline
+ - shade-online
+ - motion-started
+ - motion-stopped
+ - battery-alert
+ example: motion-started
+ isoDate:
+ type: string
+ description: ISO timestamp
+ example: '2021-12-06T20:01:11.934Z'
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:1233
+ id:
+ type: number
+ description: Unique Shade identifier
+ example: 55
+ currentPositions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary
+ rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ targetPositions:
+ type: object
+ description: >
+ Optional target Shade position values and estimate
+ completion time
+
+ that may only present when the Event name is
+ 'motion-started'.
+
+ The property may be omitted even with the Event
+ 'motion-started'
+
+ if the values cannot be obtained or computed
+ properties:
+ etaInSeconds:
+ type: number
+ description: >-
+ Estimated time in seconds for the Shade to reach its
+ target positions
+ example: 7
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary
+ rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ required:
+ - evt
+ - isoDate
+ - bleName
+ - id
+ - currentPositions
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /sps/channels/check:
+ get:
+ summary: SPS only - Verifies the SPS comms channels by sending echo messages
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: >-
+ Comms channels that are offline, and an empty array means all
+ operational
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ failedChannels:
+ type: array
+ items:
+ type: string
+ description: name of downed channel
+ example: comms01
+ required:
+ - failedChannels
+ /sps/comms/log/level:
+ put:
+ summary: SPS only - Sets the comms layer log level
+ tags:
+ - HD Internal
+ parameters:
+ - name: level
+ in: query
+ required: true
+ description: >-
+ The new log level, which must be one of: none, error, warn, info,
+ debug, or silly. The recommended value is info.
+ schema:
+ type: string
+ example: debug
+ - name: persist
+ in: query
+ required: false
+ description: >-
+ If the new log level is to persist (be sticky) across application
+ restarts. Values are string 'true' or 'false'
+ schema:
+ type: string
+ example: 'true'
+ responses:
+ '200':
+ description: Comms set log level response
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ responseIsOk:
+ type: boolean
+ description: The log level set was successful or not
+ returnedLogLevel:
+ type: number
+ description: >-
+ The new log level. 0=none, 1=error, 2=warn, 3=info,
+ 4=debug, 5=silly
+ returnedPersist:
+ type: boolean
+ description: The new persistence setting
+ required:
+ - responseIsOk
+ - returnedLogLevel
+ - returnedPersist
+ /sps/shades/comparison:
+ get:
+ summary: >-
+ SPS only - Compare the HomeDoc SPS PV+ Shades list against the actual
+ SPS PV+ Shades
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: HomeDoc vs actual PV+ Shade comparison results
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ perfectMatch:
+ type: boolean
+ description: >-
+ Indicates if the HomeDoc and the SPS are perfectly
+ matched
+ differences:
+ type: object
+ spsHomeDocShades:
+ type: array
+ items:
+ type: object
+ description: Unique Shade information
+ properties:
+ bleName:
+ type: string
+ description: Shade BleName
+ example: SON:1234
+ required:
+ - bleName
+ spsActualShades:
+ type: array
+ items:
+ type: object
+ description: Unique Shade information
+ properties:
+ bleName:
+ type: string
+ description: Shade BleName
+ example: SON:1234
+ required:
+ - bleName
+ required:
+ - perfectMatch
+ - differences
+ - spsHomeDocShades
+ - spsActualShades
+ /sps/shades/enumerated:
+ get:
+ summary: SPS only - Returns the list of PV+ Shades on an SPS
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: PV+ Shades found on the SPS
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: SPS port object
+ properties:
+ port:
+ type: number
+ description: Port/channel number from 1 to 16 inclusive
+ example: 1
+ shades:
+ type: array
+ description: Information about PV+ Shades on this port
+ items:
+ type: object
+ description: SPS Shade description
+ properties:
+ slot:
+ type: number
+ description: >-
+ Shade port/channel number between 0 and 2
+ inclusive
+ example: 1
+ rssi:
+ type: number
+ description: Perfect RSSI value
+ example: -1
+ ready:
+ type: number
+ description: Shade is ready
+ example: 1
+ bleName:
+ type: string
+ description: Shade's BleName
+ example: SON:1234
+ mac:
+ type: string
+ description: Shade's MAC address
+ example: '00:12:34:56:78:90'
+ pcaVersion:
+ type: string
+ description: Shade PCA version
+ example: 0.5.0
+ pcaChecksum:
+ type: string
+ description: Shade PCA release checksum
+ example: '0x54321ABC'
+ pcaUpdateNeeded:
+ type: boolean
+ description: >-
+ The Shade PCA version is mismatched with the
+ version in the release. Time to do a upgrade
+ example: false
+ required:
+ - slot
+ - rssi
+ - ready
+ - bleName
+ - mac
+ - pcaVersion
+ - pcaChecksum
+ - pcaUpdateNeeded
+ required:
+ - port
+ - shades
+ /sps/shades/exec:
+ post:
+ summary: >-
+ SPS only - Execute an arbitrary hexadecimal command on a list of SPS
+ Shades (For Hunter Douglas internal use only)
+ description: >-
+ The list of Shades is specified by one of the following:
+ "coordinates", "ids", or "shades" parameters. Only one of these should
+ and must be utilized.
+
+ - The ``coordinates`` parameter accepts a comma seperated list of channel:slot coordinates like ``1:0``
+ - The ``ids`` parameter accepts a list of numerical shade identifiers.
+ - The ``shades`` parameter accepts a list of strings like ``PIR:6521``
+ tags:
+ - HD Internal
+ parameters:
+ - name: coordinates
+ in: query
+ required: false
+ description: >
+ One or more Shade "channel:slot" coordinate pairs with each pair
+ separated by a comma
+ * The "channel" value is an integer in the range from 1 to 16
+ * The "slot" value is an integer in the range of 0 to 2
+ * The "channel" and "slot" pair values are separated by a colon character (i.e., a ':' character)
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: 1:0,2:1,14:2
+ - name: ids
+ in: query
+ required: false
+ description: |
+ One or more Shade identifiers separated by commas.
+ * _**Preferred over the 'shades' query parameter**_
+ * _Note: Shade identifiers remain constant in the eventuality of a motor replacement_
+ schema:
+ type: array
+ items:
+ type: number
+ style: form
+ explode: false
+ example: 12,42,133
+ - name: shades
+ in: query
+ required: false
+ description: One or more Shade names (i.e., BleNames) separated by commas
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: SON:1234,PIR:9AE2
+ - name: failUnresolved
+ in: query
+ description: >-
+ Query param controlling if the request is to fail if any of the
+ coorinates query parameter pairs fail to resolve to a Shade
+ required: false
+ schema:
+ type: boolean
+ requestBody:
+ description: Hexadecimal representation of a Shade command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ hex:
+ type: string
+ description: Hex Shade command
+ example: f711990101
+ required:
+ - hex
+ responses:
+ '200':
+ description: >-
+ Aggregate response with status for each requested Shade and
+ optionally a list of unresolvedCoordinates
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ unresolvedCoordinates:
+ type: array
+ description: Any coordinate pairs that could not be resolved
+ items:
+ type: string
+ description: A unresolved coordinate pair
+ example: '1:2'
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ '400':
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ default:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ /sps/pca/upgrade:
+ get:
+ summary: >-
+ SPS only - Upgrade the Shade PCA modules using the built in binary
+ image
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ /sps/pca/versions:
+ get:
+ summary: SPS only - Retrieve the Shade PCA modules version information
+ tags:
+ - HD Internal
+ responses:
+ '200':
+ description: List of SPS PV+ Shade PCA versions
+ content:
+ application/json:
+ schema:
+ type: array
+ description: List of channels containing arrays of PV+ Shades
+ items:
+ type: array
+ description: >-
+ PCA information for a list of PV+ Shades on a single
+ channel
+ items:
+ type: object
+ description: SPS PCA version information
+ properties:
+ slot:
+ type: number
+ description: Shade port/channel number between 0 and 2 inclusive
+ example: 1
+ bleName:
+ type: string
+ description: Shade's BleName
+ example: SON:1234
+ mac:
+ type: string
+ description: Shade's MAC address
+ example: '00:12:34:56:78:90'
+ pcaVersion:
+ type: string
+ description: Shade PCA version
+ example: 0.5.0
+ pcaChecksum:
+ type: string
+ description: Shade PCA release checksum
+ example: '0x54321ABC'
+ pcaUpdateNeeded:
+ type: boolean
+ description: >-
+ The Shade PCA version is mismatched with the version
+ in the release. Time to do a upgrade
+ example: false
+ required:
+ - slot
+ - bleName
+ - mac
+ - pcaVersion
+ - pcaChecksum
+ - pcaUpdateNeeded
+ components:
+ parameters:
+ RoomShades:
+ name: shades
+ in: query
+ description: >-
+ Optional query param to return Shades as part of the Room object.
+ Shades will not be returned if this query param is omitted or false.
+ schema:
+ type: boolean
+ AutomationId:
+ name: id
+ in: path
+ description: Numerical identifier of the Automation
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Automation
+ example: 456
+ AutomationEnable:
+ name: enable
+ in: query
+ description: >-
+ Query param to enable or disable a Automation. 'true' enables. 'false'
+ disables
+ required: true
+ schema:
+ type: boolean
+ FailUnresolved:
+ name: failUnresolved
+ in: query
+ description: >-
+ Query param controlling if the request is to fail if any of the
+ coorinates query parameter pairs fail to resolve to a Shade
+ required: false
+ schema:
+ type: boolean
+ IntegrationName:
+ name: integrationName
+ in: path
+ description: >-
+ Unique 3rd party ASCII integration identifier that must be all lower
+ case, can be a maximum of 12 characters in length, and must only
+ contain the characters [a-z], [0-9], or the special characters '.'
+ (dot/period), '@', '_' (underscore) and '-' (hyphen)
+ required: true
+ schema:
+ type: string
+ example: hd.com
+ RoomId:
+ name: id
+ in: path
+ description: Numerical identifier of the Room
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Room
+ example: 2
+ SceneId:
+ name: id
+ in: path
+ description: Numerical identifier of the Scene
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Scene
+ example: 22
+ ShadeId:
+ name: id
+ in: path
+ description: Numerical identifier of the Shade
+ required: true
+ schema:
+ type: string
+ description: The numerical identifier for a particular Shade
+ example: 21
+ ShadeCoordinateList:
+ name: coordinates
+ in: query
+ required: false
+ description: >
+ One or more Shade "channel:slot" coordinate pairs with each pair
+ separated by a comma
+ * The "channel" value is an integer in the range from 1 to 16
+ * The "slot" value is an integer in the range of 0 to 2
+ * The "channel" and "slot" pair values are separated by a colon character (i.e., a ':' character)
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: 1:0,2:1,14:2
+ ShadeNameList:
+ name: shades
+ in: query
+ required: false
+ description: One or more Shade names (i.e., BleNames) separated by commas
+ schema:
+ type: array
+ items:
+ type: string
+ style: form
+ explode: false
+ example: SON:1234,PIR:9AE2
+ ShadeIdList:
+ name: ids
+ in: query
+ required: false
+ description: |
+ One or more Shade identifiers separated by commas.
+ * _**Preferred over the 'shades' query parameter**_
+ * _Note: Shade identifiers remain constant in the eventuality of a motor replacement_
+ schema:
+ type: array
+ items:
+ type: number
+ style: form
+ explode: false
+ example: 12,42,133
+ requestBodies:
+ CloudConfig:
+ description: Parameters for connection to the Cloud database
+ required: true
+ content:
+ application/json:
+ schema:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to access
+ the Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: >-
+ Numerical identifier of the Gateway as registered in the
+ Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0,
+ Production = 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ DiscoveryMinRssi:
+ description: Minimum RSSI filter
+ required: false
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ rssiMinValue:
+ type: number
+ description: Mimimum RSSI value
+ example: -66
+ required:
+ - rssiMinValue
+ Hexadecimal:
+ description: Hexadecimal representation of a Shade command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ hex:
+ type: string
+ description: Hex Shade command
+ example: f711990101
+ required:
+ - hex
+ LedColor:
+ description: The color and brightness of the Gateway LED
+ content:
+ application/json:
+ schema:
+ description: The Gateway LED color and brightness
+ type: object
+ properties:
+ red:
+ type: number
+ description: Red
+ maximum: 0
+ minimum: 255
+ green:
+ type: number
+ description: Green
+ maximum: 0
+ minimum: 255
+ blue:
+ type: number
+ description: Blue
+ maximum: 0
+ minimum: 255
+ brightness:
+ type: number
+ description: Brightness
+ maximum: 0
+ minimum: 100
+ required:
+ - red
+ - green
+ - blue
+ - brightness
+ NetworkConfig:
+ description: Update the network configuration
+ content:
+ application/json:
+ schema:
+ description: The Gateway's network configuration information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: >-
+ Indicates if the below staticIp object information is to be
+ applied. The below staticIp object is optional if
+ staticIpEnabled is false
+ example: true
+ staticIp:
+ type: object
+ description: >-
+ The optional static IP configuration information. If
+ staticIpEnabled is true, this object must be present in its
+ entirety. If staticIpEnabled is false, this object may be
+ present and if present, it must be fully provided
+ properties:
+ ip_address:
+ type: string
+ description: The IP address to utilize as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: The subnet mask to apply to the static IP address value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: The static internet Gateway IP address to utilize
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ Motion:
+ description: Shade motion command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ motion:
+ description: Motion command
+ type: string
+ enum:
+ - jog
+ example: jog
+ required:
+ - motion
+ Positions:
+ description: Shade positions command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ positions:
+ type: object
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open position of the primary rail.
+ When omitted, the position of the primary rail is not
+ changed.
+ minimum: 0
+ maximum: 1
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that the represents
+ fully closed to fully open position of the secondary
+ rail. When omitted, the position of the secondary rail.
+ is not changed.
+ minimum: 0
+ maximum: 1
+ servo3:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open position of the third rail.
+ When omitted, the position of the third rail is not
+ changed.
+ minimum: 0
+ maximum: 1
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open tilt position When omitted,
+ the tilt position is not changed.
+ minimum: 0
+ maximum: 1
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ minimum to maximum velocity of the shade motion. When
+ omitted, the default velocity is used.
+ minimum: 0
+ maximum: 1
+ required:
+ - positions
+ examples:
+ Open:
+ value: '{"positions": { "primary" : 1}}'
+ summary: Open Shade(s) - 100% light transmission
+ Close:
+ value: '{"positions": { "primary" : 0}}'
+ summary: Close Shade(s) - 0% light transmission
+ TiltOpen:
+ value: '{"positions": { "tilt" : 1}}'
+ summary: Tilt Open Shade(s)
+ TiltClose:
+ value: '{"positions": { "tilt" : 0}}'
+ summary: Tilt Close Shade(s)
+ Goto25Percent:
+ value: '{"positions": { "primary" : 0.25} }'
+ summary: Move primary rail to 25% light transmission
+ PositionSingular:
+ description: Shade position command
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ position:
+ type: object
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open position of the primary rail.
+ When omitted, the position of the primary rail is not
+ changed.
+ minimum: 0
+ maximum: 1
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that the represents
+ fully closed to fully open position of the secondary
+ rail. When omitted, the position of the secondary rail.
+ is not changed.
+ minimum: 0
+ maximum: 1
+ servo3:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open position of the third rail.
+ When omitted, the position of the third rail is not
+ changed.
+ minimum: 0
+ maximum: 1
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ fully closed to fully open tilt position When omitted,
+ the tilt position is not changed.
+ minimum: 0
+ maximum: 1
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 that represents the
+ minimum to maximum velocity of the shade motion. When
+ omitted, the default velocity is used.
+ minimum: 0
+ maximum: 1
+ required:
+ - position
+ examples:
+ Open:
+ value: '{"position": { "primary" : 1}}'
+ summary: Open Shade(s) - 100% light transmission
+ Close:
+ value: '{"position": { "primary" : 0}}'
+ summary: Close Shade(s) - 0% light transmission
+ TiltOpen:
+ value: '{"position": { "tilt" : 1}}'
+ summary: Tilt Open Shade(s)
+ TiltClose:
+ value: '{"position": { "tilt" : 0}}'
+ summary: Tilt Close Shade(s)
+ Goto25Percent:
+ value: '{"position": { "primary" : 0.25} }'
+ summary: Move primary rail to 25% light transmission
+ ProvisionWifi:
+ description: Set Wifi Parameters
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ ssid:
+ type: string
+ description: The WiFi SSID
+ example: Woodland Hills
+ password:
+ type: string
+ description: The WiFi password. Must be 8..63 characters in length.
+ minLength: 8
+ maxLength: 63
+ format: password
+ example: password
+ required:
+ - ssid
+ - password
+ responses:
+ ArtifactInfo:
+ description: Build artifact information
+ content:
+ applicaiton/json:
+ schema:
+ type: object
+ properties:
+ artifact:
+ type: string
+ description: Detailed artifact information
+ example: gw_image-3.1.394-os.77add-ts.60717-hk.13c6a
+ required:
+ - artifact
+ AggregateResponse:
+ description: Aggregate response with status for each requested Shade
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ AggregateResponseSpsTestExtended:
+ description: >-
+ Aggregate response with status for each requested Shade and optionally
+ a list of unresolvedCoordinates
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ unresolvedCoordinates:
+ type: array
+ description: Any coordinate pairs that could not be resolved
+ items:
+ type: string
+ description: A unresolved coordinate pair
+ example: '1:2'
+ responses:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: number
+ bleName:
+ type: string
+ err:
+ description: Only present on error condition
+ type: number
+ hex:
+ description: >-
+ WC-API encoded response. Only present on success
+ condition
+ type: string
+ required:
+ - id
+ - bleName
+ required:
+ - err
+ - responses
+ CloudConfig:
+ description: The Gateway Cloud configuration
+ content:
+ application/json:
+ schema:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to access
+ the Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: >-
+ Numerical identifier of the Gateway as registered in the
+ Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0,
+ Production = 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ ConnectionTest:
+ description: Conformation of internet connection
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ HealthCheckResponse:
+ type: object
+ properties:
+ success:
+ type: boolean
+ type:
+ type: string
+ message:
+ type: string
+ required:
+ - success
+ - type
+ - message
+ required:
+ - HealthCheckResponse
+ DiscoveryShadeList:
+ description: List of discovered Shades
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ scan:
+ type: array
+ description: Shades discovered List
+ items:
+ type: object
+ description: Discovered Shade entry
+ properties:
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:1E37
+ filteredRssi:
+ type: number
+ description: Shade RSSI
+ example: -37
+ required:
+ - bleName
+ - filteredRssi
+ required:
+ - scan
+ GatewayConfig:
+ description: The Gateway information object
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ config:
+ properties:
+ rev:
+ title: Config.rev
+ description: Config data structure version
+ type: number
+ hwVersion:
+ title: Config.hwVersion
+ description: Hardware version
+ type: string
+ model:
+ title: Config.model
+ description: Hardware model
+ type: string
+ brand:
+ title: Config.brand
+ description: Hardware brand
+ type: string
+ serialNumber:
+ title: Config.serialNumber
+ description: Unique serial number across all products
+ type: string
+ firmware:
+ title: Config.firmware
+ description: Software version
+ properties:
+ mainProcessor:
+ title: BuildVersions.mainProcessor
+ description: Version number
+ properties:
+ build:
+ title: TypescriptAppBuildInfo.build
+ description: Build number
+ type: number
+ name:
+ title: TypescriptAppBuildInfo.name
+ description: '???'
+ type: string
+ revision:
+ title: TypescriptAppBuildInfo.revision
+ description: Major version number
+ type: number
+ subRevision:
+ title: TypescriptAppBuildInfo.subRevision
+ description: Minor version number
+ type: number
+ required:
+ - build
+ - name
+ - revision
+ - subRevision
+ additionalProperties: false
+ type: object
+ radios:
+ items:
+ title: BuildVersions.radios.[]
+ properties:
+ build:
+ title: TransceiverFirmwareBuildInfo.build
+ description: Build number
+ type: number
+ revision:
+ title: TransceiverFirmwareBuildInfo.revision
+ description: Major version number
+ type: number
+ subRevision:
+ title: TransceiverFirmwareBuildInfo.subRevision
+ description: Minor version number
+ type: number
+ required:
+ - build
+ - revision
+ - subRevision
+ additionalProperties: false
+ description: Transceiver/Radio firmware information
+ type: object
+ title: BuildVersions.radios
+ description: Transceiver/Radio firmware versions
+ type: array
+ required:
+ - mainProcessor
+ - radios
+ additionalProperties: false
+ type: object
+ homeAssoc:
+ title: Config.homeAssoc
+ description: >-
+ 2-byte Hash of the HomeSecurityKey (AKA:
+ ShadeSecurityKey)
+ type: number
+ color:
+ title: Config.color
+ description: >-
+ User idle color - the color the user chose for the Idle
+ state
+ properties:
+ brightness:
+ title: LedColor.brightness
+ description: LED brightness percentage between 0 and 100
+ type: number
+ red:
+ title: LedColor.red
+ description: Red color value between 0 and 255
+ type: number
+ green:
+ title: LedColor.green
+ description: Green color value between 0 and 255
+ type: number
+ blue:
+ title: LedColor.blue
+ description: Blue color value between 0 and 255
+ type: number
+ required:
+ - brightness
+ - red
+ - green
+ - blue
+ additionalProperties: false
+ type: object
+ cloudConfig:
+ title: Config.cloudConfig
+ properties:
+ cloudEnv:
+ title: FirestoreConfig.cloudEnv
+ description: >-
+ What cloud environment to access (i.e, what
+ credentials to load)
+ type: number
+ collection:
+ title: FirestoreConfig.collection
+ description: Cloud collection name for homeDocs
+ type: string
+ homeId:
+ title: FirestoreConfig.homeId
+ description: Home identifier for this household
+ type: string
+ gatewayId:
+ title: FirestoreConfig.gatewayId
+ description: Gateway id for THIS gateway
+ type: number
+ required:
+ - cloudEnv
+ - collection
+ - homeId
+ - gatewayId
+ additionalProperties: false
+ description: >-
+ Cloud Config
+
+ The properties required to uniquely identify a Home and
+ Gateway pairing.
+ type: object
+ rangeMapper:
+ title: Config.rangeMapper
+ description: Radio scan information
+ properties:
+ minRSSI:
+ title: RangeMapperDb.minRSSI
+ description: The minimum RSSI (of Shades) to report back on
+ type: number
+ levelingSeconds:
+ title: RangeMapperDb.levelingSeconds
+ description: >-
+ The number of seconds over that the algorithm
+ averages over
+ type: number
+ required:
+ - minRSSI
+ - levelingSeconds
+ additionalProperties: false
+ type: object
+ networkConfig:
+ title: Config.networkConfig
+ description: Persistent network configuration
+ properties:
+ staticIpEnabled:
+ title: NetworkConfig.staticIpEnabled
+ description: Is static IP configuration enabled?
+ type: boolean
+ staticIp:
+ properties:
+ ip_address:
+ title: NetworkConfig.staticIp.ip_address
+ description: Static IP address
+ type: string
+ netmask:
+ title: NetworkConfig.staticIp.netmask
+ description: Static IP network mask
+ type: string
+ gateway_ip:
+ title: NetworkConfig.staticIp.gateway_ip
+ description: Home gateway IP address (i.e., the home router
+ type: string
+ dns:
+ items:
+ type: string
+ title: NetworkConfig.staticIp.dns
+ description: DNS IP values
+ type: array
+ required:
+ - ip_address
+ - netmask
+ - gateway_ip
+ - dns
+ additionalProperties: false
+ title: NetworkConfig.staticIp
+ description: Static IP values if enabled
+ type: object
+ required:
+ - staticIpEnabled
+ - staticIp
+ additionalProperties: false
+ type: object
+ networkStatus:
+ title: Config.networkStatus
+ description: Transient network information
+ properties:
+ ipAddress:
+ title: NetworkStatus.ipAddress
+ description: Currently active IP address
+ type: string
+ activeInterface:
+ title: NetworkStatus.activeInterface
+ description: Current active network interface
+ type: string
+ primaryMacAddress:
+ title: NetworkStatus.primaryMacAddress
+ description: Primary MAC address to identify device
+ type: string
+ dns:
+ items:
+ type: string
+ title: NetworkStatus.dns
+ description: DNS entries
+ type: array
+ eth0:
+ title: NetworkStatus.eth0
+ description: Wired network interface information
+ wlan0:
+ title: NetworkStatus.wlan0
+ description: Wireless network interface information
+ internetState:
+ title: NetworkStatus.internetState
+ description: Internet connectivity state
+ type: string
+ enum:
+ - Connected
+ - Disconnected
+ ssid:
+ title: NetworkStatus.ssid
+ description: Wireless SSID
+ type: string
+ required:
+ - ipAddress
+ - activeInterface
+ - primaryMacAddress
+ - dns
+ - eth0
+ - wlan0
+ - internetState
+ - ssid
+ additionalProperties: false
+ type: object
+ mgwConfig:
+ title: Config.mgwConfig
+ description: Persistent multi-gateway configuration
+ properties:
+ primary:
+ title: MultiGatewayConfig.primary
+ description: This gateway is the primary in multi-gateway
+ type: boolean
+ required:
+ - primary
+ additionalProperties: false
+ type: object
+ mgwStatus:
+ title: Config.mgwStatus
+ description: Transient multi-gateway information
+ properties:
+ running:
+ title: MultiGatewayStatus.running
+ description: Multi-gateway is operational
+ type: boolean
+ required:
+ - running
+ additionalProperties: false
+ type: object
+ required:
+ - rev
+ - hwVersion
+ - model
+ - brand
+ - serialNumber
+ - firmware
+ - homeAssoc
+ - color
+ - cloudConfig
+ - rangeMapper
+ - networkConfig
+ - networkStatus
+ - mgwConfig
+ - mgwStatus
+ additionalProperties: false
+ title: Config
+ type: object
+ GatewayBalancer:
+ description: The Gateway balancer information object
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ maxShadesPerChannel:
+ type: number
+ seqNum:
+ type: number
+ balancingAlg:
+ type: string
+ example: 0 = BALANCE_BY_GROUP
+ transactionNum:
+ type: number
+ GatewayInfo:
+ description: Limited information about the Gateway
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ fwVersion:
+ type: string
+ description: Gateway firmware version string
+ example: 3.1.376
+ serialNumber:
+ type: string
+ description: Gateway serial number
+ example: 3b4149d4f24d7bd7
+ required:
+ - fwVersion
+ - serialNumber
+ GatewayRadios:
+ description: Gateway radios
+ content:
+ application/json:
+ schema:
+ properties:
+ serialNum:
+ type: string
+ appVersion:
+ type: string
+ softdeviceVersion:
+ type: string
+ bootloaderVersion:
+ type: string
+ type: object
+ GatewayRadioShades:
+ description: Gateway radio shades
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: array
+ items:
+ type: object
+ properties:
+ index:
+ type: number
+ rssi:
+ type: number
+ example: -256
+ ready:
+ type: number
+ example: 1
+ bleName:
+ type: string
+ mac:
+ type: string
+ GatewayFabInfo:
+ description: Gateway Fab Info response
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ shadesFabInfoAllShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ shadesFabInfoLocalShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ cachedPrimary:
+ type: boolean
+ periodicRequesterTimerNextRunTime:
+ type: string
+ GatewayFabInfoPut:
+ description: Gateway Fab Info response
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ shadesFabInfoAllShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ shadesFabInfoLocalShades:
+ type: array
+ items:
+ type: object
+ properties:
+ bleName:
+ type: string
+ id:
+ type: number
+ appIndex:
+ type: number
+ modelId:
+ type: number
+ sourceGwName:
+ type: string
+ shadeLengthTickCnt:
+ type: number
+ periodicCheckIntervalMs:
+ type: number
+ periodicCheckTimerNextRunTime:
+ type: string
+ cachedPrimary:
+ type: boolean
+ periodicRequesterTimerNextRunTime:
+ type: string
+ GatewayShadeTime:
+ description: Gateway Shade Time Information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ setSunTimes:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ successfullyUpdated:
+ type: array
+ items:
+ type: string
+ failedToUpdate:
+ type: array
+ items:
+ type: string
+ setCurrentTime:
+ type: object
+ properties:
+ err:
+ type: number
+ errMsg:
+ type: string
+ example: ''
+ successfullyUpdated:
+ type: array
+ items:
+ type: string
+ failedToUpdate:
+ type: array
+ items:
+ type: string
+ GatewayShadeTimeInfo:
+ description: Shade Time Sync Manager Info
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ cachedHomeDocInfo:
+ type: object
+ properties:
+ gwId:
+ type: number
+ geoPoint:
+ type: object
+ properties:
+ latitude:
+ type: number
+ example: 29.9
+ longitude:
+ type: number
+ example: -100
+ tz:
+ type: string
+ example: America/Denver
+ localDstAdjustedOffset:
+ type: number
+ nextAllShadesSyncDate:
+ type: string
+ lastSuccessfulAllShadesSyncDate:
+ type: string
+ nextBleNamesSyncDate:
+ type: string
+ bleNamesNeedingSync:
+ type: array
+ items:
+ type: string
+ delayTimes:
+ type: object
+ properties:
+ homeDocUpdateDelayMs:
+ type: number
+ shadesAddedDelayMs:
+ type: number
+ syncAllRetryDelayMs:
+ type: number
+ syncListRetryDelayMs:
+ type: number
+ syncInProgressDelayMs:
+ type: number
+ syncInProgress:
+ type: boolean
+ HomedocRooms:
+ description: The rooms in the Home
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ properties:
+ id:
+ title: Room.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Room._id
+ type: number
+ type:
+ title: Room.type
+ type: number
+ name:
+ title: Room.name
+ type: string
+ icon:
+ title: Room.icon
+ type: string
+ color:
+ title: Room.color
+ type: string
+ shades:
+ items:
+ properties:
+ id:
+ title: Shade.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Shade._id
+ type: number
+ name:
+ title: Shade.name
+ type: string
+ v:
+ title: Shade.v
+ type: number
+ index:
+ title: Shade.index
+ type: number
+ serial:
+ title: Shade.serial
+ type: string
+ mac:
+ title: Shade.mac
+ type: string
+ bleName:
+ title: Shade.bleName
+ type: string
+ power:
+ title: Shade.power
+ type: number
+ modelId:
+ title: Shade.modelId
+ type: number
+ required:
+ - id
+ - _id
+ - name
+ - v
+ - index
+ - serial
+ - mac
+ - bleName
+ additionalProperties: false
+ title: Shade
+ type: object
+ title: Room.shades
+ type: array
+ required:
+ - id
+ - _id
+ - type
+ - name
+ - icon
+ - color
+ additionalProperties: false
+ title: Room
+ type: object
+ HomeId:
+ description: The cloud identifier of the Home
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ id:
+ type: string
+ description: The Home identifier
+ required:
+ - id
+ HomeKit:
+ description: HomeKit information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ hapBridge:
+ type: object
+ properties:
+ pid:
+ type: number
+ connected:
+ type: boolean
+ exitCode:
+ type: string
+ killed:
+ type: boolean
+ started:
+ type: string
+ lastStoppedEvent:
+ type: string
+ stoppedMessage:
+ type: string
+ respawnDisabled:
+ type: boolean
+ debugEnabled:
+ type: boolean
+ closeEvents:
+ type: array
+ items:
+ type: string
+ lastAID:
+ type: number
+ accessoryMap:
+ type: object
+ HomeKitSetup:
+ description: The HomeKit setup data
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ setupCode:
+ type: string
+ example: 383-67-992
+ setupPayload:
+ type: string
+ example: X-HM://0E38KYF3CHSCC03FBKDP6RPW4CM4J5S
+ required:
+ - setupCode
+ - setupPayload
+ InfoKnownMissingGateways:
+ description: Known and missing Gateways
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ known:
+ type: object
+ description: Known HomeDoc Gateway identifier
+ additionalProperties:
+ type: object
+ properties:
+ st:
+ type: integer
+ description: >-
+ The current operating state, which is one of:
+ 0=STARTUP, 1=IDLE, 2=NEW_GW_NO_NETWORK, 3=NO_INTERNET,
+ 4=NO_HOME
+ example: 1
+ pri:
+ type: boolean
+ description: >-
+ Optional: true indicates this Gateway is the primary
+ Gateway. Not set indicates this Gateway is an
+ auxiliary (aux) Gateway
+ self:
+ type: boolean
+ description: >-
+ Optional: true indicates this Gateway. Not set
+ indicates other Gateways in a multi-gateway system
+ required:
+ - st
+ missing:
+ type: array
+ description: >-
+ Gateway identifiers of HomeDoc listed Gateways who have not
+ reported recently
+ items:
+ type: number
+ description: HomeDoc Gateway identifier
+ example: 7643
+ required:
+ - known
+ - missing
+ LedColor:
+ description: The LED Color
+ content:
+ application/json:
+ schema:
+ description: The Gateway LED color and brightness
+ type: object
+ properties:
+ red:
+ type: number
+ description: Red
+ maximum: 0
+ minimum: 255
+ green:
+ type: number
+ description: Green
+ maximum: 0
+ minimum: 255
+ blue:
+ type: number
+ description: Blue
+ maximum: 0
+ minimum: 255
+ brightness:
+ type: number
+ description: Brightness
+ maximum: 0
+ minimum: 100
+ required:
+ - red
+ - green
+ - blue
+ - brightness
+ LogLevel:
+ description: The Gateway current log level
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ level:
+ type: string
+ description: >-
+ The current root log level, which is one of: error, warn,
+ info, verbose, debug, or silly. The recommended value is
+ info.
+ example: info
+ transports:
+ type: array
+ items:
+ properties:
+ level:
+ type: string
+ description: >-
+ The current transport log level, which is one of:
+ error, warn, info, verbose, debug, or silly. The
+ recommended value is info.
+ example: silly
+ required:
+ - level
+ required:
+ - level
+ - transports
+ Network:
+ description: The Gateway's network information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ networkConfig:
+ description: The Gateway's network configuration information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: >-
+ Indicates if the below staticIp object information is to
+ be applied. The below staticIp object is optional if
+ staticIpEnabled is false
+ example: true
+ staticIp:
+ type: object
+ description: >-
+ The optional static IP configuration information. If
+ staticIpEnabled is true, this object must be present in
+ its entirety. If staticIpEnabled is false, this object
+ may be present and if present, it must be fully provided
+ properties:
+ ip_address:
+ type: string
+ description: The IP address to utilize as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: >-
+ The subnet mask to apply to the static IP address
+ value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: The static internet Gateway IP address to utilize
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ networkStatus:
+ description: The Gateway's network status information
+ type: object
+ properties:
+ ipAddress:
+ type: string
+ description: The IP address of the active interface
+ example: 10.0.0.101
+ activeInterface:
+ type: string
+ description: >-
+ The active network interface identifier. Either 'eth0'
+ (wired) or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: eth0
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example: 8.8.8.8
+ eth0:
+ type: object
+ description: >-
+ The wired (eth0) network information, which may be empty
+ if not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0' (wired)
+ or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired' (eth0)
+ or 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: The network interface's internet Gateway IP address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ wlan0:
+ type: object
+ description: >-
+ The wireless (wlan0) network information, which may be
+ empty if not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0' (wired)
+ or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired' (eth0)
+ or 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: The network interface's internet Gateway IP address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ internetState:
+ type: string
+ description: The IP network's internet connectivity state
+ enum:
+ - Connected
+ - Disconnected
+ example: Connected
+ ssid:
+ type: string
+ description: >-
+ The wireless network's SSID value. The value is an empty
+ string if not configured
+ example: HunterDouglasWifi
+ required:
+ - ipAddress
+ - activeInterface
+ - dns
+ - eth0
+ - wlan0
+ - internetState
+ - ssid
+ required:
+ - networkConfig
+ - networkStatus
+ NetworkConfig:
+ description: The Gateway's current network configuration information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ networkConfig:
+ description: The Gateway's network configuration information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: >-
+ Indicates if the below staticIp object information is to
+ be applied. The below staticIp object is optional if
+ staticIpEnabled is false
+ example: true
+ staticIp:
+ type: object
+ description: >-
+ The optional static IP configuration information. If
+ staticIpEnabled is true, this object must be present in
+ its entirety. If staticIpEnabled is false, this object
+ may be present and if present, it must be fully provided
+ properties:
+ ip_address:
+ type: string
+ description: The IP address to utilize as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: >-
+ The subnet mask to apply to the static IP address
+ value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: The static internet Gateway IP address to utilize
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ linuxStaticIpValues:
+ description: >-
+ The Gateway operating system's configured static IP values
+ These values should match the networkConfig staticIp
+ information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: Indicates if the staticIp is enabled
+ example: true
+ interface:
+ type: string
+ description: >-
+ The network interface currently configured with the
+ static IP values
+ example: wlan0
+ ip_address:
+ type: string
+ description: The IP address being utilized as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: The subnet mask applied to the static IP address value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: The static internet Gateway IP address being utilized
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ required:
+ - networkConfig
+ NetworkStatus:
+ description: The Gateway's current network status information
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ networkStatus:
+ description: The Gateway's network status information
+ type: object
+ properties:
+ ipAddress:
+ type: string
+ description: The IP address of the active interface
+ example: 10.0.0.101
+ activeInterface:
+ type: string
+ description: >-
+ The active network interface identifier. Either 'eth0'
+ (wired) or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: eth0
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example: 8.8.8.8
+ eth0:
+ type: object
+ description: >-
+ The wired (eth0) network information, which may be empty
+ if not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0' (wired)
+ or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired' (eth0)
+ or 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: The network interface's internet Gateway IP address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ wlan0:
+ type: object
+ description: >-
+ The wireless (wlan0) network information, which may be
+ empty if not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0' (wired)
+ or 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired' (eth0)
+ or 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: The network interface's internet Gateway IP address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ internetState:
+ type: string
+ description: The IP network's internet connectivity state
+ enum:
+ - Connected
+ - Disconnected
+ example: Connected
+ ssid:
+ type: string
+ description: >-
+ The wireless network's SSID value. The value is an empty
+ string if not configured
+ example: HunterDouglasWifi
+ required:
+ - ipAddress
+ - activeInterface
+ - dns
+ - eth0
+ - wlan0
+ - internetState
+ - ssid
+ required:
+ - networkStatus
+ Scene:
+ description: Describes a scene
+ content:
+ application/json:
+ schema:
+ properties:
+ id:
+ title: Scene.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Scene._id
+ type: number
+ name:
+ title: Scene.name
+ type: string
+ icon:
+ title: Scene.icon
+ type: string
+ color:
+ title: Scene.color
+ type: string
+ bleId:
+ title: Scene.bleId
+ type: number
+ modDate:
+ title: Scene.modDate
+ type: string
+ roomId:
+ title: Scene.roomId
+ description: '@deprecated in v23'
+ type: string
+ room_Id:
+ title: Scene.room_Id
+ type: number
+ members:
+ items:
+ properties:
+ id:
+ title: SceneMember.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: SceneMember._id
+ type: number
+ pos:
+ title: SceneMember.pos
+ properties:
+ pos1:
+ title: ShadePosition.pos1
+ type: number
+ pos2:
+ title: ShadePosition.pos2
+ type: number
+ pos3:
+ title: ShadePosition.pos3
+ type: number
+ tilt:
+ title: ShadePosition.tilt
+ type: number
+ vel:
+ title: ShadePosition.vel
+ type: number
+ required:
+ - pos1
+ - pos2
+ - pos3
+ - tilt
+ - vel
+ additionalProperties: false
+ type: object
+ shdId:
+ title: SceneMember.shdId
+ description: '@deprecated in v23'
+ type: string
+ shd_Id:
+ title: SceneMember.shd_Id
+ type: number
+ required:
+ - id
+ - _id
+ - pos
+ - shdId
+ - shd_Id
+ additionalProperties: false
+ title: SceneMember
+ type: object
+ title: Scene.members
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - icon
+ - color
+ - bleId
+ - modDate
+ additionalProperties: false
+ title: Scene
+ type: object
+ SceneEvent:
+ description: Scene event
+ content:
+ text/event-stream:
+ schema:
+ type: object
+ description: Scene event
+ properties:
+ evt:
+ type: string
+ description: Event name
+ enum:
+ - scene-add
+ - scene-del
+ - scene-activated
+ - scene-deactivated
+ example: scene-activated
+ isoDate:
+ type: string
+ description: ISO timestamp
+ example: '2021-12-06T20:01:11.934Z'
+ id:
+ type: number
+ description: Unique Scene identifier
+ example: 55
+ scene:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: >
+ Unique identifier for a Scene color from HomeDoc Scene
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated
+ with this Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ required:
+ - evt
+ - isoDate
+ - id
+ SceneShadeList:
+ description: List of Shade identifiers associated with a Scene
+ content:
+ application/json:
+ schema:
+ type: array
+ description: Array of numerical Shade identifiers
+ example:
+ - 22
+ - 33
+ - 44
+ items:
+ type: number
+ ShadeEvent:
+ description: Shade event
+ content:
+ text/event-stream:
+ schema:
+ type: object
+ description: Shade event
+ properties:
+ evt:
+ type: string
+ description: Event name
+ enum:
+ - shade-offline
+ - shade-online
+ - motion-started
+ - motion-stopped
+ - battery-alert
+ example: motion-started
+ isoDate:
+ type: string
+ description: ISO timestamp
+ example: '2021-12-06T20:01:11.934Z'
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:1233
+ id:
+ type: number
+ description: Unique Shade identifier
+ example: 55
+ currentPositions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ targetPositions:
+ type: object
+ description: >
+ Optional target Shade position values and estimate
+ completion time
+
+ that may only present when the Event name is
+ 'motion-started'.
+
+ The property may be omitted even with the Event
+ 'motion-started'
+
+ if the values cannot be obtained or computed
+ properties:
+ etaInSeconds:
+ type: number
+ description: >-
+ Estimated time in seconds for the Shade to reach its
+ target positions
+ example: 7
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ required:
+ - evt
+ - isoDate
+ - bleName
+ - id
+ - currentPositions
+ EventListeners:
+ description: List of Event Listeners
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ slots:
+ type: array
+ items:
+ type: string
+ activeListeners:
+ type: array
+ items:
+ type: string
+ required:
+ - slots
+ - activeListeners
+ ShadeIDList:
+ description: List of Shade identifiers
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ properties:
+ id:
+ title: Shade.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Shade._id
+ type: number
+ name:
+ title: Shade.name
+ type: string
+ v:
+ title: Shade.v
+ type: number
+ index:
+ title: Shade.index
+ type: number
+ serial:
+ title: Shade.serial
+ type: string
+ mac:
+ title: Shade.mac
+ type: string
+ bleName:
+ title: Shade.bleName
+ type: string
+ power:
+ title: Shade.power
+ type: number
+ modelId:
+ title: Shade.modelId
+ type: number
+ required:
+ - id
+ - _id
+ - name
+ - v
+ - index
+ - serial
+ - mac
+ - bleName
+ additionalProperties: false
+ title: Shade
+ type: object
+ SpsChannelsCheckResponse:
+ description: >-
+ Comms channels that are offline, and an empty array means all
+ operational
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ failedChannels:
+ type: array
+ items:
+ type: string
+ description: name of downed channel
+ example: comms01
+ required:
+ - failedChannels
+ SpsPcaVersions:
+ description: List of SPS PV+ Shade PCA versions
+ content:
+ application/json:
+ schema:
+ type: array
+ description: List of channels containing arrays of PV+ Shades
+ items:
+ type: array
+ description: PCA information for a list of PV+ Shades on a single channel
+ items:
+ type: object
+ description: SPS PCA version information
+ properties:
+ slot:
+ type: number
+ description: Shade port/channel number between 0 and 2 inclusive
+ example: 1
+ bleName:
+ type: string
+ description: Shade's BleName
+ example: SON:1234
+ mac:
+ type: string
+ description: Shade's MAC address
+ example: '00:12:34:56:78:90'
+ pcaVersion:
+ type: string
+ description: Shade PCA version
+ example: 0.5.0
+ pcaChecksum:
+ type: string
+ description: Shade PCA release checksum
+ example: '0x54321ABC'
+ pcaUpdateNeeded:
+ type: boolean
+ description: >-
+ The Shade PCA version is mismatched with the version in
+ the release. Time to do a upgrade
+ example: false
+ required:
+ - slot
+ - bleName
+ - mac
+ - pcaVersion
+ - pcaChecksum
+ - pcaUpdateNeeded
+ SpsSetLogLevelResponse:
+ description: Comms set log level response
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ responseIsOk:
+ type: boolean
+ description: The log level set was successful or not
+ returnedLogLevel:
+ type: number
+ description: >-
+ The new log level. 0=none, 1=error, 2=warn, 3=info, 4=debug,
+ 5=silly
+ returnedPersist:
+ type: boolean
+ description: The new persistence setting
+ required:
+ - responseIsOk
+ - returnedLogLevel
+ - returnedPersist
+ SpsShadeComparisonResults:
+ description: HomeDoc vs actual PV+ Shade comparison results
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ perfectMatch:
+ type: boolean
+ description: Indicates if the HomeDoc and the SPS are perfectly matched
+ differences:
+ type: object
+ spsHomeDocShades:
+ type: array
+ items:
+ type: object
+ description: Unique Shade information
+ properties:
+ bleName:
+ type: string
+ description: Shade BleName
+ example: SON:1234
+ required:
+ - bleName
+ spsActualShades:
+ type: array
+ items:
+ type: object
+ description: Unique Shade information
+ properties:
+ bleName:
+ type: string
+ description: Shade BleName
+ example: SON:1234
+ required:
+ - bleName
+ required:
+ - perfectMatch
+ - differences
+ - spsHomeDocShades
+ - spsActualShades
+ SpsShadesEnumeration:
+ description: PV+ Shades found on the SPS
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: SPS port object
+ properties:
+ port:
+ type: number
+ description: Port/channel number from 1 to 16 inclusive
+ example: 1
+ shades:
+ type: array
+ description: Information about PV+ Shades on this port
+ items:
+ type: object
+ description: SPS Shade description
+ properties:
+ slot:
+ type: number
+ description: Shade port/channel number between 0 and 2 inclusive
+ example: 1
+ rssi:
+ type: number
+ description: Perfect RSSI value
+ example: -1
+ ready:
+ type: number
+ description: Shade is ready
+ example: 1
+ bleName:
+ type: string
+ description: Shade's BleName
+ example: SON:1234
+ mac:
+ type: string
+ description: Shade's MAC address
+ example: '00:12:34:56:78:90'
+ pcaVersion:
+ type: string
+ description: Shade PCA version
+ example: 0.5.0
+ pcaChecksum:
+ type: string
+ description: Shade PCA release checksum
+ example: '0x54321ABC'
+ pcaUpdateNeeded:
+ type: boolean
+ description: >-
+ The Shade PCA version is mismatched with the version
+ in the release. Time to do a upgrade
+ example: false
+ required:
+ - slot
+ - rssi
+ - ready
+ - bleName
+ - mac
+ - pcaVersion
+ - pcaChecksum
+ - pcaUpdateNeeded
+ required:
+ - port
+ - shades
+ Standard200:
+ description: The request was successfully completed
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ msg:
+ type: string
+ required:
+ - msg
+ Standard400:
+ description: The request parameters were incorrect
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ errMsg:
+ type: string
+ description: Describes which parameters were incorrect
+ required:
+ - errMsg
+ Standard404:
+ description: The resource was not found
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ Standard503:
+ description: The resource is currently unavailable (i.e., no HomeDoc)
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ StandardGeneralError:
+ description: General unexpected error response
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ StandardUnimplemented:
+ description: The resource has not been implemented
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ UpdateChannel:
+ description: The current Gateway firmware update channel
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ channel:
+ type: string
+ description: The current Gateway firmware update channel
+ example: production
+ required:
+ - channel
+ WebAutomation:
+ description: Web Automation Object
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Web Automation Object
+ properties:
+ id:
+ type: number
+ description: Unique numerical Automation identifier
+ example: 33
+ type:
+ type: number
+ description: |
+ Time-base for the automation
+ * 0 = Clock-based
+ * 2 = Before sunrise
+ * 6 = Before sunset
+ * 10 = After sunrise
+ * 14 = After sunset
+ example: 6
+ enabled:
+ type: boolean
+ description: True indicates the Automation is enabled
+ example: true
+ days:
+ type: number
+ description: |
+ Bitmask of days when the automation is to run
+ * 0x00 = Reserved
+ * 0x01 = Monday
+ * 0x02 = Tuesday
+ * 0x04 = Wednesday
+ * 0x08 = Thursay
+ * 0x10 = Friday
+ * 0x20 = Saturday
+ * 0x40 = Sunday
+ * 0x80 = Reserved
+ example: 24 (i.e., 0x18, which is Thursday and Friday)
+ hour:
+ type: number
+ description: |
+ For clock-based automations, the 'hour' field is the
+ exact hour the automation will occur. For sunrise & sunset
+ based automations, the 'hour' field is the hour offset
+ before/after a sunrise/sunset automation is to run.
+ example: 4
+ min:
+ type: number
+ description: |
+ For clock-based automations, the 'min' field is the
+ exact min the automation will occur. For sunrise & sunset
+ based automations, the 'min' field is the minutes offset
+ before/after a sunrise/sunset automation is to run.
+ example: 5
+ bleId:
+ type: number
+ description: The automation ID stored on the Shade itself.
+ example: 83
+ sceneId:
+ type: number
+ description: >-
+ The unique numerical Scene identifier associated with this
+ Automation
+ example: 116
+ errorShd_Ids:
+ type: array
+ description: >-
+ The Shade list where the Automation was unsuccessfully
+ provisioned. The value can be null
+ example: null
+ items:
+ type: number
+ description: The failing Shade identifier
+ example: 55
+ required:
+ - id
+ - type
+ - enabled
+ - days
+ - hour
+ - min
+ - bleId
+ - sceneId
+ WebAutomationList:
+ description: Web Automation List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Web Automation Object
+ properties:
+ id:
+ type: number
+ description: Unique numerical Automation identifier
+ example: 33
+ type:
+ type: number
+ description: |
+ Time-base for the automation
+ * 0 = Clock-based
+ * 2 = Before sunrise
+ * 6 = Before sunset
+ * 10 = After sunrise
+ * 14 = After sunset
+ example: 6
+ enabled:
+ type: boolean
+ description: True indicates the Automation is enabled
+ example: true
+ days:
+ type: number
+ description: |
+ Bitmask of days when the automation is to run
+ * 0x00 = Reserved
+ * 0x01 = Monday
+ * 0x02 = Tuesday
+ * 0x04 = Wednesday
+ * 0x08 = Thursay
+ * 0x10 = Friday
+ * 0x20 = Saturday
+ * 0x40 = Sunday
+ * 0x80 = Reserved
+ example: 24 (i.e., 0x18, which is Thursday and Friday)
+ hour:
+ type: number
+ description: >
+ For clock-based automations, the 'hour' field is the
+
+ exact hour the automation will occur. For sunrise &
+ sunset
+
+ based automations, the 'hour' field is the hour offset
+
+ before/after a sunrise/sunset automation is to run.
+ example: 4
+ min:
+ type: number
+ description: |
+ For clock-based automations, the 'min' field is the
+ exact min the automation will occur. For sunrise & sunset
+ based automations, the 'min' field is the minutes offset
+ before/after a sunrise/sunset automation is to run.
+ example: 5
+ bleId:
+ type: number
+ description: The automation ID stored on the Shade itself.
+ example: 83
+ sceneId:
+ type: number
+ description: >-
+ The unique numerical Scene identifier associated with this
+ Automation
+ example: 116
+ errorShd_Ids:
+ type: array
+ description: >-
+ The Shade list where the Automation was unsuccessfully
+ provisioned. The value can be null
+ example: null
+ items:
+ type: number
+ description: The failing Shade identifier
+ example: 55
+ required:
+ - id
+ - type
+ - enabled
+ - days
+ - hour
+ - min
+ - bleId
+ - sceneId
+ WebHomeDoc:
+ description: Web HomeDoc Object
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ id:
+ type: string
+ _schemaVersion:
+ type: number
+ owner:
+ type: string
+ users?:
+ type: array
+ items:
+ type: string
+ modApp:
+ type: string
+ modDate:
+ type: string
+ home:
+ properties:
+ name:
+ title: Home.name
+ type: string
+ autosEnabled:
+ title: Home.autosEnabled
+ description: Are automations enabled globally
+ type: boolean
+ key:
+ title: Home.key
+ type: string
+ loc:
+ title: Home.loc
+ power:
+ title: Home.power
+ type: number
+ tz:
+ title: Home.tz
+ description: TimeZone - available in v24+
+ type: string
+ required:
+ - name
+ - autosEnabled
+ additionalProperties: false
+ title: Home
+ type: object
+ rooms:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ _id:
+ type: number
+ type:
+ type: number
+ name:
+ type: string
+ icon:
+ type: string
+ color:
+ type: string
+ shades:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter
+ Douglas use only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities.
+ In PowerView Gen 3,
+
+ there are over 20 different types of Hunter
+ Douglas Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all
+ can be represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either
+ from the bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot
+ operate independently - the
+
+ front shade must be down before the rear shade can
+ deploy. In other cases,
+
+ they are independent with two motors and two
+ tubes. Where they are
+
+ dependent, the shade firmware will force the
+ appropriate front shade
+
+ position when the rear shade is controlled - there
+ is no need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up
+ shade that also tilts plus a rear blackout
+ (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ position of the secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the fully closed to fully open
+ tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0
+ representing the Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ scenes:
+ type: array
+ items:
+ properties:
+ id:
+ title: Scene.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Scene._id
+ type: number
+ name:
+ title: Scene.name
+ type: string
+ icon:
+ title: Scene.icon
+ type: string
+ color:
+ title: Scene.color
+ type: string
+ bleId:
+ title: Scene.bleId
+ type: number
+ modDate:
+ title: Scene.modDate
+ type: string
+ roomId:
+ title: Scene.roomId
+ description: '@deprecated in v23'
+ type: string
+ room_Id:
+ title: Scene.room_Id
+ type: number
+ members:
+ items:
+ properties:
+ id:
+ title: SceneMember.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: SceneMember._id
+ type: number
+ pos:
+ title: SceneMember.pos
+ properties:
+ pos1:
+ title: ShadePosition.pos1
+ type: number
+ pos2:
+ title: ShadePosition.pos2
+ type: number
+ pos3:
+ title: ShadePosition.pos3
+ type: number
+ tilt:
+ title: ShadePosition.tilt
+ type: number
+ vel:
+ title: ShadePosition.vel
+ type: number
+ required:
+ - pos1
+ - pos2
+ - pos3
+ - tilt
+ - vel
+ additionalProperties: false
+ type: object
+ shdId:
+ title: SceneMember.shdId
+ description: '@deprecated in v23'
+ type: string
+ shd_Id:
+ title: SceneMember.shd_Id
+ type: number
+ required:
+ - id
+ - _id
+ - pos
+ - shdId
+ - shd_Id
+ additionalProperties: false
+ title: SceneMember
+ type: object
+ title: Scene.members
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - icon
+ - color
+ - bleId
+ - modDate
+ additionalProperties: false
+ title: Scene
+ type: object
+ automations:
+ type: array
+ items:
+ properties:
+ id:
+ title: Automation.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Automation._id
+ type: number
+ type:
+ title: Automation.type
+ type: number
+ enabled:
+ title: Automation.enabled
+ type: boolean
+ days:
+ title: Automation.days
+ type: number
+ hour:
+ title: Automation.hour
+ type: number
+ min:
+ title: Automation.min
+ type: number
+ bleId:
+ title: Automation.bleId
+ type: number
+ sceneId:
+ title: Automation.sceneId
+ description: '@deprecated in v23'
+ type: string
+ scene_Id:
+ title: Automation.scene_Id
+ type: number
+ errorShdIds:
+ items:
+ type: string
+ title: Automation.errorShdIds
+ description: '@deprecated in v23'
+ type: array
+ errorShd_Ids:
+ items:
+ type: number
+ title: Automation.errorShd_Ids
+ type: array
+ required:
+ - id
+ - _id
+ - type
+ - enabled
+ - days
+ - hour
+ - min
+ - bleId
+ - sceneId
+ - scene_Id
+ - errorShdIds
+ - errorShd_Ids
+ additionalProperties: false
+ title: Automation
+ type: object
+ remotes?:
+ type: array
+ items:
+ properties:
+ id:
+ title: Remote.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Remote._id
+ type: number
+ name:
+ title: Remote.name
+ type: string
+ v:
+ title: Remote.v
+ type: number
+ mac:
+ title: Remote.mac
+ type: string
+ bleName:
+ title: Remote.bleName
+ type: string
+ members:
+ items:
+ properties:
+ id:
+ title: RemoteMember.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: RemoteMember._id
+ type: number
+ group:
+ title: RemoteMember.group
+ type: number
+ shdId:
+ title: RemoteMember.shdId
+ description: '@deprecated in v23'
+ type: string
+ shd_Id:
+ title: RemoteMember.shd_Id
+ type: number
+ required:
+ - id
+ - _id
+ - group
+ - shdId
+ - shd_Id
+ additionalProperties: false
+ title: RemoteMember
+ type: object
+ title: Remote.members
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - v
+ - mac
+ - bleName
+ additionalProperties: false
+ title: Remote
+ type: object
+ gateways:
+ type: array
+ items:
+ properties:
+ id:
+ title: Gateway.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Gateway._id
+ type: number
+ name:
+ title: Gateway.name
+ type: string
+ v:
+ title: Gateway.v
+ type: string
+ radio1V:
+ title: Gateway.radio1V
+ type: string
+ radio2V:
+ title: Gateway.radio2V
+ type: string
+ serial:
+ title: Gateway.serial
+ type: string
+ aux:
+ title: Gateway.aux
+ type: boolean
+ ip:
+ title: Gateway.ip
+ type: string
+ ssid:
+ title: Gateway.ssid
+ type: string
+ shdIds:
+ items:
+ type: string
+ title: Gateway.shdIds
+ description: '@deprecated in v23'
+ type: array
+ shd_Ids:
+ items:
+ type: number
+ title: Gateway.shd_Ids
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - v
+ - radio1V
+ - radio2V
+ - serial
+ - ip
+ - ssid
+ additionalProperties: false
+ title: Gateway
+ type: object
+ WebRoom:
+ description: Web Room Object
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Room information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Room identifier
+ example: 674
+ name:
+ type: string
+ description: Base64 encoded Room name
+ example: T2ZmaWNlCg==
+ ptName:
+ type: string
+ description: Room name
+ example: Office
+ color:
+ type: string
+ description: |
+ Unique identifier for a Room color from HomeDoc Room object
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Room object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ type:
+ type: number
+ description: Room type enumeration value
+ example: 3
+ shades:
+ type: array
+ description: >-
+ Optional list of Shades in a Room, which can be an empty
+ list
+ example: []
+ items:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter Douglas
+ use only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In
+ PowerView Gen 3,
+
+ there are over 20 different types of Hunter Douglas
+ Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all can be
+ represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from
+ the bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate
+ independently - the
+
+ front shade must be down before the rear shade can
+ deploy. In other cases,
+
+ they are independent with two motors and two tubes.
+ Where they are
+
+ dependent, the shade firmware will force the
+ appropriate front shade
+
+ position when the rear shade is controlled - there is
+ no need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up
+ shade that also tilts plus a rear blackout
+ (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open position of the
+ primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open position of the
+ secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - type
+ WebRoomList:
+ description: Web Room List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Room information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Room identifier
+ example: 674
+ name:
+ type: string
+ description: Base64 encoded Room name
+ example: T2ZmaWNlCg==
+ ptName:
+ type: string
+ description: Room name
+ example: Office
+ color:
+ type: string
+ description: >
+ Unique identifier for a Room color from HomeDoc Room
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Room object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ type:
+ type: number
+ description: Room type enumeration value
+ example: 3
+ shades:
+ type: array
+ description: >-
+ Optional list of Shades in a Room, which can be an empty
+ list
+ example: []
+ items:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter Douglas
+ use only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities.
+ In PowerView Gen 3,
+
+ there are over 20 different types of Hunter Douglas
+ Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all can
+ be represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from
+ the bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot
+ operate independently - the
+
+ front shade must be down before the rear shade can
+ deploy. In other cases,
+
+ they are independent with two motors and two tubes.
+ Where they are
+
+ dependent, the shade firmware will force the
+ appropriate front shade
+
+ position when the rear shade is controlled - there
+ is no need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up
+ shade that also tilts plus a rear blackout
+ (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open position of the
+ primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open position of the
+ secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the fully closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing
+ the Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - type
+ WebScene:
+ description: Web Scene Object
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: >
+ Unique identifier for a Scene color from HomeDoc Scene
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated with
+ this Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ WebSceneList:
+ description: Web Scene List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: >
+ Unique identifier for a Scene color from HomeDoc Scene
+ object
+
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated with
+ this Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ WebShade:
+ description: Web Shade Object
+ content:
+ application/json:
+ schema:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter Douglas use
+ only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In
+ PowerView Gen 3,
+
+ there are over 20 different types of Hunter Douglas Shades
+ available.
+
+ These Shade have a variety of different motion capabilities.
+ While each
+
+ Shade has its own set of unique properties, all can be
+ represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from the
+ bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate
+ independently - the
+
+ front shade must be down before the rear shade can deploy.
+ In other cases,
+
+ they are independent with two motors and two tubes. Where
+ they are
+
+ dependent, the shade firmware will force the appropriate
+ front shade
+
+ position when the rear shade is controlled - there is no
+ need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up shade that
+ also tilts plus a rear blackout (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ WebShadeList:
+ description: Web Shade List
+ content:
+ application/json:
+ schema:
+ type: array
+ items:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter Douglas use
+ only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In
+ PowerView Gen 3,
+
+ there are over 20 different types of Hunter Douglas Shades
+ available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all can be
+ represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from the
+ bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate
+ independently - the
+
+ front shade must be down before the rear shade can deploy.
+ In other cases,
+
+ they are independent with two motors and two tubes. Where
+ they are
+
+ dependent, the shade firmware will force the appropriate
+ front shade
+
+ position when the rear shade is controlled - there is no
+ need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up shade
+ that also tilts plus a rear blackout (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary
+ rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ WiFiScanList:
+ description: Wireless network scan list
+ content:
+ application/json:
+ schema:
+ type: object
+ properties:
+ ssidScanResults:
+ type: array
+ items:
+ type: object
+ description: Wireless network scan entry
+ properties:
+ ssid:
+ type: string
+ description: Wireless network name
+ example: HunterDouglasWiFi
+ rssi:
+ type: string
+ description: Wireless network RSSI value
+ example: '-81'
+ required:
+ - ssid
+ - rssi
+ required:
+ - ssidScanResults
+ schemas:
+ BatteryLevel:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ CloudConfig:
+ type: object
+ description: >-
+ Cloud configuration information used by the Gateway to access the
+ Cloud
+ properties:
+ homeId:
+ type: string
+ description: Home identifier as a hexadecimal string
+ example: Xffeg05RhmhUQez88Qyv
+ gatewayId:
+ type: number
+ description: Numerical identifier of the Gateway as registered in the Cloud
+ example: 103
+ collection:
+ type: string
+ description: Name of the Home collection
+ default: homes
+ example: homes
+ clouddEnv:
+ type: number
+ description: >-
+ Select the Cloud environment to connect to: Dev = 0, Production =
+ 1
+ default: 0
+ example: 1
+ required:
+ - homeId
+ - gatewayId
+ ComparableShade:
+ type: object
+ description: Unique Shade information
+ properties:
+ bleName:
+ type: string
+ description: Shade BleName
+ example: SON:1234
+ required:
+ - bleName
+ Error:
+ type: object
+ description: Error response
+ properties:
+ errMsg:
+ type: string
+ description: Error description
+ required:
+ - errMsg
+ Hexadecimal:
+ type: object
+ description: Shade command payload
+ properties:
+ hex:
+ type: string
+ required:
+ - hex
+ LedColor:
+ description: The Gateway LED color and brightness
+ type: object
+ properties:
+ red:
+ type: number
+ description: Red
+ maximum: 0
+ minimum: 255
+ green:
+ type: number
+ description: Green
+ maximum: 0
+ minimum: 255
+ blue:
+ type: number
+ description: Blue
+ maximum: 0
+ minimum: 255
+ brightness:
+ type: number
+ description: Brightness
+ maximum: 0
+ minimum: 100
+ required:
+ - red
+ - green
+ - blue
+ - brightness
+ LinuxStaticIp:
+ description: >-
+ The Gateway operating system's configured static IP values These
+ values should match the networkConfig staticIp information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: Indicates if the staticIp is enabled
+ example: true
+ interface:
+ type: string
+ description: >-
+ The network interface currently configured with the static IP
+ values
+ example: wlan0
+ ip_address:
+ type: string
+ description: The IP address being utilized as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: The subnet mask applied to the static IP address value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: The static internet Gateway IP address being utilized
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ NetworkConfig:
+ description: The Gateway's network configuration information
+ type: object
+ properties:
+ staticIpEnabled:
+ type: boolean
+ description: >-
+ Indicates if the below staticIp object information is to be
+ applied. The below staticIp object is optional if staticIpEnabled
+ is false
+ example: true
+ staticIp:
+ type: object
+ description: >-
+ The optional static IP configuration information. If
+ staticIpEnabled is true, this object must be present in its
+ entirety. If staticIpEnabled is false, this object may be present
+ and if present, it must be fully provided
+ properties:
+ ip_address:
+ type: string
+ description: The IP address to utilize as the static IP
+ example: 10.0.0.101
+ netwask:
+ type: string
+ description: The subnet mask to apply to the static IP address value
+ example: 255.255.255.0
+ gateway_ip:
+ type: string
+ description: The static internet Gateway IP address to utilize
+ example: 10.0.0.1
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example:
+ - 8.8.8.8
+ - 9.9.9.9
+ required:
+ - staticIpEnabled
+ NetworkStatus:
+ description: The Gateway's network status information
+ type: object
+ properties:
+ ipAddress:
+ type: string
+ description: The IP address of the active interface
+ example: 10.0.0.101
+ activeInterface:
+ type: string
+ description: >-
+ The active network interface identifier. Either 'eth0' (wired) or
+ 'wlan0' (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: eth0
+ dns:
+ type: array
+ items:
+ type: string
+ description: The list of DNS server IP addresses
+ example: 8.8.8.8
+ eth0:
+ type: object
+ description: >-
+ The wired (eth0) network information, which may be empty if not
+ active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0' (wired) or 'wlan0'
+ (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired' (eth0) or
+ 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: The network interface's internet Gateway IP address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ wlan0:
+ type: object
+ description: >-
+ The wireless (wlan0) network information, which may be empty if
+ not active/configured
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0' (wired) or 'wlan0'
+ (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired' (eth0) or
+ 'Wireless' (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: The network interface's internet Gateway IP address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ internetState:
+ type: string
+ description: The IP network's internet connectivity state
+ enum:
+ - Connected
+ - Disconnected
+ example: Connected
+ ssid:
+ type: string
+ description: >-
+ The wireless network's SSID value. The value is an empty string if
+ not configured
+ example: HunterDouglasWifi
+ required:
+ - ipAddress
+ - activeInterface
+ - dns
+ - eth0
+ - wlan0
+ - internetState
+ - ssid
+ NICType:
+ description: The Gateway's network interface information
+ type: object
+ properties:
+ name:
+ type: string
+ description: >-
+ The network interface's name either 'eth0' (wired) or 'wlan0'
+ (wireless)
+ enum:
+ - eth0
+ - wlan0
+ example: wlan0
+ type:
+ type: string
+ description: >-
+ The network interface's type either 'Wired' (eth0) or 'Wireless'
+ (wlan0)
+ enum:
+ - Wired
+ - Wireless
+ example: Wireless
+ ip_address:
+ type: string
+ description: The network interface's IP address
+ example: 10.0.0.101
+ mac_address:
+ type: string
+ description: The network interface's MAC address
+ example: 00:26:74:be:ef:66
+ gateway_ip:
+ type: string
+ description: The network interface's internet Gateway IP address
+ example: 10.0.0.1
+ netwask:
+ type: string
+ description: The network interface's subnet mask
+ example: 255.255.255.0
+ AutomationId:
+ type: string
+ description: The numerical identifier for a particular Automation
+ example: 456
+ PositionsPrimary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully closed to
+ fully open position of the primary rail
+ example: 0.99
+ PositionsSecondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully closed to
+ fully open position of the secondary rail
+ example: 0.99
+ PositionsTilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully closed to
+ fully open tilt position
+ example: 0
+ PositionsVelocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the Shade operation
+ speed
+ example: 0.5
+ PowerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ RoomId:
+ type: string
+ description: The numerical identifier for a particular Room
+ example: 2
+ SceneEvent:
+ type: object
+ description: Scene event
+ properties:
+ evt:
+ type: string
+ description: Event name
+ enum:
+ - scene-add
+ - scene-del
+ - scene-activated
+ - scene-deactivated
+ example: scene-activated
+ isoDate:
+ type: string
+ description: ISO timestamp
+ example: '2021-12-06T20:01:11.934Z'
+ id:
+ type: number
+ description: Unique Scene identifier
+ example: 55
+ scene:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: |
+ Unique identifier for a Scene color from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated with this
+ Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ required:
+ - evt
+ - isoDate
+ - id
+ SceneId:
+ type: string
+ description: The numerical identifier for a particular Scene
+ example: 22
+ ShadeEvent:
+ type: object
+ description: Shade event
+ properties:
+ evt:
+ type: string
+ description: Event name
+ enum:
+ - shade-offline
+ - shade-online
+ - motion-started
+ - motion-stopped
+ - battery-alert
+ example: motion-started
+ isoDate:
+ type: string
+ description: ISO timestamp
+ example: '2021-12-06T20:01:11.934Z'
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:1233
+ id:
+ type: number
+ description: Unique Shade identifier
+ example: 55
+ currentPositions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open position of the secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open tilt position
+ example: 0
+ targetPositions:
+ type: object
+ description: |
+ Optional target Shade position values and estimate completion time
+ that may only present when the Event name is 'motion-started'.
+ The property may be omitted even with the Event 'motion-started'
+ if the values cannot be obtained or computed
+ properties:
+ etaInSeconds:
+ type: number
+ description: >-
+ Estimated time in seconds for the Shade to reach its target
+ positions
+ example: 7
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open position of the secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open tilt position
+ example: 0
+ required:
+ - evt
+ - isoDate
+ - bleName
+ - id
+ - currentPositions
+ ShadeId:
+ type: string
+ description: The numerical identifier for a particular Shade
+ example: 21
+ ShadeCapabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In PowerView Gen
+ 3,
+
+ there are over 20 different types of Hunter Douglas Shades available.
+
+ These Shade have a variety of different motion capabilities. While
+ each
+
+ Shade has its own set of unique properties, all can be represented by
+ the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from the bottom or from
+ the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate independently -
+ the
+
+ front shade must be down before the rear shade can deploy. In other
+ cases,
+
+ they are independent with two motors and two tubes. Where they are
+
+ dependent, the shade firmware will force the appropriate front shade
+
+ position when the rear shade is controlled - there is no need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up shade that also
+ tilts plus a rear blackout (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ SpsPcaVersionInfo:
+ type: object
+ description: SPS PCA version information
+ properties:
+ slot:
+ type: number
+ description: Shade port/channel number between 0 and 2 inclusive
+ example: 1
+ bleName:
+ type: string
+ description: Shade's BleName
+ example: SON:1234
+ mac:
+ type: string
+ description: Shade's MAC address
+ example: '00:12:34:56:78:90'
+ pcaVersion:
+ type: string
+ description: Shade PCA version
+ example: 0.5.0
+ pcaChecksum:
+ type: string
+ description: Shade PCA release checksum
+ example: '0x54321ABC'
+ pcaUpdateNeeded:
+ type: boolean
+ description: >-
+ The Shade PCA version is mismatched with the version in the
+ release. Time to do a upgrade
+ example: false
+ required:
+ - slot
+ - bleName
+ - mac
+ - pcaVersion
+ - pcaChecksum
+ - pcaUpdateNeeded
+ SpsPort:
+ type: object
+ description: SPS port object
+ properties:
+ port:
+ type: number
+ description: Port/channel number from 1 to 16 inclusive
+ example: 1
+ shades:
+ type: array
+ description: Information about PV+ Shades on this port
+ items:
+ type: object
+ description: SPS Shade description
+ properties:
+ slot:
+ type: number
+ description: Shade port/channel number between 0 and 2 inclusive
+ example: 1
+ rssi:
+ type: number
+ description: Perfect RSSI value
+ example: -1
+ ready:
+ type: number
+ description: Shade is ready
+ example: 1
+ bleName:
+ type: string
+ description: Shade's BleName
+ example: SON:1234
+ mac:
+ type: string
+ description: Shade's MAC address
+ example: '00:12:34:56:78:90'
+ pcaVersion:
+ type: string
+ description: Shade PCA version
+ example: 0.5.0
+ pcaChecksum:
+ type: string
+ description: Shade PCA release checksum
+ example: '0x54321ABC'
+ pcaUpdateNeeded:
+ type: boolean
+ description: >-
+ The Shade PCA version is mismatched with the version in the
+ release. Time to do a upgrade
+ example: false
+ required:
+ - slot
+ - rssi
+ - ready
+ - bleName
+ - mac
+ - pcaVersion
+ - pcaChecksum
+ - pcaUpdateNeeded
+ required:
+ - port
+ - shades
+ SpsShadeEntry:
+ type: object
+ description: SPS Shade description
+ properties:
+ slot:
+ type: number
+ description: Shade port/channel number between 0 and 2 inclusive
+ example: 1
+ rssi:
+ type: number
+ description: Perfect RSSI value
+ example: -1
+ ready:
+ type: number
+ description: Shade is ready
+ example: 1
+ bleName:
+ type: string
+ description: Shade's BleName
+ example: SON:1234
+ mac:
+ type: string
+ description: Shade's MAC address
+ example: '00:12:34:56:78:90'
+ pcaVersion:
+ type: string
+ description: Shade PCA version
+ example: 0.5.0
+ pcaChecksum:
+ type: string
+ description: Shade PCA release checksum
+ example: '0x54321ABC'
+ pcaUpdateNeeded:
+ type: boolean
+ description: >-
+ The Shade PCA version is mismatched with the version in the
+ release. Time to do a upgrade
+ example: false
+ required:
+ - slot
+ - rssi
+ - ready
+ - bleName
+ - mac
+ - pcaVersion
+ - pcaChecksum
+ - pcaUpdateNeeded
+ WebAutomation:
+ type: object
+ description: Web Automation Object
+ properties:
+ id:
+ type: number
+ description: Unique numerical Automation identifier
+ example: 33
+ type:
+ type: number
+ description: |
+ Time-base for the automation
+ * 0 = Clock-based
+ * 2 = Before sunrise
+ * 6 = Before sunset
+ * 10 = After sunrise
+ * 14 = After sunset
+ example: 6
+ enabled:
+ type: boolean
+ description: True indicates the Automation is enabled
+ example: true
+ days:
+ type: number
+ description: |
+ Bitmask of days when the automation is to run
+ * 0x00 = Reserved
+ * 0x01 = Monday
+ * 0x02 = Tuesday
+ * 0x04 = Wednesday
+ * 0x08 = Thursay
+ * 0x10 = Friday
+ * 0x20 = Saturday
+ * 0x40 = Sunday
+ * 0x80 = Reserved
+ example: 24 (i.e., 0x18, which is Thursday and Friday)
+ hour:
+ type: number
+ description: |
+ For clock-based automations, the 'hour' field is the
+ exact hour the automation will occur. For sunrise & sunset
+ based automations, the 'hour' field is the hour offset
+ before/after a sunrise/sunset automation is to run.
+ example: 4
+ min:
+ type: number
+ description: |
+ For clock-based automations, the 'min' field is the
+ exact min the automation will occur. For sunrise & sunset
+ based automations, the 'min' field is the minutes offset
+ before/after a sunrise/sunset automation is to run.
+ example: 5
+ bleId:
+ type: number
+ description: The automation ID stored on the Shade itself.
+ example: 83
+ sceneId:
+ type: number
+ description: >-
+ The unique numerical Scene identifier associated with this
+ Automation
+ example: 116
+ errorShd_Ids:
+ type: array
+ description: >-
+ The Shade list where the Automation was unsuccessfully
+ provisioned. The value can be null
+ example: null
+ items:
+ type: number
+ description: The failing Shade identifier
+ example: 55
+ required:
+ - id
+ - type
+ - enabled
+ - days
+ - hour
+ - min
+ - bleId
+ - sceneId
+ WebHomeDoc:
+ type: object
+ properties:
+ id:
+ type: string
+ _schemaVersion:
+ type: number
+ owner:
+ type: string
+ users?:
+ type: array
+ items:
+ type: string
+ modApp:
+ type: string
+ modDate:
+ type: string
+ home:
+ properties:
+ name:
+ title: Home.name
+ type: string
+ autosEnabled:
+ title: Home.autosEnabled
+ description: Are automations enabled globally
+ type: boolean
+ key:
+ title: Home.key
+ type: string
+ loc:
+ title: Home.loc
+ power:
+ title: Home.power
+ type: number
+ tz:
+ title: Home.tz
+ description: TimeZone - available in v24+
+ type: string
+ required:
+ - name
+ - autosEnabled
+ additionalProperties: false
+ title: Home
+ type: object
+ rooms:
+ type: array
+ items:
+ type: object
+ properties:
+ id:
+ type: string
+ _id:
+ type: number
+ type:
+ type: number
+ name:
+ type: string
+ icon:
+ type: string
+ color:
+ type: string
+ shades:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter Douglas use
+ only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In
+ PowerView Gen 3,
+
+ there are over 20 different types of Hunter Douglas
+ Shades available.
+
+ These Shade have a variety of different motion
+ capabilities. While each
+
+ Shade has its own set of unique properties, all can be
+ represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from the
+ bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate
+ independently - the
+
+ front shade must be down before the rear shade can
+ deploy. In other cases,
+
+ they are independent with two motors and two tubes.
+ Where they are
+
+ dependent, the shade firmware will force the appropriate
+ front shade
+
+ position when the rear shade is controlled - there is no
+ need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up shade
+ that also tilts plus a rear blackout (non-tilting)
+ shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary
+ rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ scenes:
+ type: array
+ items:
+ properties:
+ id:
+ title: Scene.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Scene._id
+ type: number
+ name:
+ title: Scene.name
+ type: string
+ icon:
+ title: Scene.icon
+ type: string
+ color:
+ title: Scene.color
+ type: string
+ bleId:
+ title: Scene.bleId
+ type: number
+ modDate:
+ title: Scene.modDate
+ type: string
+ roomId:
+ title: Scene.roomId
+ description: '@deprecated in v23'
+ type: string
+ room_Id:
+ title: Scene.room_Id
+ type: number
+ members:
+ items:
+ properties:
+ id:
+ title: SceneMember.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: SceneMember._id
+ type: number
+ pos:
+ title: SceneMember.pos
+ properties:
+ pos1:
+ title: ShadePosition.pos1
+ type: number
+ pos2:
+ title: ShadePosition.pos2
+ type: number
+ pos3:
+ title: ShadePosition.pos3
+ type: number
+ tilt:
+ title: ShadePosition.tilt
+ type: number
+ vel:
+ title: ShadePosition.vel
+ type: number
+ required:
+ - pos1
+ - pos2
+ - pos3
+ - tilt
+ - vel
+ additionalProperties: false
+ type: object
+ shdId:
+ title: SceneMember.shdId
+ description: '@deprecated in v23'
+ type: string
+ shd_Id:
+ title: SceneMember.shd_Id
+ type: number
+ required:
+ - id
+ - _id
+ - pos
+ - shdId
+ - shd_Id
+ additionalProperties: false
+ title: SceneMember
+ type: object
+ title: Scene.members
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - icon
+ - color
+ - bleId
+ - modDate
+ additionalProperties: false
+ title: Scene
+ type: object
+ automations:
+ type: array
+ items:
+ properties:
+ id:
+ title: Automation.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Automation._id
+ type: number
+ type:
+ title: Automation.type
+ type: number
+ enabled:
+ title: Automation.enabled
+ type: boolean
+ days:
+ title: Automation.days
+ type: number
+ hour:
+ title: Automation.hour
+ type: number
+ min:
+ title: Automation.min
+ type: number
+ bleId:
+ title: Automation.bleId
+ type: number
+ sceneId:
+ title: Automation.sceneId
+ description: '@deprecated in v23'
+ type: string
+ scene_Id:
+ title: Automation.scene_Id
+ type: number
+ errorShdIds:
+ items:
+ type: string
+ title: Automation.errorShdIds
+ description: '@deprecated in v23'
+ type: array
+ errorShd_Ids:
+ items:
+ type: number
+ title: Automation.errorShd_Ids
+ type: array
+ required:
+ - id
+ - _id
+ - type
+ - enabled
+ - days
+ - hour
+ - min
+ - bleId
+ - sceneId
+ - scene_Id
+ - errorShdIds
+ - errorShd_Ids
+ additionalProperties: false
+ title: Automation
+ type: object
+ remotes?:
+ type: array
+ items:
+ properties:
+ id:
+ title: Remote.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Remote._id
+ type: number
+ name:
+ title: Remote.name
+ type: string
+ v:
+ title: Remote.v
+ type: number
+ mac:
+ title: Remote.mac
+ type: string
+ bleName:
+ title: Remote.bleName
+ type: string
+ members:
+ items:
+ properties:
+ id:
+ title: RemoteMember.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: RemoteMember._id
+ type: number
+ group:
+ title: RemoteMember.group
+ type: number
+ shdId:
+ title: RemoteMember.shdId
+ description: '@deprecated in v23'
+ type: string
+ shd_Id:
+ title: RemoteMember.shd_Id
+ type: number
+ required:
+ - id
+ - _id
+ - group
+ - shdId
+ - shd_Id
+ additionalProperties: false
+ title: RemoteMember
+ type: object
+ title: Remote.members
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - v
+ - mac
+ - bleName
+ additionalProperties: false
+ title: Remote
+ type: object
+ gateways:
+ type: array
+ items:
+ properties:
+ id:
+ title: Gateway.id
+ description: '@deprecated in v23'
+ type: string
+ _id:
+ title: Gateway._id
+ type: number
+ name:
+ title: Gateway.name
+ type: string
+ v:
+ title: Gateway.v
+ type: string
+ radio1V:
+ title: Gateway.radio1V
+ type: string
+ radio2V:
+ title: Gateway.radio2V
+ type: string
+ serial:
+ title: Gateway.serial
+ type: string
+ aux:
+ title: Gateway.aux
+ type: boolean
+ ip:
+ title: Gateway.ip
+ type: string
+ ssid:
+ title: Gateway.ssid
+ type: string
+ shdIds:
+ items:
+ type: string
+ title: Gateway.shdIds
+ description: '@deprecated in v23'
+ type: array
+ shd_Ids:
+ items:
+ type: number
+ title: Gateway.shd_Ids
+ type: array
+ required:
+ - id
+ - _id
+ - name
+ - v
+ - radio1V
+ - radio2V
+ - serial
+ - ip
+ - ssid
+ additionalProperties: false
+ title: Gateway
+ type: object
+ WebRoom:
+ type: object
+ description: Room information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Room identifier
+ example: 674
+ name:
+ type: string
+ description: Base64 encoded Room name
+ example: T2ZmaWNlCg==
+ ptName:
+ type: string
+ description: Room name
+ example: Office
+ color:
+ type: string
+ description: |
+ Unique identifier for a Room color from HomeDoc Room object
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Room object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ type:
+ type: number
+ description: Room type enumeration value
+ example: 3
+ shades:
+ type: array
+ description: Optional list of Shades in a Room, which can be an empty list
+ example: []
+ items:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: >-
+ Hunter Douglas unique 'App Index' for Hunter Douglas use
+ only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In
+ PowerView Gen 3,
+
+ there are over 20 different types of Hunter Douglas Shades
+ available.
+
+ These Shade have a variety of different motion capabilities.
+ While each
+
+ Shade has its own set of unique properties, all can be
+ represented by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from the
+ bottom or from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate
+ independently - the
+
+ front shade must be down before the rear shade can deploy.
+ In other cases,
+
+ they are independent with two motors and two tubes. Where
+ they are
+
+ dependent, the shade firmware will force the appropriate
+ front shade
+
+ position when the rear shade is controlled - there is no
+ need for the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up shade that
+ also tilts plus a rear blackout (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open position of the secondary
+ rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ fully closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the
+ Shade operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - type
+ WebScene:
+ type: object
+ description: Scene information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Scene identifier
+ example: 234
+ name:
+ type: string
+ description: Base64 encoded Scene name
+ example: T3BlbiBBbGwgT2ZmaWNlIFNoYWRlcwo=
+ ptName:
+ type: string
+ description: The Scene name
+ example: Open All Office Shades
+ color:
+ type: string
+ description: |
+ Unique identifier for a Scene color from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 37
+ icon:
+ type: string
+ description: |
+ Unique identifier for a icon from HomeDoc Scene object
+
+ Note: The numeric value is supplied as a string
+ example: 669
+ networkNumber:
+ type: number
+ description: Numerical network identifier
+ example: 7383
+ roomIds:
+ type: array
+ description: >-
+ List of unique numerical Room identifiers associated with this
+ Scene
+ example:
+ - 55
+ - 66
+ items:
+ type: number
+ required:
+ - id
+ - name
+ - ptName
+ - color
+ - icon
+ - networkNumber
+ - roomIds
+ WebShade:
+ type: object
+ description: Shade information
+ properties:
+ id:
+ type: number
+ description: Unique numerical Shade identifier
+ example: 789
+ type:
+ type: number
+ description: Hunter Douglas unique 'App Index' for Hunter Douglas use only
+ example: 23
+ name:
+ type: string
+ description: Base64 encoded Shade name
+ example: Q2VudGVyCg==
+ ptName:
+ type: string
+ description: Shade label
+ example: Center
+ capabilities:
+ type: number
+ description: >
+ Describes the Hunter Douglas Shade's capabilities. In PowerView
+ Gen 3,
+
+ there are over 20 different types of Hunter Douglas Shades
+ available.
+
+ These Shade have a variety of different motion capabilities. While
+ each
+
+ Shade has its own set of unique properties, all can be represented
+ by the following
+
+ motion type capabilities:
+
+
+ * Type 0 - Bottom Up
+ * Examples: Standard roller/screen shades, Duette bottom up
+ * Uses the “primary” control type
+
+ * Type 1 - Bottom Up w/ 90° Tilt
+ * Examples: Silhouette, Pirouette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 2 - Bottom Up w/ 180° Tilt
+ * Example: Silhouette Halo
+ * Uses the “primary” and “tilt” control types
+
+ * Type 3 - Vertical (Traversing)
+ * Examples: Skyline, Duette Vertiglide, Design Studio Drapery
+ * Uses the “primary” control type
+
+ * Type 4 - Vertical (Traversing) w/ 180° Tilt
+ * Example: Luminette
+ * Uses the “primary” and “tilt” control types
+
+ * Type 5 - Tilt Only 180°
+ * Examples: Palm Beach Shutters, Parkland Wood Blinds
+ * Uses the “tilt” control type
+
+ * Type 6 - Top Down
+ * Example: Duette Top Down
+ * Uses the “primary” control type
+
+ * Type 7 - Top-Down/Bottom-Up (can open either from the bottom or
+ from the top)
+ * Examples: Duette TDBU, Vignette TDBU
+ * Uses the “primary” and “secondary” control types
+
+ * Type 8 - Duolite (front and rear shades)
+ * Examples: Roller Duolite, Vignette Duolite, Dual Roller
+ * Uses the “primary” and “secondary” control types
+ * Note: In some cases the front and rear shades are controlled by a single
+ motor and are on a single tube so they cannot operate
+ independently - the
+
+ front shade must be down before the rear shade can deploy. In
+ other cases,
+
+ they are independent with two motors and two tubes. Where they are
+
+ dependent, the shade firmware will force the appropriate front
+ shade
+
+ position when the rear shade is controlled - there is no need for
+ the
+
+ control system to take this into account.
+
+
+ * Type 9 - Duolite with 90° Tilt (front bottom up shade that also
+ tilts plus a rear blackout (non-tilting) shade)
+ * Example: Silhouette Duolite, Silhouette Adeux
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ * Note: Like with Type 8, these can be either dependent or independent.
+
+ * Type 10 - Duolite with 180° Tilt
+ * Example: Silhouette Halo Duolite
+ * Uses the “primary,” “secondary,” and “tilt” control types
+ example: 0
+ powerType:
+ description: |
+ Identifies the Shade power source
+
+ * 0 = Battery
+ * 1 = Hardwired
+ * 2 = Rechargeable
+ type: number
+ example: wand
+ batteryStatus:
+ description: Approximate gauge of remaining Shade battery power
+ type: integer
+ minimum: 0
+ maximum: 3
+ example: 2
+ roomId:
+ type: number
+ description: Unique numerical identifier for a particular Room
+ example: 6833
+ signalStrength:
+ type: number
+ description: Shade's average RSSI value
+ example: -55
+ bleName:
+ type: string
+ description: Shade name
+ example: PIR:5933
+ firmware:
+ type: object
+ description: Shade firmware version
+ properties:
+ revision:
+ type: number
+ description: Firmware major number
+ example: 3
+ subRevision:
+ type: number
+ description: Firmware minor number
+ example: 0
+ build:
+ type: number
+ description: Firmware build number
+ example: 309
+ positions:
+ type: object
+ description: Current Shade position values
+ properties:
+ primary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open position of the primary rail
+ example: 0.99
+ secondary:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open position of the secondary rail
+ example: 0.99
+ tilt:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the fully
+ closed to fully open tilt position
+ example: 0
+ velocity:
+ type: number
+ description: >-
+ Decimal number between 0.0 and 1.0 representing the Shade
+ operation speed
+ example: 0.5
+ required:
+ - id
+ - type
+ - name
+ - ptName
+ - capabilities
+ - powerType
+ - batteryStatus
+ - roomId
+ - bleName
+ WiFiScanEntry:
+ type: object
+ description: Wireless network scan entry
+ properties:
+ ssid:
+ type: string
+ description: Wireless network name
+ example: HunterDouglasWiFi
+ rssi:
+ type: string
+ description: Wireless network RSSI value
+ example: '-81'
+ required:
+ - ssid
+ - rssi
+ x-descriptions:
+ shadeListQuery: >-
+ The list of Shades is specified by either of the "ids" or "shades"
+ parameters. Only one of these should and must be utilized.
+
+ - The ``ids`` parameter accepts a list of numerical shade identifiers.
+ - The ``shades`` parameter accepts a list of strings like ``PIR:6521``
+ shadeListQuerySpsTest: >-
+ The list of Shades is specified by one of the following: "coordinates",
+ "ids", or "shades" parameters. Only one of these should and must be
+ utilized.
+
+ - The ``coordinates`` parameter accepts a comma seperated list of channel:slot coordinates like ``1:0``
+ - The ``ids`` parameter accepts a list of numerical shade identifiers.
+ - The ``shades`` parameter accepts a list of strings like ``PIR:6521``
+customOptions: {}