Item Value Types
Basic types
int
Integer
example:
{
...
"valueType": "int",
"value": 526
...
}
bool
Boolean
example:
{
...
"valueType": "bool",
"value": false
...
}
float
Floating point number
example:
{
...
"valueType": "float",
"value": 5.0
...
}
string
String
example:
{
...
"valueType": "string",
"value": "example",
...
}
Custom types
dictionary
Specific type for mapping multiple values with same type within item
'value' - map of unique string keys to elements of the supported types
'enum' - array of supported token values
'valueType' - "dictionary"
'elementType' - valid value type of elements in the dictionary. If element type is container (dictionary or array), split subtypes by '.'
example:
{
...
"valueType": "dictionary",
"elementType": "array.daily_interval",
"value": {
"1": [
{
"startDateTime": "2019-11-30T21:00:00",
"stopDateTime": "2019-11-30T22:00:00",
},
{
"startDateTime": "2020-11-30T21:00:00",
"stopDateTime": "2020-11-30T22:00:00",
}
],
"3": [
{
"startDateTime": "2019-10-30T21:00:00",
"stopDateTime": "2019-10-30T22:00:00",
}
],
},
...
}
{
...
"valueType": "dictionary",
"elementType": "temperature"
"value": {
"key_1": {
"value": 36,
"scale": "celsius"
},
"key_2": {
"value": 6,
"scale": "fahrenheit"
},
},
...
}
array
The array gives possibility to create array of types described in this page.
'value' - array of one of supported types.
'valueType' - "array"
'elementType' - valid value type of elements in the array. If element type is container (dictionary or array), split subtypes by '.'
[deprecated] 'valueType' - #subtype_array. Add suffix_array
to name of existing type.
examples:
{
"valueType": "array",
"elementType": "int",
"value": [ 11, 232, 5 ]
}
{
"valueType": "array",
"elementType": "daily_interval",
"value": [
{
"startDateTime": "2019-10-30T21:30:00",
"stopDateTime": "2019-11-30T22:30:00"
},
{
"startDateTime": "2020-10-30T19:30:00",
"stopDateTime": "2020-11-30T20:30:00"
}
]
}
{
"valueType": "array",
"elementType": "array.string",
"value": [
[ "a", "b" ]
]
}
[deprecated] examples:
{
"valueType": "int_array",
"value": [ 11, 232, 5 ]
}
{
"valueType": "daily_interval_array",
"value": [
{
"startDateTime": "2019-10-30T21:30:00",
"stopDateTime": "2019-11-30T22:30:00"
},
{
"startDateTime": "2020-10-30T19:30:00",
"stopDateTime": "2020-11-30T20:30:00"
}
]
}
rgb
RGB color value
example:
{
...
"valueType": "rgb",
"value": {
"wwhite":10,
"cwhite":10,
"red":10.
"green":10,
"blue":10,
"amber":10,
"cyan":10,
"purple":10,
"indexed":10
}
...
}
cameraStream
Camera stream
example:
{
...
"valueType": "cameraStream",
"value": {
"localRtspUrl": "rtsp://127.0.0.1:554"
}
...
}
userCode
Special User Code format. Value contains optional field "mode". It can take values from list userCodeModes in
user_codes
item. If UI sets userCode without "mode" field, mode will be set to "enabled".
example:
{
...
"valueType": "userCode",
"value": {
"code": "some code",
"name": "code name",
"mode": "disabled" // optional. Default is "enabled"
}
...
}
extended example:
"items": [
{
"_id": "5dba9a9ae4de1406ac0a9329",
"deviceId": "5dba9a9ae4de1406ac0a9325",
"elementType": "userCode",
"elementsMaxNumber": 30,
"userCodeRestriction": "\d{4}",
"userCodeModes": [ "enabled", "disabled", "passage" ]
"hasGetter": true,
"hasSetter": true,
"name": "user_codes",
"show": true,
"value": {
"1": {
"value": {
"code": "5609",
"name": "Hare",
"mode": "passage"
}
},
"3": {
"value": {
"code": "4321",
"name": "Wolf",
"mode": "disabled"
}
}
},
"valueFormatted": "",
"valueType": "dictionary"
}
]
weekly_interval
Special weekly interval format Value contains time interval and set of week days. If startTime > stopTime, stopTime means time in next day.
example:
{
...
"valueType": "weekly_interval",
"value": {
"weekDays": [ "monday", "thursday" ],
"startTime": "11:50:54",
"stopTime": "17:59:59",
}
...
}
daily_interval
Special daily interval format
example:
{
...
"valueType": "daily_interval",
"value": {
"startDateTime": "2020-01-03T11:50:54",
"stopDateTime": "2020-04-30T17:59:59",
}
...
}
token
Value of enumeration from 'enum' field
example:
{
...
"valueType": "token",
"value": "ezlo.device.value.dry_ok",
"enum": [
"ezlo.device.value.dry_ok",
"ezlo.device.value.leak",
"ezlo.device.value.unknown_event"
],
...
}
button_state
Value for scenes controller buttons
example:
{
...
"valueType": "button_state",
"value": {button_number = 1, button_state = "press_1_time"},
"enum": [
"press_1_time",
"held_down",
"released"
],
...
}
user_lock_operation
User lock operation value
'action' - display what user has done
'userId' - user id of user code (PIN code). Value '-1' is invalid user id
Actions |
---|
unknown |
lock |
unlock |
example:
{
...
"valueType": "user_lock_operation",
"value": {
"action": "unknown",
"userId": -1
},
...
}
user_code_action
User code action value
'action' - display what user has done
'userId' - user id of user code (PIN code). Value '-1' is invalid user id
Actions |
---|
unknown |
user_code_entered |
invalid_user_code_entered |
example:
{
...
"valueType": "user_code_action",
"value": {
"action": "unknown",
"userId": -1
},
...
}
sound_info
Tone info
'name' - name of the tone
'duration' - duration of the tone in seconds
example:
{
...
"valueType": "sound_info",
"value": {
"name": "1AMBUL~1",
"duration": 20
},
...
}
Scaleble types
illuminance
Illuminance
Scales |
---|
percent |
lux |
example:
{
...
"valueType": "illuminance",
"value": 6.0,
"scale": "lux",
...
}
pressure
Pressure
Scales |
---|
kilo_pascal |
pound_per_square_inch |
inches_of_mercury |
example:
{
...
"valueType": "pressure",
"value": 4623.0,
"scale": "kilo_pascal",
...
}
substance_amount
Substance amount
Scales |
---|
percent |
gram_per_cubic_meter |
micro_gram_per_cubic_meter |
mole_per_cubic_meter |
parts_per_million |
milli_gram_per_liter |
example:
{
...
"valueType": "substance_amount",
"value": 5.0,
"scale": "percent",
...
}
power
Power
Scales |
---|
watt |
btu_per_hour |
example:
{
...
"valueType": "power",
"value": 24.0,
"scale": "watt",
...
}
velocity
Velocity
Scales |
---|
meter_per_second |
mile_per_hour |
example:
{
...
"valueType": "velocity",
"value": 3,
"scale": "meter_per_second",
...
}
acceleration
Acceleration
Scales |
---|
meter_per_square_second |
example:
{
...
"valueType": "acceleration",
"value": 14.6,
"scale": "meter_per_square_second",
...
}
direction
Direction
Scales |
---|
no_direction |
east |
south |
west |
north |
example:
{
...
"valueType": "direction",
"value": 1,
"scale": "south",
...
}
general_purpose
General purpose value for absolute and relative magnitudes
Scales |
---|
percent |
float |
example:
{
...
"valueType": "general_purpose",
"value": 56,
"scale": "percent",
...
}
acidity
Acidity
Scales |
---|
potential_of_hydrogen |
example:
{
...
"valueType": "acidity",
"value": 36,
"scale": "potential_of_hydrogen",
...
}
electric_potential
Electric potential
Scales |
---|
milli_volt |
volt |
example:
{
...
"type": "electric_potential",
"value": 36,
"scale": "milli_volt",
...
}
electric_current
Electric current
Scales |
---|
ampere |
milli_ampere |
example:
{
...
"valueType": "electric_current",
"value": 36,
"scale": "milli_ampere",
...
}
force
Force
Scales |
---|
newton |
example:
{
...
"valueType": "force",
"value": 36,
"scale": "newton",
...
}
irradiance
Irradiance
Scales |
---|
watt_per_square_meter |
example:
{
...
"valueType": "irradiance",
"value": 36,
"scale": "watt_per_square_meter",
...
}
precipitation
Precipitation
Scales |
---|
milli_meter_per_hour |
inches_per_hour |
example:
{
...
"valueType": "precipitation",
"value": 36,
"scale": "inches_per_hour",
...
}
length
Length
Scales |
---|
meter |
feet |
centi_meter |
example:
{
...
"valueType": "length",
"value": 36,
"scale": "meter",
...
}
mass
Mass
Scales |
---|
kilo_gram |
pounds |
example:
{
...
"type": "mass",
"value": 36,
"scale": "kilo_gram",
...
}
volume_flow
Volume flow
Scales |
---|
cubic_meter_per_hour |
cubic_feet_per_minute |
liter_per_hour |
example:
{
...
"valueType": "volume_flow",
"value": 36,
"scale": "cubic_feet_per_minute",
...
}
volume
Volume
Scales |
---|
liter |
cubic_meter |
cubic_feet |
gallons |
example:
{
...
"valueType": "volume",
"value": 36,
"scale": "cubic_meter",
...
}
angle
Angle
Scales |
---|
percent |
north_pole_degress |
example:
{
...
"type": "angle",
"value": 36,
"scale": "north_pole_degress",
...
}
frequency
Frequency
Scales |
---|
revolutions_per_minute |
hertz |
kilo_hertz |
breaths_per_minute |
beats_per_minute |
example:
{
...
"valueType": "frequency",
"value": 36,
"scale": "revolutions_per_minute",
...
}
seismic_intensity
Seismic intensity
Scales |
---|
mercalli |
european_macroseismic |
liedu |
shindo |
example:
{
...
"valueType": "seismic_intensity",
"value": 36,
"scale": "mercalli",
...
}
seismic_magnitude
Seismic magnitude
Scales |
---|
local |
moment |
surface_wave |
body_wave |
example:
{
...
"valueType": "seismic_magnitude",
"value": 36,
"scale": "surface_wave",
...
}
ultraviolet
Ultraviolet
Scales |
---|
uv_index |
example:
{
...
"valueType": "ultraviolet",
"value": 36,
"scale": "uv_index",
...
}
electrical_resistance
Electrical resistance
Scales |
---|
ohm_meter |
example:
{
...
"valueType": "electrical_resistance",
"value": 36,
"scale": "ohm_meter",
...
}
electrical_conductivity
Electrical conductivity
Scales |
---|
siemens_per_meter |
example:
{
...
"valueType": "electrical_conductivity",
"value": 36,
"scale": "siemens_per_meter",
...
}
loudness
Loudness
Scales |
---|
decibel |
a_weighted_decibels |
example:
{
...
"valueType": "loudness",
"value": 36,
"scale": "a_weighted_decibels",
...
}
moisture
Moisture
Scales |
---|
percent |
volume_water_content |
impedance |
water_activity |
example:
{
...
"valueType": "moisture",
"value": 36,
"scale": "water_activity",
...
}
time
Time
Scales |
---|
seconds |
example:
{
...
"type": "time",
"value": 36,
"scale": "seconds",
...
}
radon_concentration
Radon concentration
Scales |
---|
becquerel_per_cubic_meter |
picocuries_per_liter |
example:
{
...
"valueType": "radon_concentration",
"value": 36,
"scale": "becquerel_per_cubic_meter",
...
}
blood_pressure
Blood pressure
Scales |
---|
systolic |
diastolic |
example:
{
...
"valueType": "blood_pressure",
"value": 36,
"scale": "systolic",
...
}
energy
Energy
Scales |
---|
joule |
kilo_watt_hour |
example:
{
...
"valueType": "energy",
"value": 36,
"scale": "joule",
...
}
rf_signal_strength
RF signal strength
Scales |
---|
percent |
decibel_milli_watt |
example:
{
...
"valueType": "rf_signal_strength",
"value": 36,
"scale": "decibel_milli_watt",
...
}
temperature
Temperature
Scales |
---|
celsius |
fahrenheit |
example:
{
...
"valueType": "temperature",
"value": 36,
"scale": "celsius",
...
}
humidity
Humidity
Scales |
---|
percent |
gram_per_cubic_meter |
example:
{
...
"valueType": "humidity",
"value": 36,
"scale": "percent",
...
}
kilo_volt_ampere_hour
Kilovolt-ampere hour
Scales |
---|
kilo_volt_ampere_hour |
example:
{
...
"valueType": "kilo_volt_ampere_hour",
"value": 36,
"scale": "kilo_volt_ampere_hour",
...
}
reactive_power_instant
Reactive power instant
Scales |
---|
kilo_volt_amper_reactive |
example:
{
...
"valueType": "reactive_power_instant",
"value": 36,
"scale": "kilo_volt_amper_reactive",
...
}
amount_of_useful_energy
Amount of useful energy
Scales |
---|
kilo_watt_hour |
example:
{
...
"valueType": "amount_of_useful_energy",
"value": 36,
"scale": "kilo_watt_hour",
...
}
reactive_power_consumption
Reactive power consumption
Scales |
---|
kilo_volt_amper_reactive_hour |
example:
{
...
"valueType": "reactive_power_consumption",
"value": 36,
"scale": "kilo_volt_amper_reactive_hour",
...
}
Scene Value Types
The description of types are used in scene fields. Basically scene uses item types but there are specific types created for scene only. These specific types described here to prevent any intersections with Item Value Types. In future Scene Value Types could be used for Items also.
item
Id of device.
example:
{
"name": "name",
"type": "device",
"value": "sdafd8f7sdf756t76d"
}
item
Id of device item.
example:
{
"name": "name",
"type": "item",
"value": "34234_234_23"
}
24_hours_time
Time in format "hh:mm".
possible values:
Time Unit | Possible Values |
---|---|
hours | 0...23 |
minutes | 0...60 |
example:
{
"name": "name",
"type": "24_hours_time",
"value": "13:22"
}
interval
The time interval in format number plus suffix. The suffix defines time units. The possible time units are days, hours, minutes and seconds.
suffix description:
Suffix | Time units |
---|---|
d | days |
h | hours |
m | minutes |
s | seconds |
example:
{
"name": "name",
"type": "interval",
"value": "10s"
}
hms_interval
Time interval in one of following formats: "hh:mm:ss", "mm:ss", "ss".
examples:
{
"name": "name",
"type": "hms_interval",
"value": "24:10:30"
}
{
"name": "name",
"type": "hms_interval",
"value": "10:30"
}
{
"name": "name",
"type": "hms_interval",
"value": "30"
}