Documentation

Last updated: April 10, 2023

Getting Started

Owner: The entity who will be utilizing the integration to control the system.
Developer: The entity who will be performing the integration with the Open API. For development purposes, may be the same entity as the owner.

1) The owner must download the Daikin One Home App or Amana Home App and create an account. Then they will need to follow app instructions to add thermostats.

2) The owner must request the Integrator Token by navigating to “cloud services” -> “home integration” -> “get integration token”. The owner must agree to the Integration Token Terms. They will be asked to enter their password to finalize the request. They must follow the instruction on the screen.

3) The developer will need an API Key to begin development. The developer must download the same homeowner app as the owner and create an account and enable the developer menu.

How to enable the developer menu:
iOS: Go to the Settings app -> Navigate to the Daikin One Home or Amana Home App and switch on the developer menu option.
Android: Within the Home App, navigate to "cloud services" -> "home integration" and click on the page description 5 times to enable the developer menu


Once enabled, you will be able to navigate to "cloud services" -> "home integration" -> "developer". Upon entering the developer option, you must agree to the Daikin B2B Terms and Daikin One Open API License Terms. Enter the name of the application being integrated with the Daikin One Open API and submit the request. Follow the instructions on the screen.

** The API Key and Integrator Token should be kept secure.

  • Only TLSv1.2 and newer secure connections are supported.
  • Base URI:
    
    
    
    
    
    https://integrator-api.daikinskyport.com
    
    
    
    

HTTP Requests

  • Requests are made with HTTP GET or PUT methods. HTTP GET is used for requesting thermostat information, and HTTP PUT is used for updating thermostat information.
  • Request headers must specify JSON encoding for content type header and the API key.
    
    
    
    
    
    Content-Type: application/json 
    x-api-key: $INTEGRATOR_API_KEY
  • Request headers must specify authorization header with the exception of using POST /v1/token.
    
    
    
    
    
    Authorization: Bearer $ACCESS_TOKEN
    
    
    
    

End Points

Authentication Token

URL /v1/token
Request HTTP POST
Request Body





{



    email: "string",
integratorToken: "string" }
Response Body







{



    accessToken: "string",
accessTokenExpiresIn: number, tokenType: "Bearer" }

Prior to using the Integrator Cloud API, an end user must provide their email and integratorToken to request the accessToken.

*email is case sensitive

Get Info

Get Thermostat List

URL /v1/devices
Request HTTP GET
Request Body None
Response Body





[

    {

        locationName: "string",

        devices: [

            {

                id: "string",

                name: "string",

                model: "string",

                firmwareVersion: "string"

            }

        ]

    }

]




Get Thermostat List request retrieves the list of locations and thermostats in the account. Each location entry contains the location name and a list of thermostats. Thermostat ID is used to make requests to the other API endpoints.

Get Thermostat Information

URL /v1/devices/<id>
Request HTTP GET
Request Body None
Response Body





{

    equipmentStatus: 0,

    mode: 0,

    modeLimit: 1,

    modeEmHeatAvailable: 0,

    fan: 0,

    fanCirculate: 1,

    fanCirculateSpeed: 1,

    heatSetpoint: 20.5,

    coolSetpoint: 23.5,

    setpointDelta: 2,

    setpointMinimum: 10.0,

    setpointMaximum: 32.3,

    tempIndoor: 21.5,

    humIndoor: 50,

    tempOutdoor: 20.5,

    humOutdoor: 50,

    scheduleEnabled: false,

    geofencingEnabled: false

}




Get Thermostat Information request retrieves the thermostat configuration and state values. This is a light-weight method that can be polled periodically to retrieve the latest thermostat data.

API USAGE LIMITS

  • Please wait a minimum of 15 seconds for successful changes to be reflected
  • Do Not poll at an interval quicker than once every 3 minutes
  • Do Not have more than 3 open HTTP requests at any given time

Update Thermostat

Update Thermostat Mode – Setpoint Settings

URL /v1/devices/<id>/msp
Request HTTP PUT
Request Body





{

    mode: 0,

    heatSetpoint: 20.5,

    coolSetpoint: 23.5

}


Response Body





{

    message: "string"

}




Update Thermostat Mode request changes the thermostat operating mode, heat and cool setpoints. All data fields are required. Heat setpoint needs to be lower than the cool setpoint by setpoint delta, and both setpoints need to be between the minimum and maximum setpoint limits. Successful requests to change mode and setpoints will turn off schedule and away state. VRV systems with master and master controlled setup have additional constraints. Please refer to data definitions for further details.

