Difference between revisions of "API"

From Larnitech wiki page
Jump to navigation Jump to search
(Marked this version for translation)
 
Line 1: Line 1:
 
<languages/>
 
<languages/>
 
<translate>
 
<translate>
 +
<!--T:1-->
 
API works through HTTP GET request, so you can work with your Larnitech server from browser, just sending requests from address string.
 
API works through HTTP GET request, so you can work with your Larnitech server from browser, just sending requests from address string.
 
Request:
 
Request:
Line 28: Line 29:
 
Examples of requests and responses:
 
Examples of requests and responses:
  
 +
<!--T:2-->
 
<syntaxhighlight lang="json" line>
 
<syntaxhighlight lang="json" line>
 
request:
 
request:

Latest revision as of 15:11, 15 January 2022

Other languages:
English • ‎русский

API works through HTTP GET request, so you can work with your Larnitech server from browser, just sending requests from address string. Request:

1http://IPADDR:PORT/JSON_REQUEST

Where: IPADDR – ip address of your metaforsa or DE-MG; PORT – port for API plugin (you can get it from LT Setup=>Plugins=>API=>Configure button); JSON_REQUEST – request to server in json format. Fields of JSON_REQUEST:

  • "requestType" - Type of request:
    • “getDevicesList” – request for getting the list of all devices;
    • “getDeviceStatus” – request for getting device status;
    • “setDeviceStatus” – request for setting device status;
    • “setDeviceStatusRaw” – request for setting device status (status in hex format);
    • “getAllDevicesStatus” – request for getting all devices status.
  • “key” – key for API plugin (you can get it from LT Setup=>Plugins=>API=>Configure button).
  • “addr” – address of device.
  • “status” – status of device.

Examples of requests and responses:

 1request:
 2{"requestType":"getDevicesList","key":"0000000000000000"}
 3 
 4response:
 5{
 6    "requestType":"devicesList",
 7    "devices": [
 8        {
 9            "type": "lamp",
10            "name": "Ceiling",
11            "addr":"401:1"
12        },
13                       
14        {
15            "type": "conditioner",
16            "name": "AC",
17            "addr":"158:200",
18            "t-min":"16",
19            "t-delta":"16"
20        }
21 
22        ]
23}
24 
25request:
26{"requestType":"getDeviceStatus","addr":"310:1","key":"0000000000000000"}
27response:
28{
29   "requestType" : "deviceStatus",
30   "status" : {
31      "addr" : "310:1",
32      "state" : "middle",
33      "type" : "jalousie"
34   }
35}
36 
37request:
38{"requestType":"setDeviceStatus","addr":"310:1","key":"0000000000000000","status":{"state": "on"}}
39 
40response:
41{
42  "requestType":"setDeviceStatus",
43  "addr":"410:1",
44  "status":{
45    "state": "on"
46  }
47   
48}
49 
50request:
51{"requestType":"getAllDevicesStatus","key":"0000000000000000"}
52 
53response:
54{
55    "requestType":"allDevicesStatus",
56    "statuses": [
57      {
58        "addr":"401:1",
59        "state": "off",
60      },
61       
62      {
63        "addr":"158:200",
64        "state": "on",
65        "temp":"25",
66        "mode":"cool",
67        "fan":"low",
68        "vane-ver":"1",
69        "vane-hor":"4"
70      }  
71        ]
72}
73 
74request:
75{"requestType":"setDeviceStatusRaw","addr":"310:1","key":"0","status":{"state":"ff00"}}
76 
77response:
78{
79   "addr" : "310:1",
80   "key" : "0",
81   "requestType" : "setDeviceStatusRaw",
82   "status" : {
83      "state" : "ff00"
84}