DLI EPCR6 Object Model Reference
|
object | meter/ |
Object representing the meter server state and configuration |
This object contains the following items:
values | Measured values |
buses | Bus list |
power_status | Power status |
emergency_off_status | Emergency shutoff status |
synchronize | Synchronize meter data |
notifications | Notifications |
Sample JS request
read command:
request.get({url:"meter/"},function(error,response,body) {console.log(body)});
⇒
<...>
Sample uom
library read command:
print(uom.dump(uom.meter))
⇒
<...>
map | meter/values/ |
Values measured by meters |
This map contains Measured value elements.
Sample curl
measured value creation command:
curl --digest -u admin:1234 -H "X-CSRF: x" -X PUT -H "Content-type: application/json" -H "Accept: application/json" --data-binary "..." "http://192.168.0.100/restapi/meter/values/current/"
Sample JS request
measured value creation command:
request.put({url:"meter/values/mains_voltage/",body:{"intervals":[{"lower_bound_bottom":7.9166666666667,"alarm_level":3,"lower_bound_top":8.75,"alarm_period":null},{"lower_bound_bottom":11.833333333333,"alarm_level":2,"lower_bound_top":13.083333333333,"alarm_period":null},{"lower_bound_bottom":15.5,"alarm_level":null,"lower_bound_top":16.333333333333,"alarm_period":null},{"lower_bound_bottom":19.583333333333,"alarm_level":1,"lower_bound_top":20.25,"alarm_period":3},{"lower_bound_bottom":21.166666666667,"alarm_level":null,"lower_bound_top":22.333333333333,"alarm_period":null}],"in_calibration":true,"expression":"6","history_subsample_count":29,"data_absence_alarm_level":1,"value":false,"log_history":false,"history_time_step":2,"history_parameters":[[300,86400],[3600,1209600],[86400,31536000]],"lowest_interval_alarm_period":null,"data_absence_alarm_period":1,"update_relative_difference":0,"bus":null,"name":"AC voltage","internal":false,"lowest_interval_alarm_level":1,"quantity":"voltage"}});
object | meter/values/S/ |
Value measured by meter |
The value is subject to the following constraints: not index of the value matches ^(|.*|.*)$
Removing the object from its parent collection is denied if not custom flag
This object contains the following items:
Sample CLI deletion command (note that measured_value
is a variable):
uom remove "meter/values/${measured_value}"
Sample requests
write command (note that _measured_value
is a variable):
requests.put('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/',auth=auth,headers=headers,json={'update_absolute_difference': 0, 'intervals': [{'lower_bound_bottom': 590, 'alarm_level': 3, 'lower_bound_top': 606, 'alarm_period': 1}], 'in_calibration': True, 'expression': '6.5', 'history_subsample_count': 9, 'data_absence_alarm_level': 3, 'log_history': False, 'history_time_step': 3, 'history_parameters': [[300, 86400], [3600, 1209600], [86400, 31536000]], 'lowest_interval_alarm_period': 7, 'data_absence_alarm_period': None, 'update_relative_difference': 0, 'bus': 11, 'name': 'Current', 'internal': True, 'lowest_interval_alarm_level': None, 'quantity': 'current'})
See also Measured value: Value name
See also Measured value: Value, if any
See also Measured value: Minimal absolute difference for updates
See also Measured value: Minimal relative difference for updates
See also Measured value: Expression, if any
See also Measured value: Custom flag
See also Measured value: Calibration flag
See also Measured value: Calibration support flag
See also Measured value: Insert calibration point
See also Measured value: Commit calibration
See also Measured value: Quantity
See also Measured value: Bus index, if any
See also Measured value: Internal
See also Measured value: Log history
See also Measured value: History log parameters
See also Measured value: History subsample count
See also Measured value: History time step
See also Measured value: Get value history
See also Measured value: Clear value history
See also Measured value: Data absence alarm level, if any
See also Measured value: Data absence alarm period, if any
See also Measured value: Lowest interval alarm level, if any
See also Measured value: Lowest interval alarm period, if any
See also Measured value: Value interval properties
string | meter/values/S/name/ |
Name of the measured value |
Changing the value is denied if not administrative user
This string does not support direct modification if not custom flag.
This string represents a value in persistent storage.
Sample requests
write command (note that _measured_value
is a variable):
requests.put('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/name/',auth=auth,headers=headers,json='DC voltage')
Sample JS request
read command (note that _measured_value
is a variable):
request.get({url:"meter/values/"+_measured_value+"/name/"},function(error,response,body) {console.log(body)});
⇒
"Temperature"
sum (variant) | meter/values/S/value/ |
Current value measured by meter, if any |
Changing the value is denied if not administrative user
This sum does not support direct modification if all of the following is true:
This sum can change as if by itself or indirectly because of other actions.
Changes to this sum may have an effect besides setting value.
This sum can assume the following values:
number | Value | Current value measured by meter | |
constant false | No value | Indication that measurement is currently not being carried out |
Sample uom
library write command (note that _measured_value
is a variable):
uom.meter.values[_measured_value].value=0
Sample requests
write command (note that _measured_value
is a variable):
requests.put('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/value/',auth=auth,headers=headers,json=118)
number | meter/values/S/update_absolute_difference/ |
Requested (advisory) minimum absolute difference for value updates |
The value represents quantity.
The value is subject to the following constraints: the value is greater or equal to 0
The value is unconditionally set to 0
on creation and doesn't have to be supplied (if it is, it must match)
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number represents a value in persistent storage.
Sample CLI write command (note that measured_value
is a variable):
uom set "meter/values/${measured_value}/update_absolute_difference" "0.01"
Sample JS request
write command (note that _measured_value
is a variable):
request.put({url:"meter/values/"+_measured_value+"/update_absolute_difference/",body:0.8});
number | meter/values/S/update_relative_difference/ |
Requested (advisory) minimum relative difference for value updates |
The value represents ratio, which is dimensionless.
To convert to percents, multiply by 100.
To convert from percents, divide by 100.
The value is subject to the following constraints: all of the following is true:
The value is unconditionally set to 0
on creation and doesn't have to be supplied (if it is, it must match)
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number represents a value in persistent storage.
Sample JS request
read command (note that _measured_value
is a variable):
request.get({url:"meter/values/"+_measured_value+"/update_relative_difference/"},function(error,response,body) {console.log(body)});
⇒
9e-06
Sample CLI read command (note that measured_value
is a variable):
uom get "meter/values/${measured_value}/update_relative_difference"
⇒
0.7
sum (optional string) | meter/values/S/expression/ |
Expression governing the value, if any |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum does not support direct modification if not custom flag.
This sum represents a value in persistent storage.
This sum can change as if by itself or indirectly because of other actions.
This sum can assume the following values:
constant null | Variable | The value can be modified arbitrarily | |
string | Expression | Expression governing the value |
Sample curl
read command (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/values/:measured_value/expression/"
⇒
"9.5"
Sample JS request
write command (note that _measured_value
is a variable):
request.put({url:"meter/values/"+_measured_value+"/expression/",body:"2"});
sum (boolean) | meter/values/S/custom/ |
Flag indicating whether the value is custom |
The value is unconditionally set to true
on creation and doesn't have to be supplied (if it is, it must match)
Retrieving the value is denied if not administrative user
This sum does not support direct modification.
This sum represents a value in persistent storage.
This sum can assume the following values:
constant true | Custom | The value is custom and can be modified freely | |
constant false | Built-in | The value is built-in and only the hardware can modify it |
Sample JS request
read command (note that _measured_value
is a variable):
request.get({url:"meter/values/"+_measured_value+"/custom/"},function(error,response,body) {console.log(body)});
⇒
[]
Sample curl
read command (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/values/:measured_value/custom/"
⇒
[]
sum (boolean) | meter/values/S/in_calibration/ |
Flag indicating whether the value is being calibrated |
The value is subject to the following constraints: any of the following is true:
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum does not support direct modification if not calibration support flag.
This sum can change as if by itself or indirectly because of other actions if calibration support flag.
This sum can assume the following values:
constant true | Calibration | The value is being calibrated (it can be updated to match external reference) | |
constant false | Measurement | The value is being measured |
Sample uom
library read command (note that _measured_value
is a variable):
print(uom.dump(uom.meter.values[_measured_value].in_calibration))
⇒
false
Sample curl
write command (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "X-CSRF: x" -X PUT -H "Content-type: application/json" -H "Accept: application/json" --data-binary "true" "http://192.168.0.100/restapi/meter/values/:measured_value/in_calibration/"
sum (boolean) | meter/values/S/supports_calibration/ |
Flag indicating whether calibrating the value is supported |
Retrieving the value is denied if not administrative user
This sum does not support direct modification.
This sum represents a value in persistent storage.
This sum can assume the following values:
constant true | Supported | The value can be calibrated | |
constant false | Not supported | There is no support for calibrating the value, or it does not make sense to |
Sample CLI read command (note that measured_value
is a variable):
uom get "meter/values/${measured_value}/supports_calibration"
⇒
true
Sample requests
read command (note that _measured_value
is a variable):
print(requests.get('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/supports_calibration/',auth=auth,headers=headers).json())
⇒
False
call | meter/values/S/insert_calibration_point/ |
Specify custom calibration point, possibly overriding measurements |
Performing the function call is denied if any of the following is true:
The call accepts the following arguments:
The call returns the following results:
Sample CLI invocation (note that measured_value
is a variable):
uom invoke "meter/values/${measured_value}/insert_calibration_point" "\"current\"" "5" "6.8" "-2.2" "8.7"
⇒
null
Sample uom
library invocation (note that _measured_value
is a variable):
print(uom.dump(uom.meter.values[_measured_value].insert_calibration_point("current",278,5.6,4.5,6.6)))
⇒
null
sum (enumerated string) | meter/values/S/insert_calibration_point/arguments: 1/ |
Kind of calibration point |
This sum does not correspond to an actual resource.
This sum can assume the following values:
constant "standard" | Standard | The point supplies the calibrated value | |
constant "identity" | Identity | Assume the calibration function is the identity in point | |
constant "current" | Current | Assume the calibration function keeps current value in point |
number | meter/values/S/insert_calibration_point/arguments: 2/ |
Calibrated value |
The value represents quantity.
This number does not correspond to an actual resource.
number | meter/values/S/insert_calibration_point/arguments: 3/ |
Weight of the calibration point |
The value represents ratio, which is dimensionless.
To convert to percents, multiply by 100.
To convert from percents, divide by 100.
The value is subject to the following constraints: the value is greater or equal to 0
This number does not correspond to an actual resource.
number | meter/values/S/insert_calibration_point/arguments: 4/ |
Derivative value in the calibration point |
The value represents ratio, which is dimensionless.
To convert to percents, multiply by 100.
To convert from percents, divide by 100.
This number does not correspond to an actual resource.
number | meter/values/S/insert_calibration_point/arguments: 5/ |
Weight of derivative value in the calibration point |
The value represents ratio, which is dimensionless.
To convert to percents, multiply by 100.
To convert from percents, divide by 100.
The value is subject to the following constraints: the value is greater or equal to 0
This number does not correspond to an actual resource.
constant null | meter/values/S/insert_calibration_point/results: 1/ |
No additional information available |
This constant does not correspond to an actual resource.
call | meter/values/S/commit_calibration/ |
Save calibration data to persistent storage |
Performing the function call is denied if any of the following is true:
The call has no arguments (supply empty tuple).
The call returns the following results:
Sample JS request
invocation (note that _measured_value
is a variable):
request.post({url:"meter/values/"+_measured_value+"/commit_calibration/",body:[]});
⇒
null
Sample curl
invocation (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "X-CSRF: x" -H "Content-type: application/json" -H "Accept: application/json" --data-binary "[]" "http://192.168.0.100/restapi/meter/values/:measured_value/commit_calibration/"
⇒
null
constant null | meter/values/S/commit_calibration/results: 1/ |
No additional information available |
This constant does not correspond to an actual resource.
string | meter/values/S/quantity/ |
Quantity of the value |
The value is subject to the following constraints: known quantities[the value]
Changing the value is denied if not administrative user
This string does not support direct modification if not custom flag.
This string represents a value in persistent storage.
Sample CLI read command (note that measured_value
is a variable):
uom get "meter/values/${measured_value}/quantity"
⇒
"voltage"
Sample CLI write command (note that measured_value
is a variable):
uom set "meter/values/${measured_value}/quantity" "\"voltage\""
sum (optional number) | meter/values/S/bus/ |
Index of bus being measured, if any |
Changing the value is denied if not administrative user
This sum does not support direct modification if not custom flag.
This sum represents a value in persistent storage.
This sum can assume the following values:
constant null | Unspecified | The value is not related to a bus | |
number | Bus index | Index of bus being measured | buses[the value] |
Sample requests
write command (note that _measured_value
is a variable):
requests.put('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/bus/',auth=auth,headers=headers,json=3)
Sample JS request
write command (note that _measured_value
is a variable):
request.put({url:"meter/values/"+_measured_value+"/bus/",body:null});
sum (boolean) | meter/values/S/internal/ |
Flag indicating whether this value is internal |
Changing the value is denied if not administrative user
This sum does not support direct modification if not custom flag.
This sum represents a value in persistent storage.
This sum can assume the following values:
constant true | Internal | The value is internal and should not matter to users | |
constant false | Visible | The value should be visible to users |
Sample curl
read command (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/values/:measured_value/internal/"
⇒
true
Sample CLI read command (note that measured_value
is a variable):
uom get "meter/values/${measured_value}/internal"
⇒
false
sum (boolean) | meter/values/S/log_history/ |
Flag indicating whether the value should be logged to the history |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum represents a value in persistent storage.
This sum can assume the following values:
constant true | Enabled | The feature is enabled | |
constant false | Disabled | The feature is disabled |
Sample curl
read command (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/values/:measured_value/log_history/"
⇒
false
Sample uom
library write command (note that _measured_value
is a variable):
uom.meter.values[_measured_value].log_history=false
array | meter/values/S/history_parameters/ |
Configuration of history logs sampling intervals and timespans |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This array is composite, i.e. is modified as a whole.
This array represents a value in persistent storage.
This array can change as if by itself or indirectly because of other actions.
This array contains History log elements.
Sample JS request
write command (note that _measured_value
is a variable):
request.put({url:"meter/values/"+_measured_value+"/history_parameters/",body:[[300,86400],[3600,1209600],[86400,31536000]]});
Sample requests
read command (note that _measured_value
is a variable):
print(requests.get('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/history_parameters/',auth=auth,headers=headers).json())
⇒
[[300, 86400], [3600, 1209600], [86400, 31536000]]
tuple | meter/values/S/history_parameters/N/ |
History log settings |
This tuple is a part of a composite value which is modified as a whole.
This tuple contains the following items:
1 | Interval |
2 | Span |
Sample requests
read command (note that _measured_value
and _history_log_index
are variables):
print(requests.get('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/history_parameters/'+str(_history_log_index)+'/',auth=auth,headers=headers).json())
⇒
[3600, 1209600]
Sample uom
library read command (note that _measured_value
and _history_log_index
are variables):
print(uom.dump(uom.meter.values[_measured_value].history_parameters[_history_log_index]))
⇒
{3600,1209600}
number | meter/values/S/history_parameters/N/1/ |
Time interval between two consecutive history samples (changes will trigger history rebuilding and may cause adjustments to time span) |
The value represents time, the standard unit of which is the second (s).
The value is subject to the following constraints: all of the following is true:
0
0
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number is a part of a composite value which is modified as a whole.
This number represents a value in persistent storage.
This number can change as if by itself or indirectly because of other actions.
Sample CLI read command (note that measured_value
and history_log_index
are variables):
uom get "meter/values/${measured_value}/history_parameters/${history_log_index}/0"
⇒
3600
Sample curl
read command (note that :measured_value
and :history_log_index
are URL template arguments):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/values/:measured_value/history_parameters/:history_log_index/0/"
⇒
300
number | meter/values/S/history_parameters/N/2/ |
Time span covered by history fragment (changes will trigger history rebuilding) |
The value represents time, the standard unit of which is the second (s).
The value is subject to the following constraints: all of the following is true:
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number is a part of a composite value which is modified as a whole.
This number represents a value in persistent storage.
This number can change as if by itself or indirectly because of other actions.
Sample requests
read command (note that _measured_value
and _history_log_index
are variables):
print(requests.get('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/history_parameters/'+str(_history_log_index)+'/1/',auth=auth,headers=headers).json())
⇒
31536000
Sample CLI read command (note that measured_value
and history_log_index
are variables):
uom get "meter/values/${measured_value}/history_parameters/${history_log_index}/1"
⇒
86400
number | meter/values/S/history_subsample_count/ |
Number of measurements per history sample |
The value represents count, the standard unit of which is the time (times).
The value is subject to the following constraints: all of the following is true:
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number represents a value in persistent storage.
Sample CLI write command (note that measured_value
is a variable):
uom set "meter/values/${measured_value}/history_subsample_count" "26"
Sample uom
library read command (note that _measured_value
is a variable):
print(uom.dump(uom.meter.values[_measured_value].history_subsample_count))
⇒
23
number | meter/values/S/history_time_step/ |
Minimal amount of time between saved history samples (changes will trigger history rebuilding and may cause adjustments to history_parameters) |
The value represents time, the standard unit of which is the second (s).
The value is subject to the following constraints: the value is greater than 0
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number represents a value in persistent storage.
Sample uom
library write command (note that _measured_value
is a variable):
uom.meter.values[_measured_value].history_time_step=1
Sample requests
read command (note that _measured_value
is a variable):
print(requests.get('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/history_time_step/',auth=auth,headers=headers).json())
⇒
7
array | meter/values/S/get_history/results: 1/3/ |
Historical data points |
This array does not correspond to an actual resource.
This array contains Data point, if any elements.
sum (variant) | meter/values/S/get_history/results: 1/3/N/ |
Historical data point, if any |
This sum does not correspond to an actual resource.
This sum can assume the following values:
number | Data point | Historical data point, whose corresponding time is determined by array position | |
constant false | Missing data | Indication that data for the time determined by array position could not be found |
call | meter/values/S/get_history/ |
Get history of values over a specific time range |
Performing the function call is denied if not administrative user
The call accepts the following arguments:
The call returns the following results:
Sample requests
invocation (note that _measured_value
is a variable):
print(requests.post('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/get_history/',auth=auth,headers=headers,json=[1566878967, 1566878972, 1]).json())
⇒
[1566878967, 1, [False, False, 11, 10, 0]]
Sample curl
invocation (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "X-CSRF: x" -H "Content-type: application/json" -H "Accept: application/json" --data-binary "[1598768537,1598770337,900]" "http://192.168.0.100/restapi/meter/values/:measured_value/get_history/"
⇒
[1598768100,900,[95,false]]
number | meter/values/S/get_history/arguments: 1/ |
Requested timestamp of the first data point to retrieve |
The value represents time, the standard unit of which is the second (s).
This number does not correspond to an actual resource.
number | meter/values/S/get_history/arguments: 2/ |
Requested timestamp of the last data point to retrieve |
The value represents time, the standard unit of which is the second (s).
This number does not correspond to an actual resource.
number | meter/values/S/get_history/arguments: 3/ |
Requested time step between succeeding data points |
The value represents time, the standard unit of which is the second (s).
The value is subject to the following constraints: the value is greater or equal to 0
This number does not correspond to an actual resource.
tuple | meter/values/S/get_history/results: 1/ |
Historical measured values |
This tuple does not correspond to an actual resource.
This tuple contains the following items:
1 | Data start time |
2 | Data time step |
3 | Value history |
number | meter/values/S/get_history/results: 1/1/ |
Timestamp of the first retrieved historical data point (may differ from requested start timestamp) |
The value represents time, the standard unit of which is the second (s).
This number does not correspond to an actual resource.
number | meter/values/S/get_history/results: 1/2/ |
Time step between succeeding retrieved historical data points (may differ from requested time step) |
The value represents time, the standard unit of which is the second (s).
The value is subject to the following constraints: the value is greater or equal to 0
This number does not correspond to an actual resource.
See also Value history record: Value history
call | meter/values/S/clear_history/ |
Clear the complete history of values, and reset value to zero |
Performing the function call is denied if not administrative user
The call has no arguments (supply empty tuple).
The call returns the following results:
Sample CLI invocation (note that measured_value
is a variable):
uom invoke "meter/values/${measured_value}/clear_history"
⇒
null
Sample uom
library invocation (note that _measured_value
is a variable):
print(uom.dump(uom.meter.values[_measured_value].clear_history()))
⇒
null
constant null | meter/values/S/clear_history/results: 1/ |
No additional information available |
This constant does not correspond to an actual resource.
sum (optional number) | meter/values/S/data_absence_alarm_level/ |
Alarm level for absence of data, if any |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum represents a value in persistent storage.
This sum can assume the following values:
constant null | None | No alarm is generated on absence of data | |
number | Data absence alarm level | Alarm level for absence of data |
Sample uom
library write command (note that _measured_value
is a variable):
uom.meter.values[_measured_value].data_absence_alarm_level=null
Sample curl
write command (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "X-CSRF: x" -X PUT -H "Content-type: application/json" -H "Accept: application/json" --data-binary "null" "http://192.168.0.100/restapi/meter/values/:measured_value/data_absence_alarm_level/"
sum (optional number) | meter/values/S/data_absence_alarm_period/ |
The time interval after which data absence alarm events should be repeated, if any |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum represents a value in persistent storage.
This sum can assume the following values:
constant null | None | The data absence alarm event is generated only once on data loss and is not repeated | |
number | Data absence alarm period | The time interval after which data absence alarm events should be repeated | the value is greater than 0 |
Sample JS request
read command (note that _measured_value
is a variable):
request.get({url:"meter/values/"+_measured_value+"/data_absence_alarm_period/"},function(error,response,body) {console.log(body)});
⇒
10
Sample uom
library read command (note that _measured_value
is a variable):
print(uom.dump(uom.meter.values[_measured_value].data_absence_alarm_period))
⇒
2
sum (optional number) | meter/values/S/lowest_interval_alarm_level/ |
Alarm level for the lowest value interval, if any |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum represents a value in persistent storage.
This sum can assume the following values:
constant null | None | No alarm is generated for the lowest value interval | |
number | Lowest interval alarm level | Alarm level for the lowest value interval |
Sample JS request
write command (note that _measured_value
is a variable):
request.put({url:"meter/values/"+_measured_value+"/lowest_interval_alarm_level/",body:null});
Sample JS request
read command (note that _measured_value
is a variable):
request.get({url:"meter/values/"+_measured_value+"/lowest_interval_alarm_level/"},function(error,response,body) {console.log(body)});
⇒
2
sum (optional number) | meter/values/S/lowest_interval_alarm_period/ |
The time interval after which lowest interval alarm events should be repeated, if any |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum represents a value in persistent storage.
This sum can assume the following values:
constant null | None | The alarm event is generated only once at lowest interval entry and is not repeated while the value is in the interval | |
number | Lowest interval alarm period | The time interval after which lowest interval alarm events should be repeated | the value is greater than 0 |
Sample uom
library read command (note that _measured_value
is a variable):
print(uom.dump(uom.meter.values[_measured_value].lowest_interval_alarm_period))
⇒
3
Sample curl
read command (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/values/:measured_value/lowest_interval_alarm_period/"
⇒
null
array | meter/values/S/intervals/ |
Properties defining intervals of the value and their alarm levels |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This array is composite, i.e. is modified as a whole.
This array contains Interval configuration elements.
Sample curl
write command (note that :measured_value
is a URL template argument):
curl --digest -u admin:1234 -H "X-CSRF: x" -X PUT -H "Content-type: application/json" -H "Accept: application/json" --data-binary "[{\"lower_bound_bottom\":292,\"alarm_level\":3,\"lower_bound_top\":309,\"alarm_period\":1},{\"lower_bound_bottom\":307,\"alarm_level\":2,\"lower_bound_top\":318,\"alarm_period\":3},{\"lower_bound_bottom\":344,\"alarm_level\":2,\"lower_bound_top\":354,\"alarm_period\":null},{\"lower_bound_bottom\":358,\"alarm_level\":null,\"lower_bound_top\":363,\"alarm_period\":null}]" "http://192.168.0.100/restapi/meter/values/:measured_value/intervals/"
Sample CLI write command (note that measured_value
is a variable):
uom set "meter/values/${measured_value}/intervals" "[{\"lower_bound_bottom\":292,\"alarm_level\":2,\"lower_bound_top\":304,\"alarm_period\":2},{\"lower_bound_bottom\":336,\"alarm_level\":1,\"lower_bound_top\":341,\"alarm_period\":null},{\"lower_bound_bottom\":372,\"alarm_level\":null,\"lower_bound_top\":385,\"alarm_period\":null},{\"lower_bound_bottom\":429,\"alarm_level\":null,\"lower_bound_top\":435,\"alarm_period\":5},{\"lower_bound_bottom\":476,\"alarm_level\":null,\"lower_bound_top\":488,\"alarm_period\":null},{\"lower_bound_bottom\":491,\"alarm_level\":null,\"lower_bound_top\":503,\"alarm_period\":null},{\"lower_bound_bottom\":527,\"alarm_level\":null,\"lower_bound_top\":531,\"alarm_period\":2},{\"lower_bound_bottom\":546,\"alarm_level\":null,\"lower_bound_top\":554,\"alarm_period\":null}]"
object | meter/values/S/intervals/N/ |
Configuration of a value interval |
This object is a part of a composite value which is modified as a whole.
This object contains the following items:
lower_bound_bottom | Lower bound bottom |
lower_bound_top | Lower bound top |
alarm_level | Alarm level, if any |
alarm_period | Alarm period, if any |
Sample curl
read command (note that :measured_value
and :interval_configuration_index
are URL template arguments):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/values/:measured_value/intervals/:interval_configuration_index/"
⇒
{"lower_bound_bottom":494.16666666667,"alarm_level":1,"lower_bound_top":505.83333333333,"alarm_period":null}
Sample CLI write command (note that measured_value
and interval_configuration_index
are variables):
uom set "meter/values/${measured_value}/intervals/${interval_configuration_index}" "{\"lower_bound_bottom\":49.25,\"alarm_level\":1,\"lower_bound_top\":50.333333333333,\"alarm_period\":null}"
number | meter/values/S/intervals/N/lower_bound_bottom/ |
The bottom of the lower bound of this interval; value must be lower to be considered outside this interval |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number is a part of a composite value which is modified as a whole.
This number represents a value in persistent storage.
Sample CLI write command (note that measured_value
and interval_configuration_index
are variables):
uom set "meter/values/${measured_value}/intervals/${interval_configuration_index}/lower_bound_bottom" "5.8858858858859"
Sample uom
library write command (note that _measured_value
and _interval_configuration_index
are variables):
uom.meter.values[_measured_value].intervals[_interval_configuration_index].lower_bound_bottom=827
number | meter/values/S/intervals/N/lower_bound_top/ |
The top of the lower bound of this interval; value must be higher to be considered inside this interval |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number is a part of a composite value which is modified as a whole.
This number represents a value in persistent storage.
Sample requests
write command (note that _measured_value
and _interval_configuration_index
are variables):
requests.put('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/intervals/'+str(_interval_configuration_index)+'/lower_bound_top/',auth=auth,headers=headers,json=147)
Sample CLI write command (note that measured_value
and interval_configuration_index
are variables):
uom set "meter/values/${measured_value}/intervals/${interval_configuration_index}/lower_bound_top" "603"
sum (optional number) | meter/values/S/intervals/N/alarm_level/ |
The level of importance assigned to this interval, if any |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum is a part of a composite value which is modified as a whole.
This sum represents a value in persistent storage.
This sum can assume the following values:
constant null | None | No alarm is generated for this value interval | |
number | Alarm level | The level of importance assigned to this interval |
Sample requests
read command (note that _measured_value
and _interval_configuration_index
are variables):
print(requests.get('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/intervals/'+str(_interval_configuration_index)+'/alarm_level/',auth=auth,headers=headers).json())
⇒
1
Sample requests
write command (note that _measured_value
and _interval_configuration_index
are variables):
requests.put('http://192.168.0.100/restapi/meter/values/'+_measured_value+'/intervals/'+str(_interval_configuration_index)+'/alarm_level/',auth=auth,headers=headers,json=None)
sum (optional number) | meter/values/S/intervals/N/alarm_period/ |
The time interval after which alarm events should be repeated, if any |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum is a part of a composite value which is modified as a whole.
This sum represents a value in persistent storage.
This sum can assume the following values:
constant null | None | The alarm event is generated only once at interval entry and is not repeated while the value is in the interval | |
number | Alarm period | The time interval after which alarm events should be repeated | the value is greater than 0 |
Sample JS request
write command (note that _measured_value
and _interval_configuration_index
are variables):
request.put({url:"meter/values/"+_measured_value+"/intervals/"+_interval_configuration_index.toString()+"/alarm_period/",body:4});
Sample curl
read command (note that :measured_value
and :interval_configuration_index
are URL template arguments):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/values/:measured_value/intervals/:interval_configuration_index/alarm_period/"
⇒
null
array | meter/buses/ |
Attributes for buses |
This array does not support direct modification.
This array contains Bus attributes elements.
Creating elements in this collection is not supported.
Sample requests
read command:
print(requests.get('http://192.168.0.100/restapi/meter/buses/',auth=auth,headers=headers).json())
⇒
[{'power_status': True, 'name': 'Bus A', 'power_factor_percent': 100}, {'power_status': False, 'name': 'Bus B', 'power_factor_percent': 100}]
Sample CLI read command:
uom get "meter/buses"
⇒
[{"power_status":true,"name":"Bus A","power_factor_percent":100},{"power_status":false,"name":"Bus B","power_factor_percent":100}]
See also Bus list: Bus attributes
object | meter/buses/N/ |
Attributes for a bus |
The value is subject to the following constraints: buses[index of the value]
This object contains the following items:
name | Name |
power_status | Power status |
power_factor_percent | Power factor |
Sample requests
write command (note that _bus_attributes_index
is a variable):
requests.put('http://192.168.0.100/restapi/meter/buses/'+str(_bus_attributes_index)+'/',auth=auth,headers=headers,json={'power_status': False, 'name': 'Bus B', 'power_factor_percent': 100})
Sample JS request
write command (note that _bus_attributes_index
is a variable):
request.put({url:"meter/buses/"+_bus_attributes_index.toString()+"/",body:{"power_status":false,"name":"Bus B","power_factor_percent":100}});
string | meter/buses/N/name/ |
User-visible name of this bus |
Changing the value is denied if not administrative user
This string represents a value in persistent storage.
Sample curl
write command (note that :bus_attributes_index
is a URL template argument):
curl --digest -u admin:1234 -H "X-CSRF: x" -X PUT -H "Content-type: application/json" -H "Accept: application/json" --data-binary "\"Bus A\"" "http://192.168.0.100/restapi/meter/buses/:bus_attributes_index/name/"
Sample curl
read command (note that :bus_attributes_index
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/buses/:bus_attributes_index/name/"
⇒
"Bus A"
sum (boolean) | meter/buses/N/power_status/ |
Status of bus power |
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This sum does not support direct modification.
This sum can change as if by itself or indirectly because of other actions.
This sum can assume the following values:
constant true | On | Bus is powered | |
constant false | Off | Bus is not powered |
Sample CLI read command (note that bus_attributes_index
is a variable):
uom get "meter/buses/${bus_attributes_index}/power_status"
⇒
false
Sample curl
read command (note that :bus_attributes_index
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/buses/:bus_attributes_index/power_status/"
⇒
true
number | meter/buses/N/power_factor_percent/ |
Power factor for this bus |
The value is subject to the following constraints: all of the following is true:
Retrieving the value is denied if not administrative user
Changing the value is denied if not administrative user
This number represents a value in persistent storage.
Sample CLI read command (note that bus_attributes_index
is a variable):
uom get "meter/buses/${bus_attributes_index}/power_factor_percent"
⇒
100
Sample JS request
read command (note that _bus_attributes_index
is a variable):
request.get({url:"meter/buses/"+_bus_attributes_index.toString()+"/power_factor_percent/"},function(error,response,body) {console.log(body)});
⇒
100
sum (boolean) | meter/power_status/ |
Status of unit power |
Retrieving the value is denied if not administrative user
This sum does not support direct modification.
This sum can change as if by itself or indirectly because of other actions.
This sum can assume the following values:
constant true | Mains | Unit is powered from at least one bus, outlets can be driven | |
constant false | Battery | Unit is powered from the battery only, outlets cannot be driven, unit shutdown expected |
Sample JS request
read command:
request.get({url:"meter/power_status/"},function(error,response,body) {console.log(body)});
⇒
true
Sample CLI read command:
uom get "meter/power_status"
⇒
true
sum (optional boolean) | meter/emergency_off_status/ |
Status of emergency shutoff |
Retrieving the value is denied if not administrative user
This sum does not support direct modification.
This sum can change as if by itself or indirectly because of other actions.
This sum can assume the following values:
constant true | Active | Emergency shutoff active, all outlets off | |
constant false | Inactive | Emergency shutoff inactive, normal outlet operation | |
constant null | Unknown | Emergency shutoff is in an unknown state, probably due to power failure, all outlets likely off |
Sample requests
read command:
print(requests.get('http://192.168.0.100/restapi/meter/emergency_off_status/',auth=auth,headers=headers).json())
⇒
False
Sample uom
library read command:
print(uom.dump(uom.meter.emergency_off_status))
⇒
false
call | meter/synchronize/ |
Saves meter data to persistent storage expressly (synchronization takes place periodically even without this call) |
Performing the function call is denied if not administrative user
The call has no arguments (supply empty tuple).
The call returns the following results:
Sample curl
invocation:
curl --digest -u admin:1234 -H "X-CSRF: x" -H "Content-type: application/json" -H "Accept: application/json" --data-binary "[]" "http://192.168.0.100/restapi/meter/synchronize/"
⇒
null
Sample requests
invocation:
print(requests.post('http://192.168.0.100/restapi/meter/synchronize/',auth=auth,headers=headers,json={}).json())
⇒
None
constant null | meter/synchronize/results: 1/ |
No additional information available |
This constant does not correspond to an actual resource.
object | meter/notifications/ |
Meter status notifications |
Retrieving the value is denied if not administrative user
This object does not support direct modification.
This object contains the following items:
parameter_kinds | Parameter kinds |
events | Events |
Sample uom
library read command:
print(uom.dump(uom.meter.notifications))
⇒
<...>
Sample CLI read command:
uom get "meter/notifications"
⇒
...
See also Notifications: Parameter kinds
map | meter/notifications/events/ |
Event templates |
Retrieving the value is denied if not administrative user
This map is composite, i.e. is modified as a whole.
This map does not support direct modification.
This map contains Event elements.
Creating elements in this collection is not supported.
Sample CLI read command:
uom get "meter/notifications/events"
⇒
...
Sample JS request
read command:
request.get({url:"meter/notifications/events/"},function(error,response,body) {console.log(body)});
⇒
<...>
See also Events: Event
object | meter/notifications/parameter_kinds/ |
Kinds of event parameters |
This object does not correspond to an actual resource.
This object contains the following items:
number | meter/notifications/parameter_kinds/bus_index/ |
Index of the bus |
string | meter/notifications/parameter_kinds/bus_name/ |
Name of the bus |
sum (boolean) | meter/notifications/parameter_kinds/bus_powered/ |
Status of bus power |
This sum can assume the following values:
constant true | Powered | The bus is powered | |
constant false | Not powered | The bus is not powered |
sum (boolean) | meter/notifications/parameter_kinds/powered/ |
Status of unit power |
This sum can assume the following values:
constant true | Mains | The unit is running on mains | |
constant false | Battery | The unit is running on battery |
sum (boolean) | meter/notifications/parameter_kinds/emergency_off/ |
Status of emergency shutoff |
This sum can assume the following values:
constant true | Active | All outlets off | |
constant false | Inactive | Normal outlet operation |
string | meter/notifications/parameter_kinds/value_id/ |
Identifier of the value |
string | meter/notifications/parameter_kinds/value_name/ |
Name of the value |
number | meter/notifications/parameter_kinds/value_alarm_level/ |
Alarm level associated with the value |
sum (optional number) | meter/notifications/parameter_kinds/value_alarm_repeated/ |
Number of consecutive times this alarm has been sent, if any |
This sum can assume the following values:
constant null | Initial alarm | The value has just entered the interval | |
number | Value alarm repeat count | Number of consecutive times this alarm has been sent | all of the following is true: |
number | meter/notifications/parameter_kinds/value_alarm_duration/ |
Amount of time the value has been at this alarm level |
The value represents time, the standard unit of which is the second (s).
The value is subject to the following constraints: the value is greater or equal to 0
object | meter/notifications/events/S/parameters/N/ |
Properties of a parameter associated with the event |
This object is a part of a composite value which is modified as a whole.
This object contains the following items:
id | Identifier |
has_fixed_value | Fixed value flag |
fixed_value | Fixed value |
Sample curl
write command (note that :event
and :event_parameter_index
are URL template arguments):
curl --digest -u admin:1234 -H "X-CSRF: x" -X PUT -H "Content-type: application/json" -H "Accept: application/json" --data-binary "{\"fixed_value\":false,\"has_fixed_value\":true,\"id\":\"emergency_off\"}" "http://192.168.0.100/restapi/meter/notifications/events/:event/parameters/:event_parameter_index/"
Sample curl
read command (note that :event
and :event_parameter_index
are URL template arguments):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/notifications/events/:event/parameters/:event_parameter_index/"
⇒
{"fixed_value":null,"has_fixed_value":false,"id":"value_alarm_duration"}
string | meter/notifications/events/S/parameters/N/id/ |
Parameter identifier |
The value is subject to the following constraints: parameter kinds[the value]
Retrieving the value is denied if not administrative user
This string is a part of a composite value which is modified as a whole.
This string does not support direct modification.
Sample uom
library read command (note that _event
and _event_parameter_index
are variables):
print(uom.dump(uom.meter.notifications.events[_event].parameters[_event_parameter_index].id))
⇒
"bus_index"
Sample requests
read command (note that _event
and _event_parameter_index
are variables):
print(requests.get('http://192.168.0.100/restapi/meter/notifications/events/'+_event+'/parameters/'+str(_event_parameter_index)+'/id/',auth=auth,headers=headers).json())
⇒
'powered'
sum (boolean) | meter/notifications/events/S/parameters/N/has_fixed_value/ |
Flag indicating that the parameter's value for this event is fixed |
Retrieving the value is denied if not administrative user
This sum is a part of a composite value which is modified as a whole.
This sum does not support direct modification.
This sum can assume the following values:
constant true | Fixed | The value is fixed | |
constant false | Variable | The value is variable |
Sample CLI read command (note that event
and event_parameter_index
are variables):
uom get "meter/notifications/events/${event}/parameters/${event_parameter_index}/has_fixed_value"
⇒
true
Sample uom
library read command (note that _event
and _event_parameter_index
are variables):
print(uom.dump(uom.meter.notifications.events[_event].parameters[_event_parameter_index].has_fixed_value))
⇒
true
sum (variant) | meter/notifications/events/S/parameters/N/fixed_value/ |
Fixed parameter value for this particular event |
Retrieving the value is denied if not administrative user
This sum is a part of a composite value which is modified as a whole.
This sum does not support direct modification.
This sum can assume the following values:
constant null | Null | Null | |
constant true | True | True | |
constant false | False | False | |
string | String | This string | |
number | Number | This number |
Sample requests
read command (note that _event
and _event_parameter_index
are variables):
print(requests.get('http://192.168.0.100/restapi/meter/notifications/events/'+_event+'/parameters/'+str(_event_parameter_index)+'/fixed_value/',auth=auth,headers=headers).json())
⇒
True
Sample CLI read command (note that event
and event_parameter_index
are variables):
uom get "meter/notifications/events/${event}/parameters/${event_parameter_index}/fixed_value"
⇒
null
object | meter/notifications/events/S/ |
Event template |
This object is a part of a composite value which is modified as a whole.
This object contains the following items:
message_template | Message template |
severity | Severity |
parameters | Event parameters |
Sample uom
library read command (note that _event
is a variable):
print(uom.dump(uom.meter.notifications.events[_event]))
⇒
{message_template={"running on battery"},parameters={{fixed_value=false,has_fixed_value=true,id="powered"}},severity=5}
Sample JS request
read command (note that _event
is a variable):
request.get({url:"meter/notifications/events/"+_event+"/"},function(error,response,body) {console.log(body)});
⇒
{"severity":5,"message_template":["running on battery"],"parameters":[{"fixed_value":false,"has_fixed_value":true,"id":"powered"}]}
array | meter/notifications/events/S/message_template/ |
Template for human-readable message generation |
Retrieving the value is denied if not administrative user
This array is a part of a composite value which is modified as a whole.
This array does not support direct modification.
This array contains Message template element elements.
Creating elements in this collection is not supported.
Sample CLI read command (note that event
is a variable):
uom get "meter/notifications/events/${event}/message_template"
⇒
["running on mains"]
Sample requests
read command (note that _event
is a variable):
print(requests.get('http://192.168.0.100/restapi/meter/notifications/events/'+_event+'/message_template/',auth=auth,headers=headers).json())
⇒
['emergency shutoff status unknown due to power loss']
sum (variant) | meter/notifications/events/S/message_template/N/ |
Element of human-readable message template |
Retrieving the value is denied if not administrative user
This sum is a part of a composite value which is modified as a whole.
This sum does not support direct modification.
This sum can assume the following values:
string | String | Fixed string | |
number | Parameter | Index of message parameter to insert | event parameters[the value] |
Sample JS request
read command (note that _event
and _message_template_element_index
are variables):
request.get({url:"meter/notifications/events/"+_event+"/message_template/"+_message_template_element_index.toString()+"/"},function(error,response,body) {console.log(body)});
⇒
"emergency shutoff status unknown due to power loss"
Sample uom
library read command (note that _event
and _message_template_element_index
are variables):
print(uom.dump(uom.meter.notifications.events[_event].message_template[_message_template_element_index]))
⇒
") is powered"
sum (enumerated number) | meter/notifications/events/S/severity/ |
Severity rating assigned to the event |
Retrieving the value is denied if not administrative user
This sum is a part of a composite value which is modified as a whole.
This sum does not support direct modification.
This sum can assume the following values:
constant 1 | Emergency | Treat the event as an emergency | |
constant 2 | Alert | Treat the event as an alert | |
constant 3 | Critical | Treat the event as critical | |
constant 4 | Error | Treat the event as an error | |
constant 5 | Warning | Treat the event as a warning | |
constant 6 | Notice | Treat the event as a notice | |
constant 7 | Informational | Treat the event as informational | |
constant 8 | Debug | Treat the event as debugging-related |
Sample curl
read command (note that :event
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/notifications/events/:event/severity/"
⇒
6
Sample CLI read command (note that event
is a variable):
uom get "meter/notifications/events/${event}/severity"
⇒
5
array | meter/notifications/events/S/parameters/ |
Additional data associated with the event |
Retrieving the value is denied if not administrative user
This array is a part of a composite value which is modified as a whole.
This array does not support direct modification.
This array contains Event parameter elements.
Creating elements in this collection is not supported.
Sample requests
read command (note that _event
is a variable):
print(requests.get('http://192.168.0.100/restapi/meter/notifications/events/'+_event+'/parameters/',auth=auth,headers=headers).json())
⇒
[{'fixed_value': True, 'has_fixed_value': True, 'id': 'emergency_off'}]
Sample curl
read command (note that :event
is a URL template argument):
curl --digest -u admin:1234 -H "Accept: application/json" "http://192.168.0.100/restapi/meter/notifications/events/:event/parameters/"
⇒
[{"fixed_value":false,"has_fixed_value":true,"id":"powered"}]
See also Event parameters: Event parameter