Update Thermostat Schedule Configuration

URL /v1/devices/<id>/schedule
Request HTTP PUT
Request Body





{

    scheduleEnabled: false

}




Response Body





{

     message: "string"

}




Update Thermostat Schedule Configuration request enables or disables the time period scheduling feature. When schedule feature is enabled, schedule setpoints are observed by the thermostat. Away state takes priority over schedule.

Update Thermostat Fan Settings - Unitary Systems Only

URL /v1/devices/<id>/fan
Request HTTP PUT
Request Body





{

    fanCirculate: 2,

    fanCirculateSpeed: 0

}




Response Body







{

     message: "string"

}




Update Thermostat Fan Settings request sets the fan circulate mode and fan circulation speed. VRV and Mini Split equipment types do not support fan circulation speed. Fan will run maximum speed for unsupported equipment.
* VRV(P1P2) and Single/Multi-Split(S21) equipment types do not support fan circulation mode or fan circulation speed. Fan will run maximum speed.

HTTP Responses

HTTP response codes represent success or failuer of the operation. Status field in the response body contains additional request or response status information.

Following are possible HTTP response codes.

HTTP Response Code Description
HTTP 200 OK - Request succeeded
HTTP 400 Bad request - There was a problem with the request parameters. Check the response body for more details.
HTTP 401 Unauthorized - The accessToken is not valid.
HTTP 403 Forbidden - The integratorApiKey is not valid.
HTTP 415 Unsupported Media Type - The HTTP Header Content-Type is not set to application/json.
HTTP 429 Too Many Requests - Rate of API calls is too high
HTTP 500 Internal error.

Response other than HTTP 200

Response Body







{



    messages: "string"



}




Messages Description
Success Request is sent to the thermostat
NotAuthorizedException Authentication error
Invalid request body Request body has malperformed data
DeviceOfflineException Device is currently offline

Data Definitions

Following properties are used in data exchange between third-party integrator applications and thermostats. Data types and validation is strictly enforced.

Name Type Read Only Description
locationName String Yes Location name
id String Yes Thermostat ID
name String Yes Thermostat name
model String Yes Thermostat model
firmwareVersion String Yes Thermostat firmware version
equipmentStatus Integer Yes HVAC equipment status
1: cool
2: overcool for dehum
3: heat
4: fan
5: idle
modeEmHeatAvailable Integer Yes Emergency heat is available as a system mode
0: not available
1: available
* If available, mode may equal 4 (emergency heat)
mode Integer No Thermostat mode
0: off
1: heat
2: cool
3: auto
4: emergency heat
*Master controlled thermostats must be limited to only use modes 3: auto and 0: off
modeLimit Integer Yes Thermostat mode limits
0: none
1: all
2: heat only
3: cool only
* Only VRV master thermostats should be integrated using Open API
* VRV follower thermostats may be integrated under the mode limit: OFF and AUTO only

fan Integer Yes System fan
0: auto
1: on
*refer to fanCirculate for fan settings
fanCirculate Integer No Run the fan on a schedule
0: off
1: always on
2: on a schedule
* Unitary Only
fanCirculateSpeed Integer No Speed at which fan should run when circulating on a schedule
0: low
1: medium
2: high
* Unitary Only
heatSetpoint Float No Heating threshold for the "Manual" operating mode in 0.1 degree Celsius increments
* Thermostat UI rounds to nearest 0.5 degree increments
coolSetpoint Float No Cooling threshold for the "Manual" operating mode in 0.1 degree Celsius increments
* Thermostat UI rounds to nearest 0.5 degree increments
setpointDelta Float Yes Minimum temperature delta in 0.5 degree Celsius increments
setpointMinimum Float Yes Minimum temperature threshold supported by the system in 0.1 degree Celsius increments
* For VRV Systems: use MAX (setPointMinimum, 17.0)
* For Single/Multi Split Systems: use MAX (setPointMinimum, 18.0)

setpointMaximum Float Yes Maximum temperature threshold supported by the system in 0.1 degree Celsius increments
* For VRV Systems: use MIN (setPointMinimum, 31.0)
* For Single/Multi Split Systems: use MIN (setPointMinimum, 30.0)

tempIndoor Float Yes Current indoor temperature. 0.1 degrees Celsius increments
humIndoor Float Yes Current indoor humidity percentage
tempOutdoor Float Yes Current outdoor temperature. 0.1 degrees Celsius increments
humOutdoor Float Yes Current outdoor humidity in percentage
scheduleEnabled Boolean No Enable schedule operation