Device attributes
You will need a {deviceId}
from the Get devices
request
Get device attributes
Gets a list of device attributes for the selected device. This is used to view the device's current configuration.
Request
https://api.edenic.io/api/v1/device-attribute/{deviceId}
Query parameters
keys
string optional
A comma-separated list of attribute keys e.g.
setting.ph_low_alarm,setting.ph_high_alarm
.
Response
[
{
"lastUpdateTs": 1689398954522,
"key": "alarm.ph_low_alarm",
"value": false
},
{
"lastUpdateTs": 1681544811367,
"key": "setting.device_name",
"value": {
"conflicts": [],
"correlationId": "12345678-1234-1234-1234-123456789012",
"originator": "APP",
"status": "SUCCESS",
"userId": "12345678-1234-1234-1234-123456789012",
"value": "My Controller"
}
},
...
]
Response values
lastUpdateTs
bigint
The time (in milliseconds since epoch) when the value was last updated.
key
string
The key of the attribute.
value
any
For alarms this is either true
or false
, but for settings it is a JSON
object with a nested value
.
value.conflicts
Array<string>
Used for when the device has changes that conflict with server changes and will
include the correlationId
of the conflicting change.
value.correlationId
string
A random UUID generated for the change. Used when conflicts occur.
value.originator
string
Where the change originated.
Values: DEVICE
or APP
.
value.status
string
Whether the change was completed successfully.
Values: SUCCESS
, PENDING
, FAILURE
or CONFLICT
.
value.userId
string
The UUID of the user that made the change when the originator is APP
.
value.value
any
The value of the setting. See Available attributes for the expected type.
Update device attributes
Updates a list of device attributes for the selected device. This is used to request an update to the device's configuration.
Attribute changes will not be seen straight away in the GET request as the change has to be lined up with the device
Request
https://api.edenic.io/api/v1/device-attribute/{deviceId}
Body
Attributes have strict validation for their values and some may need to be sent with other attributes. Multiple attributes can be updated at once, but all need to be valid before any are applied.
The body expects JSON format. The request will have to include the
Content-Type: application/json
header.
{
"setting.required_ph": 6.0,
"setting.ph_low_alarm": 5.0,
"setting.ph_high_alarm": 7.0
}
Available attributes
Available attributes for each device and the validation for each one is listed
below. Only setting
attributes can be updated but all these attributes can be
read.
To understand more about these attribute, see Definitions.
Mutually validated attributes must always be updated together, e.g.
setting.x_low_alarm
, setting.x_high_alarm
and setting.required_x
Pro Controller
Attribute name | Type | Validation | Example |
---|---|---|---|
alarm.ineffective_control_lockout | boolean | Not editable | - |
alarm.pod_change_lockout | boolean | Not editable | - |
alarm.normally_closed_lockout | boolean | Not editable | - |
alarm.normally_open_lockout | boolean | Not editable | - |
alarm.low_ec_lockout | boolean | Not editable | - |
alarm.other_lockout | boolean | Not editable | - |
alarm.calibration_required | boolean | Not editable | - |
alarm.ph_high_alarm | boolean | Not editable | - |
alarm.ph_low_alarm | boolean | Not editable | - |
alarm.ec_high_alarm | boolean | Not editable | - |
alarm.ec_low_alarm | boolean | Not editable | - |
alarm.temp_high_alarm | boolean | Not editable | - |
alarm.temp_low_alarm | boolean | Not editable | - |
setting.device_name | string | 20 character limit | "My Controller" |
setting.alarms | boolean | On = true Off = false | false |
setting.control_mode (edit) setting.device_mode (read) | string | "MONITOR" or "CONTROL" | "MONITOR" |
setting.ineffective_control_lockout | boolean | On = true Off = false | true |
setting.low_conductivity_lockout | boolean | On = true Off = false | true |
setting.required_ph | number | Resolution: 1 dp Range: 0.1 - 13.9 | 6.0 |
setting.ph_low_alarm | number | Resolution: 1 dp Range: 0.0 - 13.8 Must be 0.1 below "setting.required_ph" | 5.0 |
setting.ph_high_alarm | number | Resolution: 1 dp Range 0.2 - 14.0 Must be 0.1 above "setting.required_ph" | 7.0 |
setting.ph_on_time | number | Continuous = 0 Resolution: 1000 (ms) Range: 1000 - 600000 (ms) | 10000 |
setting.ph_off_time | number | Resolution: 10000 Range: 10000 - 3600000 (ms) | 100000 |
setting.required_ec | number | Resolution: 1 dp Range: 0.1 - 4.9 | 2.0 |
setting.ec_low_alarm | number | Resolution: 1 dp Range: 0.0 - 4.8 Must be 0.1 below "setting.required_ec" | 1.0 |
setting.ec_high_alarm | number | Resolution: 1 dp Range: 0.2 - 5.0 Must be 0.1 above "setting.required_ec" | 3.0 |
setting.ec_on_time | number | Continuous = 0 Resolution: 1000 (ms) Range: 1000 - 600000 (ms) | 10000 |
setting.ec_off_time | number | Resolution: 10000 Range: 10000 - 3600000 (ms) | 100000 |
setting.minimum_temp | number | Resolution: 0 dp Range: 1 - 48 (Celsius) Must be below "setting.maximum_temp" | 18 |
setting.maximum_temp | number | Resolution: 0 dp Range: 2 - 49 (Celsius) Must be above "setting.minimum_temp" | 22 |
setting.temp_low_alarm | number | Resolution: 0 dp Range: 0 - 47 (Celsius) Must be below "setting.minimum_temp" | 16 |
setting.temp_high_alarm | number | Resolution: 0 dp Range: 3 - 50 (Celsius) Must be above "setting.maximum_temp" | 24 |
setting.temp_on_time | number | Continuous = 0 Resolution: 1000 (ms) Range: 1000 - 600000 (ms) | 10000 |
setting.temp_off_time | number | Resolution: 10000 Range 10000 - 3600000 (ms) | 100000 |
pH Controller
Attribute name | Type | Validation | Example |
---|---|---|---|
alarm.ineffective_control_lockout | boolean | Not editable | - |
alarm.calibration_required | boolean | Not editable | - |
alarm.ph_high_alarm | boolean | Not editable | - |
alarm.ph_low_alarm | boolean | Not editable | - |
alarm.temp_high_alarm | boolean | Not editable | - |
alarm.temp_low_alarm | boolean | Not editable | - |
setting.device_name | string | 20 character limit | "My Controller" |
setting.alarms | boolean | On = true Off = false | false |
setting.control_mode (edit) setting.device_mode (read) | string | "MONITOR" or "CONTROL" | "MONITOR" |
setting.required_ph | number | Resolution: 1 dp Range: 0.1 - 13.9 | 6.0 |
setting.ph_low_alarm | number | Resolution: 1 dp Range: 0.0 - 13.8 Must be 0.1 below "setting.required_ph" | 5.0 |
setting.ph_high_alarm | number | Resolution: 1 dp Range: 0.2 - 14.0 Must be 0.1 above "setting.required_ph" | 7.0 |
setting.ph_on_time | number | Resolution: 1000 Range: 1000 - 60000 (ms) | 10000 |
setting.ph_off_time | number | Resolution: 60000 Range: 60000 - 3600000 (ms) | 240000 |
Guardian (Connect)
Attribute name | Type | Validation | Example |
---|---|---|---|
alarm.calibration_required | boolean | Not editable | - |
alarm.ph_high_alarm | boolean | Not editable | - |
alarm.ph_low_alarm | boolean | Not editable | - |
alarm.ec_high_alarm | boolean | Not editable | - |
alarm.ec_low_alarm | boolean | Not editable | - |
alarm.temp_high_alarm | boolean | Not editable | - |
alarm.temp_low_alarm | boolean | Not editable | - |
setting.device_name | string | 20 character limit | "My Monitor" |
Guardian Wi-Fi
Attribute name | Type | Validation | Example |
---|---|---|---|
alarm.calibration_required | boolean | Not editable | - |
alarm.ph_high_alarm | boolean | Not editable | - |
alarm.ph_low_alarm | boolean | Not editable | - |
alarm.ec_high_alarm | boolean | Not editable | - |
alarm.ec_low_alarm | boolean | Not editable | - |
alarm.temp_high_alarm | boolean | Not editable | - |
alarm.temp_low_alarm | boolean | Not editable | - |
setting.device_name | string | 20 character limit | "My Monitor" |
setting.alarms | boolean | On = true Off = false | true |
setting.ph_low_alarm | number | Resolution: 1 dp Range: 0.0 - 13.8 Must be 0.2 below "setting.ph_high_alarm" | 5.0 |
setting.ph_high_alarm | number | Resolution: 1 dp Range: 0.2 - 14.0 Must be 0.2 above "setting.ph_low_alarm" | 7.0 |
setting.ec_low_alarm | number | Resolution: 1 dp Range: 0.0 - 4.8 Must be 0.2 below "setting.ec_high_alarm" | 1.0 |
setting.ec_high_alarm | number | Resolution: 1 dp Range: 0.2 - 5.0 Must be 0.2 above "setting.ec_low_alarm" | 3.0 |
setting.temp_low_alarm | number | Resolution: 0 dp Range: 0 - 47 Must be below "setting.temp_high_alarm" | 15 |
setting.temp_high_alarm | Number | Resolution: 0 dp Range: 3 - 50 Must be above "setting.temp_low_alarm" | 25 |
IntelliDose
Attribute name | Type | Validation | Example |
---|---|---|---|
alarm.ec_dose_lockout | boolean | Not editable | - |
alarm.ec_high_alarm | boolean | Not editable | - |
alarm.ec_low_alarm | boolean | Not editable | - |
alarm.ec_over_range | boolean | Not editable | - |
alarm.ec_under_range | boolean | Not editable | - |
alarm.ph_dose_lockout | boolean | Not editable | - |
alarm.ph_high_alarm | boolean | Not editable | - |
alarm.ph_low_alarm | boolean | Not editable | - |
alarm.ph_over_range | boolean | Not editable | - |
alarm.ph_under_range | boolean | Not editable | - |
alarm.temp_high_alarm | boolean | Not editable | - |
alarm.temp_low_alarm | boolean | Not editable | - |
setting.device_name | string | 20 character limit | "My IDose" |
setting.deg_f | boolean | • false = ˚C • true = ˚F | true |
setting.usa_date_format | boolean | • false = dd/mm/yy • true = mm/dd/yy | true |
setting.ec_unit | string | • EC = Electo Conductivity • CF = Conductivity Factor • TDS = Total Dissolved Solids | "EC" |
setting.tds_conversation_standard | string | • 500 = 500ppm • 700 = 700ppm • 640 = 640ppm | 500 |
setting.day_start_secs | Number | Resolution: 0 dp Range: 0 - 86040 HH:MM (HH * 3600) + (MM * 60) = Value Must be 60 below "setting.day_end_secs" Must be divisible by 360 | 1980 (05:30) |
setting.day_end_secs | Number | Resolution: 0 dp Range: 0 - 86040 HH:MM (HH * 3600) + (MM * 60) = Value Must be 60 above "setting.day_start_secs" Must be divisible by 360 | 3600 (18:30) |
setting.alarm_detent_secs | Number | Resolution: 0 dp Range: 0 - 15240 MM MM * 60 = Value | 180 (3 mins) |
setting.dose_interval_secs | Number | Resolution: 0 dp Range: 0 - 15240 MM MM * 60 = Value | 180 (3 mins) |
setting.sequential_dosing | boolean | • false = Off (Simultaneous) • true = On (Sequential) Forced on if "setting.nutrient_parts" >= 3 | true |
setting.proportional_dosing | boolean | • false = Off (Simple Dosing) • true = On (Proportional Dosing) Allowed on if "setting.nutrient_parts" < 2 | true |
setting.buzzer_muted | boolean | • false = Off • true = On | true |
setting.external_alarm | boolean | • false = Off • true = On | true |
setting.ph_dose_mode | string | • none = No pH Dosing • both = Two pH pumps installed • raise = pH Raise pump installed • lower = pH Lower pump installed "both" can only be selected if "setting.ph_raise" is set | "both" |
setting.ph_dose_time_max_secs | Number | Resolution: 0 dp Range: 1 - 254 Must be above "setting.ph_dose_time_min_secs" "setting.proportional_dosing" must be "true" | 30 |
setting.ph_dose_time_min_secs | Number | Resolution: 0 dp Range: 0 - 253 Must be below "setting.ph_dose_time_max_secs" when "setting.proportional_dosing" is "true" Used for Nutrient Dosing and Dosing Interval when "setting.proportional_dosing" is not "true" | 60 |
setting.ph_set_point | Number | Resolution: 1 dp Range: 0.1 - 13.9 Must be between "setting.ph_max" and "setting.ph_min" | 5.8 |
setting.ph_alarm_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.ph_max | Number | Resolution: 1 dp Range: 0.2 - 14.0 Must be above "setting.ph_set_point" | 6.4 |
setting.ph_min | Number | Resolution: 1 dp Range: 0.0 - 13.8 Must be below "setting.ph_set_point" | 5.2 |
setting.ph_range_lockout | boolean | • false = Off • true = On | true |
setting.ph_raise | boolean | • false = pH Lower • true = pH Raise "setting.ph_dose_mode" must be "both" | true |
setting.day_night_ec | boolean | • false = Off • true = On On enables different EC set point for day and night | true |
setting.ec_set_point | Number | Resolution: 1 dp Range: 0.1 - 9.9 Must be between "setting.ec_max" and "setting.ec_min" | 2.8 |
setting.ec_lower | boolean | • false = Off • true = On On enables use of water to reduce EC | true |
setting.min_nutrient_dose_time_secs | Number | Resolution: 0 dp Range: 0 - 253 Must be below "setting.max_nutrient_dose_time_secs" when "setting.proportional_dosing" is "true" Used for Nutrient Dosing and Dosing Interval when "setting.proportional_dosing" is not "true" | 60 |
setting.max_nutrient_dose_time_secs | Number | Resolution: 0 dp Range: 1 - 254 Must be above "setting.min_nutrient_dose_time_secs" "setting.proportional_dosing" must be "true" | 30 |
setting.ec_alarm_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.ec_max | Number | Resolution: 1 dp Range: 0.2 - 10.0 Must be above "setting.ec_set_point" | 6.4 |
setting.ec_min | Number | Resolution: 1 dp Range: 0.0 - 9.8 Must be below "setting.ec_set_point" | 5.2 |
setting.ec_night_set_point | Number | Resolution: 1 dp Range: 0.1 - 9.9 Must be between "setting.ec_max" and "setting.ec_min" "setting.day_night_ec" must be enabled | 2.8 |
setting.ec_range_lockout | boolean | • false = Off • true = On | true |
setting.water_dose_time_secs | Number | Resolution: 0 dp Range: 1 - 254 "setting.ec_lower" must be "true" | 30 |
setting.nut_temp_alarm_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.nut_temp_max | Number | Resolution: 1 dp Range: 0.1 - 50.0 Must be above "setting.nut_temp_min" | 35.2 |
setting.nut_temp_min | Number | Resolution: 1 dp Range: 0.0 - 49.9 Must be below "setting.nut_temp_max" | 18.1 |
setting.nutrient_parts | Number | Resolution: 0 dp Range: 0 - 8 | 3 |
setting.mix1 | Number | Resolution: 0 dp Range: 0 - 100% | 48 |
setting.mix2 | Number | Resolution: 0 dp Range: 0 - 100% | 48 |
setting.mix3 | Number | Resolution: 0 dp Range: 0 - 100% | 48 |
setting.mix4 | Number | Resolution: 0 dp Range: 0 - 100% | 48 |
setting.mix5 | Number | Resolution: 0 dp Range: 0 - 100% | 48 |
setting.mix6 | Number | Resolution: 0 dp Range: 0 - 100% | 48 |
setting.mix7 | Number | Resolution: 0 dp Range: 0 - 100% | 48 |
setting.mix8 | Number | Resolution: 0 dp Range: 0 - 100% | 48 |
setting.irrigation_installed | boolean | • false = No irrigation installed • true = Irrigation installed | true |
setting.irrigation_mode | string | • single = Single irrigation output • sequential = Irrigation stations trigger sequentially • independent = Each station has it's own trigger point | "single" |
setting.station_count | Number | Resolution: 0 dp Range: 0 - 4 "setting.irrigation_mode" must be "sequential" or "independent" | 4 |
setting.separate_pump_output | boolean | • false = No irrigation pump installed • true = Irrigation pump installed "setting.irrigation_mode" must be "sequential" or "independent" | true |
setting.station1_mode | string | • day_night = Irrigation allow both day and night • day = Irrigate only during the day • time = Irrigate at the same time each day "setting.station1_day_only" must be false to set "day" | "day_night" |
setting.station1_day_only | boolean | • false = "setting.station1_mode" is set to "day_night" or "time" • true = "setting.station1_mode" is set to "day" | true |
setting.station1_duration_secs | Number | Resolution: 0 dp Range: 0 - 32767 HH:MM:SS (HH * 3600) + (MM * 60) + SS = Value | 900 (15 mins) |
setting.station1_day_interval_secs | Number | Resolution: 0 dp Range: 0 - 32767 DD:HH:MM (DD * 1440) + (HH * 60) + MM = Value | 180 (3 hours) |
setting.station1_night_interval_secs | Number | Resolution: 0 dp Range: 0 - 1439 HH:MM HH * 60 + MM = Value | 60 (1 hour) |
setting.station1_every_interval_secs | Number | Resolution: 0 dp Range: 0 - 1439 HH:MM HH * 60 + MM = Value | 607 (10:07am) |
setting.station2_mode | string | • day_night = Irrigation allow both day and night • day = Irrigate only during the day • time = Irrigate at the same time each day "setting.station2_day_only" must be false to set "day" | "day_night" |
setting.station2_day_only | boolean | • false = "setting.station2_mode" is set to "day_night" or "time" • true = "setting.station2_mode" is set to "day" | true |
setting.station2_duration_secs | Number | Resolution: 0 dp Range: 0 - 32767 HH:MM:SS (HH * 3600) + (MM * 60) + SS = Value | 900 (15 mins) |
setting.station2_day_interval_secs | Number | Resolution: 0 dp Range: 0 - 32767 DD:HH:MM (DD * 1440) + (HH * 60) + MM = Value | 180 (3 hours) |
setting.station2_night_interval_secs | Number | Resolution: 0 dp Range: 0 - 1439 HH:MM HH * 60 + MM = Value | 60 (1 hour) |
setting.station2_every_interval_secs | Number | Resolution: 0 dp Range: 0 - 1439 HH:MM HH * 60 + MM = Value | 607 (10:07am) |
setting.station3_mode | string | • day_night = Irrigation allow both day and night • day = Irrigate only during the day • time = Irrigate at the same time each day "setting.station3_day_only" must be false to set "day" | "day_night" |
setting.station3_day_only | boolean | • false = "setting.station3_mode" is set to "day_night" or "time" • true = "setting.station3_mode" is set to "day" | true |
setting.station3_duration_secs | Number | Resolution: 0 dp Range: 0 - 32767 HH:MM:SS (HH * 3600) + (MM * 60) + SS = Value | 900 (15 mins) |
setting.station3_day_interval_secs | Number | Resolution: 0 dp Range: 0 - 32767 DD:HH:MM (DD * 1440) + (HH * 60) + MM = Value | 180 (3 hours) |
setting.station3_night_interval_secs | Number | Resolution: 0 dp Range: 0 - 1439 HH:MM HH * 60 + MM = Value | 60 (1 hour) |
setting.station3_every_interval_secs | Number | Resolution: 0 dp Range: 0 - 1439 HH:MM HH * 60 + MM = Value | 607 (10:07am) |
setting.station4_mode | string | • day_night = Irrigation allow both day and night • day = Irrigate only during the day • time = Irrigate at the same time each day "setting.station4_day_only" must be false to set "day" | "day_night" |
setting.station4_day_only | boolean | • false = "setting.station4_mode" is set to "day_night" or "time" • true = "setting.station4_mode" is set to "day" | true |
setting.station4_duration_secs | Number | Resolution: 0 dp Range: 0 - 32767 HH:MM:SS (HH * 3600) + (MM * 60) + SS = Value | 900 (15 mins) |
setting.station4_day_interval_secs | Number | Resolution: 0 dp Range: 0 - 32767 DD:HH:MM (DD * 1440) + (HH * 60) + MM = Value | 180 (3 hours) |
setting.station4_night_interval_secs | Number | Resolution: 0 dp Range: 0 - 1439 HH:MM HH * 60 + MM = Value | 60 (1 hour) |
setting.station4_every_interval_secs | Number | Resolution: 0 dp Range: 0 - 1439 HH:MM HH * 60 + MM = Value | 607 (10:07am) |
setting.ec_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.ec_force_on | boolean | • false = Forced Off • true = Forced On | true |
setting.ph_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.ph_force_on | boolean | • false = Forced Off • true = Forced On | true |
setting.water_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.water_force_on | boolean | • false = Forced Off • true = Forced On | true |
setting.station1_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.station1_force_on | boolean | • false = Forced Off • true = Forced On | true |
setting.station2_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.station2_force_on | boolean | • false = Forced Off • true = Forced On | true |
setting.station3_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.station3_force_on | boolean | • false = Forced Off • true = Forced On | true |
setting.station4_enabled | boolean | • false = Disabled • true = Enabled | true |
setting.station4_force_on | boolean | • false = Forced Off • true = Forced On | true |
setting.back_light_percent | Number | Not editable | - |
setting.dose_count_ec_hour_limit | Number | Not editable | - |
setting.dose_count_ec_restrict_timer_secs | Number | Not editable | - |
setting.dose_count_ph_hour_limit | Number | Not editable | - |
setting.dose_count_ph_restrict_timer_secs | Number | Not editable | - |
setting.dose_count_restrict_time_secs | Number | Not editable | - |
setting.dosecount_alarm_enabled | boolean | Not editable | - |
setting.dosecount_limits_enabled | boolean | Not editable | - |
setting.ec_dosecount_reset | Number | Not editable | - |
setting.ec0_temp_scale | Number | Not editable | - |
setting.ph_dosecount_reset | Number | Not editable | - |
setting.ph_offset_hi | Number | Not editable | - |
setting.ph_offset_lo | Number | Not editable | - |
setting.ph_scale_hi | Number | Not editable | - |
setting.ph_scale_lo | Number | Not editable | - |
setting.station1_tod | Number | Not editable | - |
setting.station1_timer_reset | Number | Not editable | - |
setting.station2_tod | Number | Not editable | - |
setting.station2_timer_reset | Number | Not editable | - |
setting.station3_tod | Number | Not editable | - |
setting.station3_timer_reset | Number | Not editable | - |
setting.station4_tod | Number | Not editable | - |
setting.station4_timer_reset | Number | Not editable | - |
setting.trigger_sequential | boolean | Not editable | - |
setting.use_station_outputs | boolean | Not editable | - |
setting.using_alarm | boolean | Not editable | - |
setting.valve_latency | Number | Not editable | - |
state.alarm_sounding | boolean | Not editable | - |
state.daytime | boolean | Not editable | - |
state.dose_count_ec | Value | Not editable | - |
state.dose_count_ec_hour | Value | Not editable | - |
state.dose_count_ph | Value | Not editable | - |
state.dose_count_ph_hour | Value | Not editable | - |
state.ec_dosecount_exceeded | boolean | Not editable | - |
state.ec_lockout_too_high | boolean | Not editable | - |
state.ec_lockout_too_low | boolean | Not editable | - |
state.ec_range_lockout | boolean | Not editable | - |
state.ec_tripped | boolean | Not editable | - |
state.firmware | Value | Not editable | - |
state.fuse_failure | boolean | Not editable | - |
state.irrigation_active | string | Not editable | - |
state.ph_dosecount_exceeded | boolean | Not editable | - |
state.ph_dosing_active | string | Not editable | - |
state.ph_lockout_too_high | boolean | Not editable | - |
state.ph_lockout_too_low | boolean | Not editable | - |
state.ph_tripped | boolean | Not editable | - |
state.settings_changed | boolean | Not editable | - |
state.station1_active | Value | Not editable | - |
state.station2_active | Value | Not editable | - |
state.station3_active | Value | Not editable | - |
state.station4_active | Value | Not editable | - |
state.temp_tripped | boolean | Not editable | - |
state.vout_failure | boolean | Not editable | - |
state.watering_active | string | Not editable | - |
Response
You will get a 200 OK
response if the attribute updates successfully.
The request will return an error if it fails to update the attributes:
{
"error": "Validation error",
"issues": {
"setting.ph_low_alarm": [
"Value must be a number",
...
],
...
},
}
Example
Here is an example request to update the pH alarms of a Pro Controller using cURL.
curl --include --request PATCH https://api.edenic.io/api/v1/device-attribute/12345678-1234-1234-1234-123456789012 \
--header 'Authorization: ed_1234567890123456789012345789012345678901234567890123456789012345' \
--header 'Content-Type: application/json' \
--data '{
"setting.required_ph": 6.0,
"setting.ph_low_alarm": 5.0,
"setting.ph_high_alarm": 7.0
}'
Response should give a 200 OK
result if successful.