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"
}