IntelliGrow: Devices
The devices resources lets you access the data from your devices on demand and in JSON format.
Resources
GET /intelligrow/devices
GET /intelligrow/devices/config
PUT /intelligrow/devices/config
GET /intelligrow/devices/history
GET /intelligrow/devices/metrics
PUT /intelligrow/devices/reminder
GET /intelligrow/devices/schedule
PUT /intelligrow/devices/schedule
GET /intelligrow/devices/state
PUT /intelligrow/devices/state
List all devices
GET /intelligrow/devices
Request a list of all your Intelligrow devices
Request Headers
Content-Type: application/json
Authorization: <token>
Parameters
username: "string"
Example Request
curl https://api.autogrow.com/v1/intelligrow/devices?username=<username>
HTTP/1.1 200 OK
Response Object
{
"devices": [
{
"device_id": "string",
"device_name": "string",
"device_type": "string",
"checked": 0
}
]
}
Error Response
{
"error_message": "string",
"error_type": "string"
}
Response Codes
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
503 | Service Unavailable |
Retrieve Device Configuration
GET /intelligrow/devices/config
Request your Intelligrow device configuration details. If you wish to modify the config you will need to change the desired values in this structure and feed it back to the PUT endpoint in it's entirety.
Request Headers
Content-Type: application/json
Authorization: <token>
Parameters
device: "string"
Example Request
curl https://api.autogrow.com/v1/intelligrow/devices/config?device=<device_id>
HTTP/1.1 200 OK
Response Object
{
"last_updated": 0,
"units": {
"date_format": "dd/mm/yy",
"temperature": "C",
"ec": "CF"
},
"times": {
"day_start": "string",
"day_end": "string"
},
"functions": {
"nutrients_parts": 0,
"ph_dosing": "none",
"irrigation_mode": "single",
"irrigation_stations": 0,
"separate_pump_output": true,
"use_water": true,
"external_alarm": true,
"day_night_ec": true,
"irrigation_station_1": {
"day_night": true,
"same_time": true,
"during_day_only": true
},
"irrigation_station_2": {
"day_night": true,
"same_time": true,
"during_day_only": true
},
"irrigation_station_3": {
"day_night": true,
"same_time": true,
"during_day_only": true
},
"irrigation_station_4": {
"day_night": true,
"same_time": true,
"during_day_only": true
},
"scheduling": true,
"mute_buzzer": true
},
"advanced": {
"proportinal_dosing": true,
"sequential_dosing": true,
"disable_ec": true,
"disable_ph": true,
"mntn_reminder_freq": "weekly"
},
"general": {
"growroom": "1",
"device_name": "string"
}
}
Error Response
{
"error_message": "string",
"error_type": "string"
}
Response Codes
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
409 | Conflict |
413 | Payload Too Large |
415 | Unsupported Media Type |
429 | Too Many Requests |
500 | Internal Server Error |
Update Device Configuration
PUT /intelligrow/devices/config
Update to your Intelligrow device configuration. The structure given in the request body will
replace the exisiting config, not merge with it. You will need to take the entire structure from
the GET /intelligrow/devices/config
request, modify the fields you wish to have changed and use
that as the request body.
Request Headers
Content-Type: application/json
Authorization: <token>
Request Body
{
"device": "string",
"config": {
"last_updated": 0,
"units": {
"date_format": "dd/mm/yy",
"temperature": "C",
"ec": "CF"
},
"times": {
"day_start": "string",
"day_end": "string"
},
"functions": {
"nutrients_parts": 0,
"ph_dosing": "none",
"irrigation_mode": "single",
"irrigation_stations": 0,
"separate_pump_output": true,
"use_water": true,
"external_alarm": true,
"day_night_ec": true,
"irrigation_station_1": {
"day_night": true,
"same_time": true,
"during_day_only": true
},
"irrigation_station_2": {
"day_night": true,
"same_time": true,
"during_day_only": true
},
"irrigation_station_3": {
"day_night": true,
"same_time": true,
"during_day_only": true
},
"irrigation_station_4": {
"day_night": true,
"same_time": true,
"during_day_only": true
},
"scheduling": true,
"mute_buzzer": true
},
"advanced": {
"proportinal_dosing": true,
"sequential_dosing": true,
"disable_ec": true,
"disable_ph": true,
"mntn_reminder_freq": "weekly"
},
"general": {
"growroom": "1",
"device_name": "string"
}
}
}
Example Request
curl -X PUT https://api.autogrow.com/v1/intelligrow/devices/config
HTTP/1.1 200 OK
Error Response
{
"error_message": "string",
"error_type": "string"
}
Response Codes
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
Retrieve Device History Data
GET /intelligrow/devices/history
Request your Intelligrow device history data
Request Headers
Content-Type: application/json
Authorization: <token>
Parameters
device: "string"
points: "string"
to_date: "string"
from_date: "string"
Example Request
curl https://api.autogrow.com/v1/intelligrow/devices/history?device=<device_id>&points=<points>&to_date=<to_date>&from_date=<from_date>
HTTP/1.1 200 OK
Response Object
{
"device": "string",
"history": [
{
"timestamp": 0,
"metrics": "object",
"status": "object"
}
]
}
Error Response
{
"error_message": "string",
"error_type": "string"
}
Response Codes
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
Retrieve Device Metrics
GET /intelligrow/devices/metrics
Request your Intelligrow device metrics data
Request Headers
Content-Type: application/json
Authorization: <token>
Parameters
device: "string"
Example Request
curl https://api.autogrow.com/v1/intelligrow/devices/metrics?device=<device_id>
HTTP/1.1 200 OK
Response Object (IntelliClimate)
{
"iclimate" : {
"air_temp": "number",
"rh": "number",
"vpd": "number",
"light": "number",
"power_fail": "boolean",
"fail_safe_alarms": "boolean",
"day_night": "string",
"co2": "number",
"enviro_air_temp_1": "number",
"enviro_air_temp_2": "number",
"enviro_co2_1": "number",
"enviro_co2_2": "number",
"enviro_light_1": "number",
"enviro_light_2": "number",
"enviro_rh_1": "number",
"enviro_rh_2": "number",
"intruder_alarm": "number",
"outside_temp_sensor": "number"
}
}
Response Object (IntelliDose)
{
"idose" : {
"ec": "number",
"pH": "number",
"nut_temp": "number"
}
}
Error Response
{
"error_message": "string",
"error_type": "string"
}
Response Codes
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
409 | Conflict |
413 | Payload Too Large |
415 | Unsupported Media Type |
429 | Too Many Requests |
500 | Internal Server Error |
Set a Device Reminder
PUT /intelligrow/devices/reminder
Request to set your Intelligrow device reminder
Request Headers
Content-Type: application/json
Authorization: <token>
Request Body
{
"device": "string",
"reminder": {
"frequency": "1",
"start_date": 0,
"reminder_list": {
"clean_ec_probe": 0,
"clean_ph_electrode": 0,
"check_ec_probe": 0,
"calibrate_ph": 0,
"clean_filters": 0
}
}
}
Example Request
curl -X PUT https://api.autogrow.com/v1/intelligrow/devices/reminder
HTTP/1.1 200 OK
Error Response
{
"error_message": "string",
"error_type": "string"
}
Response Codes
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
List a Device Schedule
GET /intelligrow/devices/schedule
Request your Intelligrow device schedule data
Request Headers
Content-Type: application/json
Authorization: <token>
Parameters
device: "string"
Example Request
curl https://api.autogrow.com/v1/intelligrow/devices/schedule?device=<device_id>
HTTP/1.1 200 OK
Response Object
{
"scheduling": {
"mode": "string",
"last_updated": 0,
"schedule_items": [
{
"date": "string",
"date_offset": 0,
"set_points": {}
}
]
}
}
Error Response
{
"error_message": "string",
"error_type": "string"
}
Response Codes
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
503 | Service Unavailable |
Set a Device Schedule
PUT /intelligrow/devices/schedule
Request to set your Intelligrow device schedule data. The schedule items array will replace the existing schedules, not merge.
If you wish to modify a schedule you will need to get the latest schedules from the
GET /intelligrow/devices/schedule
endpoint and change the desired values in the
relevant schedule within this structure. Then send the entire structure as the request body.
If you wish to delete a schedule, get the latest schedules from the
GET /intelligrow/devices/schedule
endpoint and delete the relevant schedule from
the schedule_items
array. Then send the entire structure as the request body.
Request Headers
Content-Type: application/json
Authorization: <token>
Request Body
{
"device": "string",
"scheduling": {
"mode": "manual",
"last_updated": 0,
"schedule_items": [
{
"date": "string",
"date_offset": 0,
"set_points": {}
}
]
}
}
Example Request
curl -X PUT https://api.autogrow.com/v1/intelligrow/devices/schedule
HTTP/1.1 200 OK
Error Response
{
"error_message": "string",
"error_type": "string"
}
Response Codes
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |
Retrieve Device State
GET /intelligrow/devices/state
Request your Intelligrow device state data. If you wish to modify the state you will need to change the desired values in this structure and feed it back to the PUT endpoint in it's entirety.
Request Headers
Content-Type: application/json
Authorization: <token>
Parameters
device: "string"
Example Request
curl https://api.autogrow.com/v1/intelligrow/devices/state?device=<device_id>
HTTP/1.1 200 OK
Response Object (IntelliClimate)
{
"iclimate" : {
"air_temp": "number",
"rh": "number",
"vpd": "number",
"light": "number",
"power_fail": "boolean",
"fail_safe_alarms": "boolean",
"day_night": "string",
"co2": "number",
"enviro_air_temp_1": "number",
"enviro_air_temp_2": "number",
"enviro_co2_1": "number",
"enviro_co2_2": "number",
"enviro_light_1": "number",
"enviro_light_2": "number",
"enviro_rh_1": "number",
"enviro_rh_2": "number",
"intruder_alarm": "number",
"outside_temp_sensor": "number"
}
}
Response Object (IntelliDose)
{
"idose" : {
"ec": "number",
"pH": "number",
"nut_temp": "number"
}
}
Response Messages
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
404 | Not Found |
409 | Conflict |
413 | Payload Too Large |
415 | Unsupported Media Type |
429 | Too Many Requests |
500 | Internal Server Error |
Set a Device State
PUT /intelligrow/devices/state
Request to set your Intelligrow device state. The structure given in the request body will
replace the exisiting config, not merge with it. You will need to take the entire structure from
the GET /intelligrow/devices/state
request, modify the fields you wish to have changed and use
that as the request body.
Request Headers
Content-Type: application/json
Authorization: <token>
Request Body
{
"device": "string",
"reminder": {
"frequency": "1",
"start_date": 0,
"reminder_list": {
"clean_ec_probe": 0,
"clean_ph_electrode": 0,
"check_ec_probe": 0,
"calibrate_ph": 0,
"clean_filters": 0
}
}
}
Example Request
curl -X PUT https://api.autogrow.com/v1/intelligrow/devices/state
HTTP/1.1 200 OK
Response Messages
Code | Description |
---|---|
200 | OK |
400 | Bad Request |
401 | Unauthorized |
403 | Forbidden |
500 | Internal Server Error |