A downloadable version of this document is available here.
The purpose of this document is to illustrate how to integrate third party systems with Thinknx servers and its functionalities. Integration can be on different levels depending on the structure of the plant, required system reliability and internet connection availability. Here follows the possible integration scenarios:
On the lowest level, the communication between the systems is based on a set of commands based on Representational State Transfer (RESTful API).
After the final commissioning, depending on the kind of plants and integrated devices, all the functionalities created for the end user can be also used by third party services through Thinknx Integration Kit API. It is possible to distinguish several main devices that can be controlled that are the same of the UI elements available from Thinknx Configurator
In addition to these UI objects it is also possible to send command directly to the system and interact with KNX bus without any UI layer. Devices are available only after the creation of the project and its deployment on the server. Each device is identified by a unique identifier (GUID) that can either been read from Configurator or from the dedicated server web page (Server→Integration Kit). When you sending content to or making a request to the API, the response will be returned in JSON. JSON is an open standard data format that is lightweight and human-readable, and looks like Objects do in JavaScript; hence the name.
All API access is over HTTP or HTTPS as better specified on the following chapters. HTTP requests will be redirected to HTTPS when possible. HTTP returns code are used to notify a successful request or errors. Possible error status codes are:
For sake of simplicity, all the calls are performed using GET requests. Also POST requests can be used instead of GET if needed. In this last case use “Content-Type: application/x-www-form-urlencoded” in header to grant maximum compatibility.
The communication between third party service and the server is direct and don’t require any internet connection. The third party app can directly authenticate with Thinknx server. By appending &auth=basic or &auth=digest to the API request as seen in the example below, the Authentication can be Simple Auth or Digest Auth. The server will respond to its IP at port 5051. All the API calls have the following form:
http://username:password@server_IP:5051/api/V1/controller?param1=value1¶m2=value2&auth=digest
In case the proposed url scheme doesn't work for your integration, you can use the following syntax:
http://server_IP:5051/api/V1/controller?param1=value1¶m2=value2&auth=basic&user=service&pass=password
Please note that in this case server will respond only to plain http requests (no https).
Thinknx servers are connected through internet to Thinknx Cloud service. Thinknx Cloud service permits to access to the servers independently from the network structure and to remotely control them. Each Thinknx server is identified by its own serial number and by a so called “Integration Kit” key. This key is an alphanumerical code that will be used to route the calls from the Cloud server to the correspondent Thinknx server. The key need to be enabled and generated from the Thinknx server web pages under “Server” tab, “Thinknx Cloud” page. Click on “Enable Integration Kit”.
Enable Integration Kit Key
Key permits to directly connect to the server without additional authentication; for this reason it should be kept secret and these precautions should be taken into account while writing code or using cloud based integration:
All the API calls used over cloud have the following form:
https://data.thinknx.eu/KEY/api/V1/controller?param1=value1¶m2=value2
HTTP calls will be redirect to HTTPS.
This type of integration is relevant when there is the need to maintains services operational even without internet connection and when it is also important to have contemporary multiple server access. In this case, all the Thinknx Cloud service software can be transferred into a local machine installed on premise. Thinknx servers will connect to this local machine and also third party service will connect to this machine using the methods described into the Cloud Based Integration.
Each device type has its own capabilities that can be operated using the API. Not all capabilities are available to all the devices. Here the list of available capabilities:
From Thinknx server webpages inside “Server” tab, page “Integration Kit” it is possible to see the entire tree of the project running on the server. Going to the desired object to be controlled is possible to see the supported commands, to simulate them or to copy the URL to be able to send the command remotely.
Project tree with API description
Thinknx Service can provide events to the third party service thanks to REST hooks. The third party system can define HTTP callbacks to be triggered by predefined events occurring on the devices. HTTP callbacks can be connected to the entire server, a single device or event a device controller.
Here follows the list of the API URLs for each device type and its controllers.
Description | Set the status On or Off for a defined switch object |
---|---|
URL | api/v1/power |
URL Params |
guid=device_identifier
cmd=[0 or 1]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “power”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “power”, “guid”: [device_identifier], “status” : [0 or 1], “comm_obj” : [obj_num] } “status” variable value represent actual power status (0=OFF / 1=ON) |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/power?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1&fb |
Description | Get the status On or Off for a defined switch object |
---|---|
URL | api/v1/powerstatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “powerstatus”, “guid”: [device_identifier], “status” : [0 or 1], “comm_obj” : [obj_num] } “status” variable value represent actual power status (0=OFF / 1=ON) |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/powerstatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Set the power level for a defined switch dimmable object |
---|---|
URL | api/v1/powerlevel |
URL Params |
guid=device_identifier
cmd=[0 to 100]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “powerlevel”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “powerlevel”, “guid”: [device_identifier], “status” : [0 to 100], “comm_obj” : [obj_num] } “status” variable value represent actual power level in percentage |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/powerlevel?guid=1IzPszHWAEuvzxtXBMkzWQ&&cmd=50&fb |
Description | Get the status of power level for a defined dimmable switch object |
---|---|
URL | api/v1/powerlevelstatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “powerlevelstatus”, “guid”: [device_identifier], “status” : [0 to 100], “comm_obj” : [obj_num] } “status” variable value represent actual power level in percentage |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/powerlevelstatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Move up, down a defined blind or curtain |
---|---|
URL | api/v1/updown |
URL Params |
guid=device_identifier
cmd=[0 or 1] |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “updown”, “guid”: [device_identifier], “comm_obj” : [obj_num] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/updown?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1 |
Description | Stop the movement of a defined blind or curtain |
---|---|
URL | api/v1/stop |
URL Params |
guid=device_identifier
cmd=1 |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “stop”, “guid”: [device_identifier], “comm_obj” : [obj_num] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/stop?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1 |
Description | Set the height/position of a defined blind or curtain |
---|---|
URL | api/v1/heightlevel |
URL Params |
guid=device_identifier
val=[0 to 100]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “heightlevel”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “heightlevel”, “guid”: [device_identifier], “status” : [0 to 100], “comm_obj” : [obj_num] } “status” variable value represent actual height/position in percentage |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/heightlevel?guid=1IzPszHWAEuvzxtXBMkzWQ&&val=50&fb |
Description | Get the height/position of a defined blind or curtain |
---|---|
URL | api/v1/heightlevelstatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “heightlevelstatus”, “guid”: [device_identifier], “status” : [0 to 100], “comm_obj” : [obj_num] } “status” variable value represent actual height/position in percentage |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/heightlevelstatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Step clockwise or counter-clockwise lamellas of a defined blind |
---|---|
URL | api/v1/blindstep |
URL Params |
guid=device_identifier
cmd=[0 or 1] |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “blindstep”, “guid”: [device_identifier], “comm_obj” : [obj_num] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/blindstep?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1 |
Description | Set the angle for the lamellas of a defined blind |
---|---|
URL | api/v1/blindangle |
URL Params |
guid=device_identifier
cmd=[0 to 100]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “blindangle”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “blindangle”, “guid”: [device_identifier], “status” : [0 to 100], “comm_obj” : [obj_num] } “status” variable value represent actual angle in percentage |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/blindangle?guid=1IzPszHWAEuvzxtXBMkzWQ&&cmd=50&fb |
Description | Get the angle for the lamellas of a defined blind |
---|---|
URL | api/v1/blindanglestatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “blindanglestatus”, “guid”: [device_identifier], “status” : [0 to 100], “comm_obj” : [obj_num] } “status” variable value represent actual angle in percentage |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/blindanglestatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Set the desired value for a defined “analog value” device |
---|---|
URL | api/v1/setvalue |
URL Params |
guid=device_identifier
cmd=[new_value]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “setvalue”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “setvalue”, “guid”: [device_identifier], “status” : [actual_value], “comm_obj” : [obj_num] } “status” variable value represent actual value |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/setvalue?guid=1IzPszHWAEuvzxtXBMkzWQ&&cmd=85.325&fb |
Description | Get the actual value for a defined “analog value” device |
---|---|
URL | api/v1/getvalue |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “getvalue”, “guid”: [device_identifier], “status” : [actual_value], “comm_obj” : [obj_num] } “status” variable value represent actual value |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/getvalue?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Get the actual measured temperature for a defined thermostat |
---|---|
URL | api/v1/actualtemp |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “actualtemp”, “guid”: [device_identifier], “status” : [actual_temperature], “comm_obj” : [obj_num] } “status” variable value represent actual temperature |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/actualtemp?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Set the desired setpoint temperature for a thermostat |
---|---|
URL | api/v1/setpoint |
URL Params |
guid=device_identifier
cmd=[new_setpoint]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “setpoint”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “setpoint”, “guid”: [device_identifier], “status” : [actual_setpoint], “comm_obj” : [obj_num] } “status” variable value represent actual setpoint |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/setpoint?guid=1IzPszHWAEuvzxtXBMkzWQ&&cmd=20.5&fb |
Description | Get the actual setpoint temperature for a thermostat |
---|---|
URL | api/v1/setpointstatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “setpointstatus”, “guid”: [device_identifier], “status” : [actual_setpoint], “comm_obj” : [obj_num] } “status” variable value represent actual setpoint |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/setpointstatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Set the desired modality for a thermostat |
---|---|
URL | api/v1/tempmode |
URL Params |
guid=device_identifier
cmd=[new_mode]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “tempmode”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “tempmode”, “guid”: [device_identifier], “status” : [actual_mode], “comm_obj” : [obj_num] } “status” variable values meaning are same as the ones of the request |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/tempmode?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1&fb |
Description | Get the actual modality for a thermostat |
---|---|
URL | api/v1/tempmodestatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “tempmodestatus”, “guid”: [device_identifier], “status” : [actual_mode], “comm_obj” : [obj_num] }
“status” variable values will be as follow: |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/tempmodestatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Enable/Disable the chronoscheduling for a defined thermostat |
---|---|
URL | api/v1/chronoen |
URL Params |
guid=device_identifier
cmd=[0 or 1]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “chronoen”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “chronoen”, “guid”: [device_identifier], “status” : [0 or 1], “comm_obj” : [obj_num] } “status” variable value represent actual chronoscheduling enable status (0=Disabled / 1=Enabled) |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/chronoen?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1&fb |
Description | Get the status of chronoscheduling for a defined thermostat |
---|---|
URL | api/v1/chronoenstatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “chronoenstatus”, “guid”: [device_identifier], “status” : [0 or 1], “comm_obj” : [obj_num] }
“status” variable value represent actual chronoscheduling enable status (0=Disabled / 1=Enabled) |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/chronoenstatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Set the desired power state for a defined HVAC device |
---|---|
URL | api/v1/hvacpower |
URL Params |
guid=device_identifier
cmd=[0 or 1]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “hvacpower”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “hvacpower”, “guid”: [device_identifier], “status” : [0 or 1], “comm_obj” : [obj_num] } “status” variable value represent actual power status for the device (0=OFF / 1=ON) |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/hvacpower?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1&fb |
Description | Get the actual power state for a defined HVAC device |
---|---|
URL | api/v1/hvacpowerstatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “hvacpowerstatus”, “guid”: [device_identifier], “status” : [0 or 1], “comm_obj” : [obj_num] }
“status” variable value represent actual power status for the device (0=OFF / 1=ON) |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/hvacpowerstatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Set the desired setpoint temperature for a defined HVAC device |
---|---|
URL | api/v1/hvacsetpoint |
URL Params |
guid=device_identifier
cmd=[new_setpoint]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “hvacsetpoint”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “hvacsetpoint”, “guid”: [device_identifier], “status” : [actual_setpoint], “comm_obj” : [obj_num] } “status” variable value represent actual setpoint |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/hvacsetpoint?guid=1IzPszHWAEuvzxtXBMkzWQ&&cmd=20.5&fb |
Description | Get the actual setpoint temperature for a defined HVAC device |
---|---|
URL | api/v1/hvacsetpointstatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “hvacsetpointstatus”, “guid”: [device_identifier], “status” : [actual_setpoint], “comm_obj” : [obj_num] } “status” variable value represent actual setpoint |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/hvacsetpointstatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Set the desired modality for a defined HVAC device |
---|---|
URL | api/v1/hvacmode |
URL Params |
guid=device_identifier
cmd=[new_mode]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “hvacmode”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “hvacmode”, “guid”: [device_identifier], “status” : [actual_mode], “comm_obj” : [obj_num] } “status” variable values meaning are same as the ones of the request |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/hvacmode?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1&fb |
Description | Get the actual modality for a defined HVAC device |
---|---|
URL | api/v1/hvacmodestatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “hvacmodestatus”, “guid”: [device_identifier], “status” : [actual_mode], “comm_obj” : [obj_num] }
“status” variable values will be as follow: |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/hvacmodestatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Set the desired fan speed for a defined HVAC device |
---|---|
URL | api/v1/hvacfan |
URL Params |
guid=device_identifier
cmd=[new_speed]
Optional parameter for set: |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “hvacfan”, “guid”: [device_identifier], “comm_obj” : [obj_num] } In case of feedback request (fb parameter present) { “namespace” : “hvacfan”, “guid”: [device_identifier], “status” : [actual_speed], “comm_obj” : [obj_num] } “status” variable values meaning are same as the ones of the request |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/hvacfan?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=2&fb |
Description | Get the actual fan speed for a defined HVAC device |
---|---|
URL | api/v1/hvacfanstatus |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “hvacfanstatus”, “guid”: [device_identifier], “status” : [actual_speed], “comm_obj” : [obj_num] }
“status” variable values will be as follow: |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/hvacfanstatus?guid=1IzPszHWAEuvzxtXBMkzWQ |
Description | Launch or stop the execution of a defined scene |
---|---|
URL | api/v1/scenelaunch |
URL Params |
guid=device_identifier
cmd=[0 or 1] Attention: A running scene is a scene with operations that are not executed instantly (e.g. pauses between single operations). Scenes don’t have a state (on or off) but are intended just as a macro i.e. a list of operations to perform. |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “scenelaunch”, “guid”: [device_identifier], “comm_obj” : [obj_num] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/scenelaunch?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1 |
Description | Trigger the operation associated to a defined generic button |
---|---|
URL | api/v1/trigger |
URL Params |
guid=device_identifier |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “trigger”, “guid”: [device_identifier], “comm_obj” : [obj_num] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/trigger?guid=1IzPszHWAEuvzxtXBMkzWQ&cmd=1 |
Description | Set a KNX telegram with datatype DPT1 (bit) |
---|---|
URL | api/v1/system/sendKNXbit |
URL Params |
group=[KNX_group_address]
value=[0 or 1] |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “system/sendKNXbit”, “group”: [KNX_group_address], “value” : [value_sent] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/system/sendKNXbit?group=1/0/1&value=0 |
Description | Set a KNX telegram with datatype DPT3 / DPT2 (4 bits) |
---|---|
URL | api/v1/system/sendKNX4bits |
URL Params |
group=[KNX_group_address]
value=[0 to 31] |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “system/sendKNX4bits”, “group”: [KNX_group_address], “value” : [value_sent] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/system/sendKNX4bits?group=1/0/1&value=30 |
Description | Set a KNX telegram with datatype DPT5 (1 byte unsigned) |
---|---|
URL | api/v1/system/sendKNXbyte |
URL Params |
group=[KNX_group_address]
value=[0 to 255] |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “system/sendKNXbyte”, “group”: [KNX_group_address], “value” : [value_sent] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/system/sendKNXbyte?group=1/0/1&value=30 |
Description | Set a KNX telegram with datatype DPT6 (1 byte signed) |
---|---|
URL | api/v1/system/sendKNXbyteun |
URL Params |
group=[KNX_group_address]
value=[-128 to 127] |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “system/sendKNXbyteun”, “group”: [KNX_group_address], “value” : [value_sent] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/system/sendKNXbyteun?group=1/0/1&value=30 |
Description | Set a KNX telegram with datatype DPT9 (2 bytes floating point) |
---|---|
URL | api/v1/system/sendKNXfloat2bytes |
URL Params |
group=[KNX_group_address]
value=[new_value] |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “system/sendKNXfloat2bytes”, “group”: [KNX_group_address], “value” : [value_sent] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/system/sendKNXfloat2bytes?group=1/0/1&value=85.235 |
Description | Set a KNX telegram with datatype DPT14 (4 bytes floating point) |
---|---|
URL | api/v1/system/sendKNXfloat4bytes |
URL Params |
group=[KNX_group_address]
value=[new_value] |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “system/sendKNXfloat4bytes”, “group”: [KNX_group_address], “value” : [value_sent] } |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/system/sendKNXfloat4bytes?group=1/0/1&value=85.235 |
Description | Get the most important information from server |
---|---|
URL | api/v1/system/serverStatus |
URL Params | not required |
Data Params | not required |
Success Response Code | 200 (OK) |
Success Response Content | { “namespace” : “system/serverStatus”, “version”: [software_version], “process_uptime”: [process_uptime], “server_uptime” : [server_uptime] “config_time”: [config_time], “connected_clients”: [connected_clients], “pbx_users”: [connected_pbx_users] }
Where: |
Error Response Code | 400 or 404 |
Error Response Content | { “error” : “device not found”} or { “error” : “params errors” } or { “error” : “impossible to execute”} |
Example | /api/V1/system/serverStatus |