Vicki

Get device data

Request URL:

POST /provider/fetch

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number" : "{Vicki Serial Number}"
}

Response:

{
"provider": {
"mac": "0******6",
"version": 1,
"uptime": "2020-11-24T17:35:20.024Z",
"displayDigits": 23, //digits in range 5-30; to be regarded as Target Temperature
"temperature": 15.4296875, // ambient temperature in celsius
"humidity": 99.609375, // relative ambient humidity in %
"motorRange": 506, // total range of the step motor
"motorPosition": 0, // current position of the step motor
"batteryVoltage": 3,
"ip": "",
"port": 24189,
"openWindow": false, //If open window event was detected and the settings
are currently executed, field “openWindow” will be true;
"childLock": false,
"pendingCommandStatus": {
"statusOfLastDisplayDigitsCommand": "sent",
"statusOfLastMotorPositionCommand": "sent",
"pendingDisplayDigits": null,
"pendingMotorPosition": null,
"lastUnsentToDeviceCommand": null
},
"online": true,
"timeOfRecord": "2020-11-24T17:36:00.905Z"
},
"_links": {
"self": {
"href": "/v1/provider/fetch"
}
}
}

Vicki high priority commands:

Set motor position Only

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "set_motor_position_only",
"position" : 240 // range 0 to motorRange
}

Response:

{
"provider": [],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Set Target Temperature

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "set_motor_position",
"position" : 25 // digits in range 5-30
}

Response:

{
"provider": [],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Set Motor Position and Target Temperature

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "set_mp_and_tt",
"motor_position" : 250, // range 0 to motorRange
"target_temperature": 25 // digits in range 5-30
}

Response:

{
"provider": [],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Set Open Window

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "set_open_window",
"enabled" : true, // true if we want to enable it or false if we want to
disable it
"close_time": 20, //for how long should the device keep the set motor position
after it detected an open window event (example value: 20 (if we want
to have the Vicki at the defined position for 20 minutes));
"motor_position": 300, //the motor position of the device for the specified time
after an open window event was detected
"delta" : 1 // the value of the desired difference in the measured temperature
(degrees in Celsius)
}

Response:

{
"provider": [
254,
5,
0,
0
],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Get Open Window

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "get_open_window"
}

Response:

{
"provider": {
"enabled": true,
"close_time": 20,
"motor_position": 300,
"delta": 1
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Child Lock

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "child_lock",
"enabled" : true, // true if we want to enable it or false if we want to
disable it
}

Response:

{
"provider": [
254,
5,
0,
0
],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Set Min/Max Range

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "set_range",
"min" : 10, // the minimum value* for the device range
"max" : 20 // the maximum value* for the device range
}

*Note that the min/max values should be between 5 and 30!

Response:

{
"provider": [
254,
5,
0,
0
],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Get Min/Max Range

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "get_range"
}

Response:

{
"provider": {
"min": 10,
"max": 20
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Summer Mode

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "summer_mode",
"enabled:" : true
}

Response:

{
"provider": {
"success": true,
"message": "Vicki was succesfully updated."
},
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

More info about summer mode command:

Force Close Vicki

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "force_close_vicki"
}

Response:

{
"provider": [
254,
5,
0,
0
],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}

Set KeepAlive Time

Request URL:

POST /provider/send

Headers:

Content-Type: application/json
Authorization: Bearer {access_token}

Body:

{
"serial_number": “{Vicki Serial Number}”,
"command" : "set_keepalive_time",
"time" : 30 // in seconds
}

Response:

{
"provider": [
254,
5,
0,
0
],
"_links": {
"self": {
"href": "/v1/provider/send"
}
}
}