BACnet.Protocol.Constants (bacstack v0.0.1)

View Source

BACnet Protocol constants.

Additional property identifiers can be added at compile time using application :bacstack and key :additional_property_identifiers. It must be an Enumerable with key as atom (the property identifier) and value as unsigned integer (protocol value). For example config :bacstack, :additional_property_identifiers, %{loop_mode: 523} in your config.exs. Make sure to recompile the dependency after changing your config file.

Constants: Abort Reason

Type: :abort_reason

NameValueValue BinValue Hex
apdu_too_long110b10110xB
application_exceeded_reply_time80b10000x8
buffer_overflow10b10x1
insufficient_security60b1100x6
invalid_apdu_in_this_state20b100x2
other00b00x0
out_of_resources90b10010x9
preempted_by_higher_priority_task30b110x3
security_error50b1010x5
segmentation_not_supported40b1000x4
tsm_timeout100b10100xA
window_size_out_of_range70b1110x7

Constants: Accumulator Scale

Type: :accumulator_scale

NameValueValue BinValue Hex
float_scale00b00x0
integer_scale10b10x1

Constants: Accumulator Status

Type: :accumulator_status

NameValueValue BinValue Hex
abnormal30b110x3
failed40b1000x4
normal00b00x0
recovered20b100x2
starting10b10x1

Constants: Action

Type: :action

NameValueValue BinValue Hex
direct00b00x0
reverse10b10x1

Constants: Application Tag

Application Tags (ASHRAE 135 - 20.2.1.4 Application Tags)

Type: :application_tag

NameValueValue BinValue Hex
bitstring80b10000x8
boolean10b10x1
character_string70b1110x7
date100b10100xA
double50b1010x5
enumerated90b10010x9
null00b00x0
object_identifier120b11000xC
octet_string60b1100x6
real40b1000x4
signed_integer30b110x3
time110b10110xB
unsigned_integer20b100x2

Constants: Backup State

Type: :backup_state

NameValueValue BinValue Hex
backup_failure50b1010x5
idle00b00x0
performing_a_backup30b110x3
performing_a_restore40b1000x4
preparing_for_backup10b10x1
preparing_for_restore20b100x2
restore_failure60b1100x6

Constants: Binary Lighting Present Value

Type: :binary_lighting_present_value

NameValueValue BinValue Hex
off00b00x0
on10b10x1
stop50b1010x5
warn20b100x2
warn_off30b110x3
warn_relinquish40b1000x4

Constants: Binary Present Value

Type: :binary_present_value

NameValueValue BinValue Hex
active10b10x1
inactive00b00x0

Constants: Bvlc Result Format

BACnet Virtual Link Control (BVLC)

Type: :bvlc_result_format

NameValueValue BinValue Hex
delete_foreign_device_table_entry_nak800b10100000x50
distribute_broadcast_to_network_nak960b11000000x60
read_broadcast_distribution_table_nak320b1000000x20
read_foreign_device_table_nak640b10000000x40
register_foreign_device_nak480b1100000x30
successful_completion00b00x0
write_broadcast_distribution_table_nak160b100000x10

Constants: Bvlc Result Purpose

BACnet Virtual Link Control (BVLC)

Type: :bvlc_result_purpose

NameValueValue BinValue Hex
bvlc_delete_foreign_device_table_entry80b10000x8
bvlc_distribute_broadcast_to_network90b10010x9
bvlc_forwarded_npdu40b1000x4
bvlc_original_broadcast_npdu110b10110xB
bvlc_original_unicast_npdu100b10100xA
bvlc_read_broadcast_distribution_table20b100x2
bvlc_read_broadcast_distribution_table_ack30b110x3
bvlc_read_foreign_device_table60b1100x6
bvlc_read_foreign_device_table_ack70b1110x7
bvlc_register_foreign_device50b1010x5
bvlc_result00b00x0
bvlc_secure_bvll120b11000xC
bvlc_write_broadcast_distribution_table10b10x1

Constants: Bvll

BACnet Virtual Link Layer (BVLL) for BACnet/IP

Type: :bvll

NameValueValue BinValue Hex
default_port_bacnet_ip478080b10111010110000000xBAC0
type_bacnet_ipv41290b100000010x81
type_bacnet_ipv61300b100000100x82

Constants: Character String Encoding

Character String Encoding (ASHRAE 135 - 20.2.9 Encoding of a Character String Value)

Type: :character_string_encoding

NameValueValue BinValue Hex
iso_8859_150b1010x5
jis_x_020820b100x2
microsoft_dbcs10b10x1
ucs_240b1000x4
ucs_430b110x3
utf800b00x0

Constants: Confirmed Service Choice

Type: :confirmed_service_choice

NameValueValue BinValue Hex
acknowledge_alarm00b00x0
add_list_element80b10000x8
atomic_read_file60b1100x6
atomic_write_file70b1110x7
confirmed_cov_notification10b10x1
confirmed_cov_notification_multiple310b111110x1F
confirmed_event_notification20b100x2
confirmed_private_transfer180b100100x12
confirmed_text_message190b100110x13
create_object100b10100xA
delete_object110b10110xB
device_communication_control170b100010x11
get_alarm_summary30b110x3
get_enrollment_summary40b1000x4
get_event_information290b111010x1D
life_safety_operation270b110110x1B
read_property120b11000xC
read_property_multiple140b11100xE
read_range260b110100x1A
reinitialize_device200b101000x14
remove_list_element90b10010x9
subscribe_cov50b1010x5
subscribe_cov_property280b111000x1C
subscribe_cov_property_multiple300b111100x1E
vt_close220b101100x16
vt_data230b101110x17
vt_open210b101010x15
write_property150b11110xF
write_property_multiple160b100000x10

Constants: Days Of Week

Days Of Week (ASHRAE 135 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS)

Type: :days_of_week

NameValueValue BinValue Hex
friday40b1000x4
monday00b00x0
saturday50b1010x5
sunday60b1100x6
thursday30b110x3
tuesday10b10x1
wednesday20b100x2

Constants: Device Status

Type: :device_status

NameValueValue BinValue Hex
backup_in_progress50b1010x5
download_in_progress30b110x3
download_required20b100x2
non_operational40b1000x4
operational00b00x0
operational_read_only10b10x1

Constants: Door Alarm State

Type: :door_alarm_state

NameValueValue BinValue Hex
alarm10b10x1
door_fault50b1010x5
door_open_too_long20b100x2
egress_open80b10000x8
forced_open30b110x3
free_access70b1110x7
lock_down60b1100x6
normal00b00x0
tamper40b1000x4

Constants: Door Secured Status

Type: :door_secured_status

NameValueValue BinValue Hex
secured00b00x0
unknown20b100x2
unsecured10b10x1

Constants: Door Status

Type: :door_status

NameValueValue BinValue Hex
closed00b00x0
closing60b1100x6
door_fault30b110x3
limited_opened90b10010x9
none50b1010x5
opened10b10x1
opening70b1110x7
safety_locked80b10000x8
unknown20b100x2
unused40b1000x4

Constants: Door Value

Type: :door_value

NameValueValue BinValue Hex
extended_pulse_unlock30b110x3
lock00b00x0
pulse_unlock20b100x2
unlock10b10x1

Constants: Enable Disable

Enable Disable (ASHRAE 135 - 16.1.1.1.2 Enable/Disable)

Type: :enable_disable

NameValueValue BinValue Hex
disable10b10x1
disable_initiation20b100x2
enable00b00x0

Constants: Engineering Unit

Type: :engineering_unit

NameValueValue BinValue Hex
ampere_seconds2380b111011100xEE
ampere_square_hours2460b111101100xF6
ampere_square_meters1690b101010010xA9
amperes30b110x3
amperes_per_meter1670b101001110xA7
amperes_per_square_meter1680b101010000xA8
bars550b1101110x37
becquerels2220b110111100xDE
btus200b101000x14
btus_per_hour500b1100100x32
btus_per_pound1170b11101010x75
btus_per_pound_dry_air240b110000x18
candelas1790b101100110xB3
candelas_per_square_meter1800b101101000xB4
centimeters1180b11101100x76
centimeters_of_mercury600b1111000x3C
centimeters_of_water570b1110010x39
cubic_feet790b10011110x4F
cubic_feet_per_day2480b111110000xF8
cubic_feet_per_hour1910b101111110xBF
cubic_feet_per_minute840b10101000x54
cubic_feet_per_second1420b100011100x8E
cubic_meters800b10100000x50
cubic_meters_per_day2490b111110010xF9
cubic_meters_per_hour1350b100001110x87
cubic_meters_per_minute1650b101001010xA5
cubic_meters_per_second850b10101010x55
currency11050b11010010x69
currency101140b11100100x72
currency21060b11010100x6A
currency31070b11010110x6B
currency41080b11011000x6C
currency51090b11011010x6D
currency61100b11011100x6E
currency71110b11011110x6F
currency81120b11100000x70
currency91130b11100010x71
cycles_per_hour250b110010x19
cycles_per_minute260b110100x1A
days700b10001100x46
decibels1990b110001110xC7
decibels_a2320b111010000xE8
decibels_millivolt2000b110010000xC8
decibels_volt2010b110010010xC9
degree_days_celsius650b10000010x41
degree_days_fahrenheit660b10000100x42
degrees_angular900b10110100x5A
degrees_celsius620b1111100x3E
degrees_celsius_per_hour910b10110110x5B
degrees_celsius_per_minute920b10111000x5C
degrees_fahrenheit640b10000000x40
degrees_fahrenheit_per_hour930b10111010x5D
degrees_fahrenheit_per_minute940b10111100x5E
degrees_kelvin630b1111110x3F
degrees_kelvin_per_hour1810b101101010xB5
degrees_kelvin_per_minute1820b101101100xB6
degrees_phase140b11100xE
delta_degrees_fahrenheit1200b11110000x78
delta_degrees_kelvin1210b11110010x79
farads1700b101010100xAA
feet330b1000010x21
feet_per_minute770b10011010x4D
feet_per_second760b10011000x4C
foot_candles380b1001100x26
grams1950b110000110xC3
grams_of_water_per_kilogram_dry_air280b111000x1C
grams_per_cubic_centimeter2210b110111010xDD
grams_per_cubic_meter2170b110110010xD9
grams_per_gram2080b110100000xD0
grams_per_kilogram2100b110100100xD2
grams_per_liter2140b110101100xD6
grams_per_milliliter2130b110101010xD5
grams_per_minute1550b100110110x9B
grams_per_second1540b100110100x9A
grams_per_square_meter2350b111010110xEB
gray2250b111000010xE1
hectopascals1330b100001010x85
henrys1710b101010110xAB
hertz270b110110x1B
horsepower510b1100110x33
hours710b10001110x47
hundredths_seconds1580b100111100x9E
imperial_gallons810b10100010x51
imperial_gallons_per_minute860b10101100x56
inches320b1000000x20
inches_of_mercury610b1111010x3D
inches_of_water580b1110100x3A
joule_per_hours2470b111101110xF7
joule_seconds1830b101101110xB7
joules160b100000x10
joules_per_cubic_meter2510b111110110xFB
joules_per_degree_kelvin1270b11111110x7F
joules_per_kilogram_degree_kelvin1280b100000000x80
joules_per_kilogram_dry_air230b101110x17
kilo_btus1470b100100110x93
kilo_btus_per_hour1570b100111010x9D
kilobecquerels2230b110111110xDF
kilograms390b1001110x27
kilograms_per_cubic_meter1860b101110100xBA
kilograms_per_hour440b1011000x2C
kilograms_per_kilogram2090b110100010xD1
kilograms_per_minute430b1010110x2B
kilograms_per_second420b1010100x2A
kilohertz1290b100000010x81
kilohms1220b11110100x7A
kilojoules170b100010x11
kilojoules_per_degree_kelvin1510b100101110x97
kilojoules_per_kilogram1250b11111010x7D
kilojoules_per_kilogram_dry_air1490b100101010x95
kilometers1930b110000010xC1
kilometers_per_hour750b10010110x4B
kilopascals540b1101100x36
kilovolt_ampere_hours2400b111100000xF0
kilovolt_ampere_hours_reactive2430b111100110xF3
kilovolt_amperes90b10010x9
kilovolt_amperes_reactive120b11000xC
kilovolts60b1100x6
kilowatt_hours190b100110x13
kilowatt_hours_per_square_foot1380b100010100x8A
kilowatt_hours_per_square_meter1370b100010010x89
kilowatt_hours_reactive2040b110011000xCC
kilowatts480b1100000x30
liters820b10100100x52
liters_per_hour1360b100010000x88
liters_per_minute880b10110000x58
liters_per_second870b10101110x57
lumens360b1001000x24
luxes370b1001010x25
mega_btus1480b100101000x94
megabecquerels2240b111000000xE0
megahertz1300b100000100x82
megajoules1260b11111100x7E
megajoules_per_degree_kelvin1520b100110000x98
megajoules_per_kilogram_dry_air1500b100101100x96
megajoules_per_square_foot1400b100011000x8C
megajoules_per_square_meter1390b100010110x8B
megavolt_ampere_hours2410b111100010xF1
megavolt_ampere_hours_reactive2440b111101000xF4
megavolt_amperes100b10100xA
megavolt_amperes_reactive130b11010xD
megavolts70b1110x7
megawatt_hours1460b100100100x92
megawatt_hours_reactive2050b110011010xCD
megawatts490b1100010x31
megohms1230b11110110x7B
meters310b111110x1F
meters_per_hour1640b101001000xA4
meters_per_minute1630b101000110xA3
meters_per_second740b10010100x4A
meters_per_second_per_second1660b101001100xA6
micrograms_per_cubic_meter2190b110110110xDB
micrograms_per_liter2160b110110000xD8
microgray2270b111000110xE3
micrometers1940b110000100xC2
microsiemens1900b101111100xBE
microsieverts2300b111001100xE6
microsieverts_per_hour2310b111001110xE7
miles_per_hour780b10011100x4E
milliamperes20b100x2
millibars1340b100001100x86
milligrams1960b110001000xC4
milligrams_per_cubic_meter2180b110110100xDA
milligrams_per_gram2110b110100110xD3
milligrams_per_kilogram2120b110101000xD4
milligrams_per_liter2150b110101110xD7
milligray2260b111000100xE2
milliliters1970b110001010xC5
milliliters_per_second1980b110001100xC6
millimeters300b111100x1E
millimeters_of_mercury590b1110110x3B
millimeters_of_water2060b110011100xCE
millimeters_per_minute1620b101000100xA2
millimeters_per_second1610b101000010xA1
milliohms1450b100100010x91
million_standard_cubic_feet_per_day478090b10111010110000010xBAC1
million_standard_cubic_feet_per_minute2540b111111100xFE
millirems478140b10111010110001100xBAC6
millirems_per_hour478150b10111010110001110xBAC7
milliseconds1590b100111110x9F
millisiemens2020b110010100xCA
millisieverts2290b111001010xE5
millivolts1240b11111000x7C
milliwatts1320b100001000x84
minutes720b10010000x48
minutes_per_degree_kelvin2360b111011000xEC
mole_percent2520b111111000xFC
months680b10001000x44
nanograms_per_cubic_meter2200b110111000xDC
nephelometric_turbidity_unit2330b111010010xE9
newton1530b100110010x99
newton_meters1600b101000000xA0
newton_seconds1870b101110110xBB
newtons_per_meter1880b101111000xBC
no_units950b10111110x5F
ohm_meter_squared_per_meter2370b111011010xED
ohm_meters1720b101011000xAC
ohms40b1000x4
parts_per_billion970b11000010x61
parts_per_million960b11000000x60
pascal_seconds2530b111111010xFD
pascals530b1101010x35
per_hour1310b100000110x83
per_mille2070b110011110xCF
per_minute1000b11001000x64
per_second1010b11001010x65
percent980b11000100x62
percent_obscuration_per_foot1430b100011110x8F
percent_obscuration_per_meter1440b100100000x90
percent_per_second990b11000110x63
percent_relative_humidity290b111010x1D
ph2340b111010100xEA
pounds_force_per_square_inch560b1110000x38
pounds_mass400b1010000x28
pounds_mass_per_day478120b10111010110001000xBAC4
pounds_mass_per_hour460b1011100x2E
pounds_mass_per_minute450b1011010x2D
pounds_mass_per_second1190b11101110x77
power_factor150b11110xF
psi_per_degree_fahrenheit1020b11001100x66
radians1030b11001110x67
radians_per_second1840b101110000xB8
revolutions_per_minute1040b11010000x68
seconds730b10010010x49
siemens1730b101011010xAD
siemens_per_meter1740b101011100xAE
sieverts2280b111001000xE4
square_centimeters1160b11101000x74
square_feet10b10x1
square_inches1150b11100110x73
square_meters00b00x0
square_meters_per_newton1850b101110010xB9
standard_cubic_feet_per_day478080b10111010110000000xBAC0
teslas1750b101011110xAF
therms210b101010x15
thousand_cubic_feet_per_day478100b10111010110000100xBAC2
thousand_standard_cubic_feet_per_day478110b10111010110000110xBAC3
ton_hours220b101100x16
tons410b1010010x29
tons_per_hour1560b100111000x9C
tons_refrigeration520b1101000x34
us_gallons830b10100110x53
us_gallons_per_hour1920b110000000xC0
us_gallons_per_minute890b10110010x59
volt_ampere_hours2390b111011110xEF
volt_ampere_hours_reactive2420b111100100xF2
volt_amperes80b10000x8
volt_amperes_reactive110b10110xB
volt_square_hours2450b111101010xF5
volts50b1010x5
volts_per_degree_kelvin1760b101100000xB0
volts_per_meter1770b101100010xB1
watt_hours180b100100x12
watt_hours_per_cubic_meter2500b111110100xFA
watt_hours_reactive2030b110010110xCB
watts470b1011110x2F
watts_per_meter_per_degree_kelvin1890b101111010xBD
watts_per_square_foot340b1000100x22
watts_per_square_meter350b1000110x23
watts_per_square_meter_degree_kelvin1410b100011010x8D
webers1780b101100100xB2
weeks690b10001010x45
years670b10000110x43

Constants: Error Class

Type: :error_class

NameValueValue BinValue Hex
communication70b1110x7
device00b00x0
object10b10x1
property20b100x2
resources30b110x3
security40b1000x4
services50b1010x5
vt60b1100x6

Constants: Error Code

Type: :error_code

NameValueValue BinValue Hex
abort_apdu_too_long1230b11110110x7B
abort_application_exceeded_reply_time1240b11111000x7C
abort_buffer_overflow510b1100110x33
abort_insufficient_security1350b100001110x87
abort_invalid_apdu_in_this_state520b1101000x34
abort_other560b1110000x38
abort_out_of_resources1250b11111010x7D
abort_preempted_by_higher_priority_task530b1101010x35
abort_proprietary550b1101110x37
abort_security_error1360b100010000x88
abort_segmentation_not_supported540b1101100x36
abort_tsm_timeout1260b11111100x7E
abort_window_size_out_of_range1270b11111110x7F
access_denied850b10101010x55
addressing_error1150b11100110x73
bad_destination_address860b10101100x56
bad_destination_device_id870b10101110x57
bad_signature880b10110000x58
bad_source_address890b10110010x59
bad_timestamp900b10110100x5A
busy820b10100100x52
cannot_use_key910b10110110x5B
cannot_verify_message_id920b10111000x5C
character_set_not_supported410b1010010x29
communication_disabled830b10100110x53
configuration_in_progress20b100x2
correct_key_revision930b10111010x5D
cov_subscription_failed430b1010110x2B
datatype_not_supported470b1011110x2F
delete_fdt_entry_failed1200b11110000x78
destination_device_id_required940b10111100x5E
device_busy30b110x3
distribute_broadcast_failed1210b11110010x79
duplicate_entry1370b100010010x89
duplicate_message950b10111110x5F
duplicate_name480b1100000x30
duplicate_object_id490b1100010x31
dynamic_creation_not_supported40b1000x4
encryption_not_configured960b11000000x60
encryption_required970b11000010x61
file_access_denied50b1010x5
file_full1280b100000000x80
inconsistent_configuration1290b100000010x81
inconsistent_object_type1300b100000100x82
inconsistent_parameters70b1110x7
inconsistent_selection_criterion80b10000x8
incorrect_key980b11000100x62
internal_error1310b100000110x83
invalid_array_index420b1010100x2A
invalid_configuration_data460b1011100x2E
invalid_datatype90b10010x9
invalid_event_state730b10010010x49
invalid_file_access_method100b10100xA
invalid_file_start_position110b10110xB
invalid_key_data990b11000110x63
invalid_parameter_data_type130b11010xD
invalid_tag570b1110010x39
invalid_timestamp140b11100xE
invalid_value_in_this_state1380b100010100x8A
key_update_in_progress1000b11001000x64
list_element_not_found810b10100010x51
log_buffer_full750b10010110x4B
logged_value_purged760b10011000x4C
malformed_message1010b11001010x65
message_too_long1130b11100010x71
missing_required_parameter160b100000x10
network_down580b1110100x3A
no_alarm_configured740b10010100x4A
no_objects_of_specified_type170b100010x11
no_property_specified770b10011010x4D
no_space_for_object180b100100x12
no_space_to_add_list_element190b100110x13
no_space_to_write_property200b101000x14
no_vt_sessions_available210b101010x15
not_configured1320b100001000x84
not_configured_for_triggered_logging780b10011100x4E
not_cov_property440b1011000x2C
not_key_server1020b11001100x66
not_router_to_dnet1100b11011100x6E
object_deletion_not_permitted230b101110x17
object_identifier_already_exists240b110000x18
operational_problem250b110010x19
optional_functionality_not_supported450b1011010x2D
other00b00x0
out_of_memory1330b100001010x85
parameter_out_of_range800b10100000x50
password_failure260b110100x1A
property_is_not_a_list220b101100x16
property_is_not_an_array500b1100100x32
read_access_denied270b110110x1B
read_bdt_failed1170b11101010x75
read_fdt_failed1190b11101110x77
register_foreign_device_failed1180b11101100x76
reject_buffer_overflow590b1110110x3B
reject_inconsistent_parameters600b1111000x3C
reject_invalid_parameter_data_type610b1111010x3D
reject_invalid_tag620b1111100x3E
reject_missing_required_parameter630b1111110x3F
reject_other690b10001010x45
reject_parameter_out_of_range640b10000000x40
reject_proprietary680b10001000x44
reject_too_many_arguments650b10000010x41
reject_undefined_enumeration660b10000100x42
reject_unrecognized_service670b10000110x43
router_busy1110b11011110x6F
security_error1140b11100100x72
security_not_configured1030b11001110x67
service_request_denied290b111010x1D
source_security_required1040b11010000x68
success840b10101000x54
timeout300b111100x1E
too_many_keys1050b11010010x69
unknown_authentication_type1060b11010100x6A
unknown_device700b10001100x46
unknown_file_size1220b11110100x7A
unknown_key1070b11010110x6B
unknown_key_revision1080b11011000x6C
unknown_network_message1120b11100000x70
unknown_object310b111110x1F
unknown_property320b1000000x20
unknown_route710b10001110x47
unknown_source_message1090b11011010x6D
unknown_subscription790b10011110x4F
unknown_vt_class340b1000100x22
unknown_vt_session350b1000110x23
unsupported_object_type360b1001000x24
value_not_initialized720b10010000x48
value_out_of_range370b1001010x25
value_too_long1340b100001100x86
vt_session_already_closed380b1001100x26
vt_session_termination_failure390b1001110x27
write_access_denied400b1010000x28
write_bdt_failed1160b11101000x74

Constants: Event State

Type: :event_state

NameValueValue BinValue Hex
fault10b10x1
high_limit30b110x3
life_safety_alarm50b1010x5
low_limit40b1000x4
normal00b00x0
offnormal20b100x2

Constants: Event Transition Bit

Type: :event_transition_bit

NameValueValue BinValue Hex
to_fault10b10x1
to_normal20b100x2
to_offnormal00b00x0

Constants: Event Type

Type: :event_type

NameValueValue BinValue Hex
access_event130b11010xD
buffer_ready100b10100xA
change_of_bitstring00b00x0
change_of_characterstring170b100010x11
change_of_discrete_value210b101010x15
change_of_life_safety80b10000x8
change_of_reliability190b100110x13
change_of_state10b10x1
change_of_status_flags180b100100x12
change_of_timer220b101100x16
change_of_value20b100x2
command_failure30b110x3
complex_event_type60b1100x6
double_out_of_range140b11100xE
extended90b10010x9
floating_limit40b1000x4
none200b101000x14
out_of_range50b1010x5
signed_out_of_range150b11110xF
unsigned_out_of_range160b100000x10
unsigned_range110b10110xB

Constants: Fault Type

Type: :fault_type

NameValueValue BinValue Hex
fault_characterstring10b10x1
fault_extended20b100x2
fault_life_safety30b110x3
fault_listed70b1110x7
fault_out_of_range60b1100x6
fault_state40b1000x4
fault_status_flags50b1010x5
none00b00x0

Constants: File Access Method

Type: :file_access_method

NameValueValue BinValue Hex
record_access00b00x0
stream_access10b10x1

Constants: Ip Mode

Type: :ip_mode

NameValueValue BinValue Hex
bbmd20b100x2
foreign10b10x1
normal00b00x0

Constants: Life Safety Mode

Type: :life_safety_mode

NameValueValue BinValue Hex
armed50b1010x5
automatic_release_disabled130b11010xD
default140b11100xE
disabled120b11000xC
disarmed60b1100x6
disconnected100b10100xA
enabled110b10110xB
fast90b10010x9
manned30b110x3
off00b00x0
on10b10x1
prearmed70b1110x7
slow80b10000x8
test20b100x2
unmanned40b1000x4

Constants: Life Safety Operation

Type: :life_safety_operation

NameValueValue BinValue Hex
none00b00x0
reset40b1000x4
reset_alarm50b1010x5
reset_fault60b1100x6
silence10b10x1
silence_audible20b100x2
silence_visual30b110x3
unsilence70b1110x7
unsilence_audible80b10000x8
unsilence_visual90b10010x9

Constants: Life Safety State

Type: :life_safety_state

NameValueValue BinValue Hex
abnormal160b100000x10
active70b1110x7
alarm20b100x2
blocked190b100110x13
delayed180b100100x12
duress140b11100xE
emergency_power170b100010x11
fault30b110x3
fault_alarm50b1010x5
fault_pre_alarm40b1000x4
general_alarm210b101010x15
holdup130b11010xD
local_alarm200b101000x14
not_ready60b1100x6
pre_alarm10b10x1
quiet00b00x0
supervisory220b101100x16
tamper80b10000x8
tamper_alarm150b11110xF
test_active100b10100xA
test_alarm90b10010x9
test_fault110b10110xB
test_fault_alarm120b11000xC
test_supervisory230b101110x17

Constants: Lighting In Progress

Type: :lighting_in_progress

NameValueValue BinValue Hex
fade_active10b10x1
idle00b00x0
not_controlled30b110x3
other40b1000x4
ramp_active20b100x2

Constants: Lighting Operation

Type: :lighting_operation

NameValueValue BinValue Hex
fade_to10b10x1
none00b00x0
ramp_to20b100x2
step_down40b1000x4
step_off60b1100x6
step_on50b1010x5
step_up30b110x3
stop100b10100xA
warn70b1110x7
warn_off80b10000x8
warn_relinquish90b10010x9

Constants: Lighting Transition

Type: :lighting_transition

NameValueValue BinValue Hex
fade10b10x1
none00b00x0
ramp20b100x2

Constants: Limit Enable

Type: :limit_enable

NameValueValue BinValue Hex
high_limit_enable10b10x1
low_limit_enable00b00x0

Constants: Lock Status

Type: :lock_status

NameValueValue BinValue Hex
lock_fault20b100x2
locked00b00x0
unknown40b1000x4
unlocked10b10x1
unused30b110x3

Constants: Log Status

Type: :log_status

NameValueValue BinValue Hex
buffer_purged10b10x1
log_disabled00b00x0
log_interrupted20b100x2

Constants: Logging Type

Type: :logging_type

NameValueValue BinValue Hex
cov10b10x1
polled00b00x0
triggered20b100x2

Constants: Maintenance

Type: :maintenance

NameValueValue BinValue Hex
need_service_inoperative30b110x3
need_service_operational20b100x2
none00b00x0
periodic_test10b10x1

Constants: Max Apdu Length Accepted

Max APDU Length Accepted (ASHRAE 135 - 20.1.2.5 max-apdu-length-accepted)

Type: :max_apdu_length_accepted

NameValueValue BinValue Hex
octets_102440b1000x4
octets_12810b10x1
octets_147650b1010x5
octets_20620b100x2
octets_48030b110x3
octets_5000b00x0

Constants: Max Apdu Length Accepted Value

Max APDU Length Accepted (ASHRAE 135 - 20.1.2.5 max-apdu-length-accepted) - Values are the real APDU max size

Type: :max_apdu_length_accepted_value

NameValueValue BinValue Hex
octets_102410240b100000000000x400
octets_1281280b100000000x80
octets_147614760b101110001000x5C4
octets_2062060b110011100xCE
octets_4804800b1111000000x1E0
octets_50500b1100100x32

Constants: Max Segments Accepted

Max Segments Accepted (ASHRAE 135 - 20.1.2.4 max-segments-accepted)

Type: :max_segments_accepted

NameValueValue BinValue Hex
segments_000b00x0
segments_1640b1000x4
segments_210b10x1
segments_3250b1010x5
segments_420b100x2
segments_6460b1100x6
segments_6570b1110x7
segments_830b110x3

Constants: Network Layer Message Type

Network Layer Message Type (ASHRAE 135 - 6.2.4 Network Layer Message Type)

Type: :network_layer_message_type

NameValueValue BinValue Hex
challenge_request100b10100xA
disconnect_connection_to_network90b10010x9
establish_connection_to_network80b10000x8
i_am_router_to_network10b10x1
i_could_be_router_to_network20b100x2
initialize_routing_table60b1100x6
initialize_routing_table_ack70b1110x7
network_number_is190b100110x13
reject_message_to_network30b110x3
request_key_update130b11010xD
request_master_key160b100000x10
reserved_area_start200b101000x14
router_available_to_network50b1010x5
router_busy_to_network40b1000x4
security_payload110b10110xB
security_response120b11000xC
set_master_key170b100010x11
update_distribution_key150b11110xF
update_key_set140b11100xE
vendor_proprietary_area_start1280b100000000x80
what_is_network_number180b100100x12
who_is_router_to_network00b00x0

Constants: Network Number Quality

Type: :network_number_quality

NameValueValue BinValue Hex
configured30b110x3
learned10b10x1
learned_configured20b100x2
unknown00b00x0

Constants: Network Port Command

Type: :network_port_command

NameValueValue BinValue Hex
discard_changes10b10x1
disconnect60b1100x6
idle00b00x0
renew_dhcp40b1000x4
renew_fd_registration20b100x2
restart_autonegotiation50b1010x5
restart_port70b1110x7
restart_slave_discovery30b110x3

Constants: Network Type

Type: :network_type

NameValueValue BinValue Hex
arcnet10b10x1
ethernet00b00x0
ipv450b1010x5
ipv690b10010x9
lontalk40b1000x4
mstp20b100x2
ptp30b110x3
serial100b10100xA
virtual70b1110x7
zigbee60b1100x6

Constants: Node Type

Type: :node_type

NameValueValue BinValue Hex
area50b1010x5
building130b11010xD
collection80b10000x8
device30b110x3
equipment60b1100x6
floor140b11100xE
functional100b10100xA
member180b100100x12
module160b100000x10
network20b100x2
organizational40b1000x4
other110b10110xB
point70b1110x7
property90b10010x9
protocol190b100110x13
room200b101000x14
section150b11110xF
subsystem120b11000xC
system10b10x1
tree170b100010x11
unknown00b00x0
zone210b101010x15

Constants: Notify Type

Type: :notify_type

NameValueValue BinValue Hex
ack_notification20b100x2
alarm00b00x0
event10b10x1

Constants: Npdu Control Bit

NPDU Control Bits (ASHRAE 135 - 6.2.2 Network Layer Protocol Control Information)

Type: :npdu_control_bit

NameValueValue BinValue Hex
destination_specified320b1000000x20
expecting_reply40b1000x4
network_layer_message1280b100000000x80
source_specified80b10000x8

Constants: Npdu Control Priority

NPDU Control Priority (ASHRAE 135 - 6.2.2 Network Layer Protocol Control Information)

Type: :npdu_control_priority

NameValueValue BinValue Hex
critical_equipment_message20b100x2
life_safety_message30b110x3
normal00b00x0
urgent10b10x1

Constants: Object Type

Type: :object_type

NameValueValue BinValue Hex
access_credential320b1000000x20
access_door300b111100x1E
access_point330b1000010x21
access_rights340b1000100x22
access_user350b1000110x23
access_zone360b1001000x24
accumulator230b101110x17
alert_enrollment520b1101000x34
analog_input00b00x0
analog_output10b10x1
analog_value20b100x2
averaging180b100100x12
binary_input30b110x3
binary_lighting_output550b1101110x37
binary_output40b1000x4
binary_value50b1010x5
bitstring_value390b1001110x27
calendar60b1100x6
channel530b1101010x35
character_string_value400b1010000x28
command70b1110x7
credential_data_input370b1001010x25
date_pattern_value410b1010010x29
date_value420b1010100x2A
datetime_pattern_value430b1010110x2B
datetime_value440b1011000x2C
device80b10000x8
elevator_group570b1110010x39
escalator580b1110100x3A
event_enrollment90b10010x9
event_log250b110010x19
file100b10100xA
global_group260b110100x1A
group110b10110xB
integer_value450b1011010x2D
large_analog_value460b1011100x2E
life_safety_point210b101010x15
life_safety_zone220b101100x16
lift590b1110110x3B
lighting_output540b1101100x36
load_control280b111000x1C
loop120b11000xC
multi_state_input130b11010xD
multi_state_output140b11100xE
multi_state_value190b100110x13
network_port560b1110000x38
network_security380b1001100x26
notification_class150b11110xF
notification_forwarder510b1100110x33
octet_string_value470b1011110x2F
positive_integer_value480b1100000x30
program160b100000x10
pulse_converter240b110000x18
schedule170b100010x11
structured_view290b111010x1D
time_pattern_value490b1100010x31
time_value500b1100100x32
timer310b111110x1F
trend_log200b101000x14
trend_log_multiple270b110110x1B

Constants: Object Types Supported

Type: :object_types_supported

NameValueValue BinValue Hex
access_credential320b1000000x20
access_door300b111100x1E
access_point330b1000010x21
access_rights340b1000100x22
access_user350b1000110x23
access_zone360b1001000x24
accumulator230b101110x17
alert_enrollment520b1101000x34
analog_input00b00x0
analog_output10b10x1
analog_value20b100x2
averaging180b100100x12
binary_input30b110x3
binary_lighting_output550b1101110x37
binary_output40b1000x4
binary_value50b1010x5
bitstring_value390b1001110x27
calendar60b1100x6
channel530b1101010x35
character_string_value400b1010000x28
command70b1110x7
credential_data_input370b1001010x25
date_pattern_value410b1010010x29
date_value420b1010100x2A
datetime_pattern_value430b1010110x2B
datetime_value440b1011000x2C
device80b10000x8
elevator_group570b1110010x39
escalator580b1110100x3A
event_enrollment90b10010x9
event_log250b110010x19
file100b10100xA
global_group260b110100x1A
group110b10110xB
integer_value450b1011010x2D
large_analog_value460b1011100x2E
life_safety_point210b101010x15
life_safety_zone220b101100x16
lift590b1110110x3B
lighting_output540b1101100x36
load_control280b111000x1C
loop120b11000xC
multi_state_input130b11010xD
multi_state_output140b11100xE
multi_state_value190b100110x13
network_port560b1110000x38
network_security380b1001100x26
notification_class150b11110xF
notification_forwarder510b1100110x33
octet_string_value470b1011110x2F
positive_integer_value480b1100000x30
program160b100000x10
pulse_converter240b110000x18
schedule170b100010x11
structured_view290b111010x1D
time_pattern_value490b1100010x31
time_value500b1100100x32
timer310b111110x1F
trend_log200b101000x14
trend_log_multiple270b110110x1B

Constants: Pdu Confirmed Request Bit

PDU Confirmed Request PDU Bits (ASHRAE 135 - 20.1.2.11 Format of the BACnet-Confirmed-Request-PDU)

Type: :pdu_confirmed_request_bit

NameValueValue BinValue Hex
more_follows40b1000x4
segmented_message80b10000x8
segmented_response_accepted20b100x2

Constants: Pdu Segment Ack Bit

PDU Segment ACK Bits (ASHRAE 135 - 20.1.6.6 Format of the BACnet-SegmentACK-PDU)

Type: :pdu_segment_ack_bit

NameValueValue BinValue Hex
negative_ack20b100x2
server10b10x1

Constants: Pdu Type

PDU Types (ASHRAE 135 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS)

Type: :pdu_type

NameValueValue BinValue Hex
abort70b1110x7
complex_ack30b110x3
confirmed_request00b00x0
error50b1010x5
reject60b1100x6
segment_ack40b1000x4
simple_ack20b100x2
unconfirmed_request10b10x1

Constants: Polarity

Type: :polarity

NameValueValue BinValue Hex
normal00b00x0
reverse10b10x1

Constants: Program Error

Type: :program_error

NameValueValue BinValue Hex
internal20b100x2
load_failed10b10x1
normal00b00x0
other40b1000x4
program30b110x3

Constants: Program Request

Type: :program_request

NameValueValue BinValue Hex
halt30b110x3
load10b10x1
ready00b00x0
restart40b1000x4
run20b100x2
unload50b1010x5

Constants: Program State

Type: :program_state

NameValueValue BinValue Hex
halted40b1000x4
idle00b00x0
loading10b10x1
running20b100x2
unloading50b1010x5
waiting30b110x3

Constants: Property Identifier

Type: :property_identifier

NameValueValue BinValue Hex
absentee_limit2440b111101000xF4
accepted_modes1750b101011110xAF
access_alarm_events2450b111101010xF5
access_doors2460b111101100xF6
access_event2470b111101110xF7
access_event_authentication_factor2480b111110000xF8
access_event_credential2490b111110010xF9
access_event_tag3220b1010000100x142
access_event_time2500b111110100xFA
access_transaction_events2510b111110110xFB
accompaniment2520b111111000xFC
accompaniment_time2530b111111010xFD
ack_required10b10x1
acked_transitions00b00x0
action20b100x2
action_text30b110x3
activation_time2540b111111100xFE
active_authentication_policy2550b111111110xFF
active_cov_multiple_subscriptions4810b1111000010x1E1
active_cov_subscriptions1520b100110000x98
active_text40b1000x4
active_vt_sessions50b1010x5
actual_shed_level2120b110101000xD4
adjust_value1760b101100000xB0
alarm_value60b1100x6
alarm_values70b1110x7
align_intervals1930b110000010xC1
all80b10000x8
all_writes_successful90b10010x9
allow_group_delay_inhibit3650b1011011010x16D
apdu_length3990b1100011110x18F
apdu_segment_timeout100b10100xA
apdu_timeout110b10110xB
application_software_version120b11000xC
archive130b11010xD
assigned_access_rights2560b1000000000x100
assigned_landing_calls4470b1101111110x1BF
attempted_samples1240b11111000x7C
authentication_factors2570b1000000010x101
authentication_policy_list2580b1000000100x102
authentication_policy_names2590b1000000110x103
authentication_status2600b1000001000x104
authorization_exemptions3640b1011011000x16C
authorization_mode2610b1000001010x105
auto_slave_discovery1690b101010010xA9
average_value1250b11111010x7D
backup_and_restore_state3380b1010100100x152
backup_failure_timeout1530b100110010x99
backup_preparation_time3390b1010100110x153
bacnet_ip_global_address4070b1100101110x197
bacnet_ip_mode4080b1100110000x198
bacnet_ip_multicast_address4090b1100110010x199
bacnet_ip_nat_traversal4100b1100110100x19A
bacnet_ip_udp_port4120b1100111000x19C
bacnet_ipv6_mode4350b1101100110x1B3
bacnet_ipv6_multicast_address4400b1101110000x1B8
bacnet_ipv6_udp_port4380b1101101100x1B6
bbmd_accept_fd_registrations4130b1100111010x19D
bbmd_broadcast_distribution_table4140b1100111100x19E
bbmd_foreign_device_table4150b1100111110x19F
belongs_to2620b1000001100x106
bias140b11100xE
bit_mask3420b1010101100x156
bit_text3430b1010101110x157
blink_warn_enable3730b1011101010x175
buffer_size1260b11111100x7E
car_assigned_direction4480b1110000000x1C0
car_door_command4490b1110000010x1C1
car_door_status4500b1110000100x1C2
car_door_text4510b1110000110x1C3
car_door_zone4520b1110001000x1C4
car_drive_status4530b1110001010x1C5
car_load4540b1110001100x1C6
car_load_units4550b1110001110x1C7
car_mode4560b1110010000x1C8
car_moving_direction4570b1110010010x1C9
car_position4580b1110010100x1CA
change_of_state_count150b11110xF
change_of_state_time160b100000x10
changes_pending4160b1101000000x1A0
channel_number3660b1011011100x16E
client_cov_increment1270b11111110x7F
command4170b1101000010x1A1
command_time_array4300b1101011100x1AE
configuration_files1540b100110100x9A
control_groups3670b1011011110x16F
controlled_variable_reference190b100110x13
controlled_variable_units200b101000x14
controlled_variable_value210b101010x15
count1770b101100010xB1
count_before_change1780b101100100xB2
count_change_time1790b101100110xB3
cov_increment220b101100x16
cov_period1800b101101000xB4
cov_resubscription_interval1280b100000000x80
covu_period3490b1010111010x15D
covu_recipients3500b1010111100x15E
credential_disable2630b1000001110x107
credential_status2640b1000010000x108
credentials2650b1000010010x109
credentials_in_zone2660b1000010100x10A
current_command_priority4310b1101011110x1AF
database_revision1550b100110110x9B
date_list230b101110x17
daylight_savings_status240b110000x18
days_remaining2670b1000010110x10B
deadband250b110010x19
default_fade_time3740b1011101100x176
default_ramp_rate3750b1011101110x177
default_step_increment3760b1011110000x178
default_subordinate_relationship4900b1111010100x1EA
default_timeout3930b1100010010x189
deployed_profile_location4840b1111001000x1E4
derivative_constant260b110100x1A
derivative_constant_units270b110110x1B
description280b111000x1C
description_of_halt290b111010x1D
device_address_binding300b111100x1E
device_type310b111110x1F
direct_reading1560b100111000x9C
distribution_key_revision3280b1010010000x148
do_not_hide3290b1010010010x149
door_alarm_state2260b111000100xE2
door_extended_pulse_time2270b111000110xE3
door_members2280b111001000xE4
door_open_too_long_time2290b111001010xE5
door_pulse_time2300b111001100xE6
door_status2310b111001110xE7
door_unlock_delay_time2320b111010000xE8
duty_window2130b110101010xD5
effective_period320b1000000x20
egress_active3860b1100000100x182
egress_time3770b1011110010x179
elapsed_active_time330b1000010x21
elevator_group4590b1110010110x1CB
enable1330b100001010x85
energy_meter4600b1110011000x1CC
energy_meter_ref4610b1110011010x1CD
entry_points2680b1000011000x10C
error_limit340b1000100x22
escalator_mode4620b1110011100x1CE
event_algorithm_inhibit3540b1011000100x162
event_algorithm_inhibit_ref3550b1011000110x163
event_detection_enable3530b1011000010x161
event_enable350b1000110x23
event_message_texts3510b1010111110x15F
event_message_texts_config3520b1011000000x160
event_parameters830b10100110x53
event_state360b1001000x24
event_timestamps1300b100000100x82
event_type370b1001010x25
exception_schedule380b1001100x26
execution_delay3680b1011100000x170
exit_points2690b1000011010x10D
expected_shed_level2140b110101100xD6
expiration_time2700b1000011100x10E
extended_time_enable2710b1000011110x10F
failed_attempt_events2720b1000100000x110
failed_attempts2730b1000100010x111
failed_attempts_time2740b1000100100x112
fault_high_limit3880b1100001000x184
fault_low_limit3890b1100001010x185
fault_parameters3580b1011001100x166
fault_signals4630b1110011110x1CF
fault_type3590b1011001110x167
fault_values390b1001110x27
fd_bbmd_address4180b1101000100x1A2
fd_subscription_lifetime4190b1101000110x1A3
feedback_value400b1010000x28
file_access_method410b1010010x29
file_size420b1010100x2A
file_type430b1010110x2B
firmware_revision440b1011000x2C
floor_text4640b1110100000x1D0
full_duty_baseline2150b110101110xD7
global_identifier3230b1010000110x143
group_id4650b1110100010x1D1
group_member_names3460b1010110100x15A
group_members3450b1010110010x159
group_mode4670b1110100110x1D3
high_limit450b1011010x2D
higher_deck4680b1110101000x1D4
in_process470b1011110x2F
in_progress3780b1011110100x17A
inactive_text460b1011100x2E
initial_timeout3940b1100010100x18A
input_reference1810b101101010xB5
installation_id4690b1110101010x1D5
instance_of480b1100000x30
instantaneous_power3790b1011110110x17B
integral_constant490b1100010x31
integral_constant_units500b1100100x32
interface_value3870b1100000110x183
interval_offset1950b110000110xC3
ip_address4000b1100100000x190
ip_default_gateway4010b1100100010x191
ip_dhcp_enable4020b1100100100x192
ip_dhcp_lease_time4030b1100100110x193
ip_dhcp_lease_time_remaining4040b1100101000x194
ip_dhcp_server4050b1100101010x195
ip_dns_server4060b1100101100x196
ip_subnet_mask4110b1100110110x19B
ipv6_address4360b1101101000x1B4
ipv6_auto_addressing_enable4420b1101110100x1BA
ipv6_default_gateway4390b1101101110x1B7
ipv6_dhcp_lease_time4430b1101110110x1BB
ipv6_dhcp_lease_time_remaining4440b1101111000x1BC
ipv6_dhcp_server4450b1101111010x1BD
ipv6_dns_server4410b1101110010x1B9
ipv6_prefix_length4370b1101101010x1B5
ipv6_zone_index4460b1101111100x1BE
is_utc3440b1010110000x158
key_sets3300b1010010100x14A
landing_call_control4710b1110101110x1D7
landing_calls4700b1110101100x1D6
landing_door_status4720b1110110000x1D8
last_access_event2750b1000100110x113
last_access_point2760b1000101000x114
last_command_time4320b1101100000x1B0
last_credential_added2770b1000101010x115
last_credential_added_time2780b1000101100x116
last_credential_removed2790b1000101110x117
last_credential_removed_time2800b1000110000x118
last_key_server3310b1010010110x14B
last_notify_record1730b101011010xAD
last_priority3690b1011100010x171
last_restart_reason1960b110001000xC4
last_restore_time1570b100111010x9D
last_state_change3950b1100010110x18B
last_use_time2810b1000110010x119
life_safety_alarm_values1660b101001100xA6
lighting_command3800b1011111000x17C
lighting_command_default_priority3810b1011111010x17D
limit_enable520b1101000x34
limit_monitoring_interval1820b101101100xB6
link_speed4200b1101001000x1A4
link_speed_autonegotiate4220b1101001100x1A6
link_speeds4210b1101001010x1A5
list_of_group_members530b1101010x35
list_of_object_property_references540b1101100x36
local_date560b1110000x38
local_forwarding_only3600b1011010000x168
local_time570b1110010x39
location580b1110100x3A
lock_status2330b111010010xE9
lockout2820b1000110100x11A
lockout_relinquish_time2830b1000110110x11B
log_buffer1310b100000110x83
log_device_object_property1320b100001000x84
log_interval1340b100001100x86
logging_object1830b101101110xB7
logging_record1840b101110000xB8
logging_type1970b110001010xC5
low_diff_limit3900b1100001100x186
low_limit590b1110110x3B
lower_deck4730b1110110010x1D9
mac_address4230b1101001110x1A7
machine_room_id4740b1110110100x1DA
maintenance_required1580b100111100x9E
making_car_call4750b1110110110x1DB
manipulated_variable_reference600b1111000x3C
manual_slave_address_binding1700b101010100xAA
masked_alarm_values2340b111010100xEA
max_actual_value3820b1011111100x17E
max_apdu_length_accepted620b1111100x3E
max_failed_attempts2850b1000111010x11D
max_info_frames630b1111110x3F
max_master640b10000000x40
max_output610b1111010x3D
max_present_value650b10000010x41
max_segments_accepted1670b101001110xA7
max_value1350b100001110x87
max_value_timestamp1490b100101010x95
member_of1590b100111110x9F
member_status_flags3470b1010110110x15B
members2860b1000111100x11E
min_actual_value3830b1011111110x17F
min_off_time660b10000100x42
min_on_time670b10000110x43
min_output680b10001000x44
min_present_value690b10001010x45
min_value1360b100010000x88
min_value_timestamp1500b100101100x96
mode1600b101000000xA0
model_name700b10001100x46
modification_date710b10001110x47
muster_point2870b1000111110x11F
negative_access_rules2880b1001000000x120
network_access_security_policies3320b1010011000x14C
network_interface_name4240b1101010000x1A8
network_number4250b1101010010x1A9
network_number_quality4260b1101010100x1AA
network_type4270b1101010110x1AB
next_stopping_floor4760b1110111000x1DC
node_subtype2070b110011110xCF
node_type2080b110100000xD0
notification_class170b100010x11
notification_threshold1370b100010010x89
notify_type720b10010000x48
number_of_apdu_retries730b10010010x49
number_of_authentication_policies2890b1001000010x121
number_of_states740b10010100x4A
object_identifier750b10010110x4B
object_list760b10011000x4C
object_name770b10011010x4D
object_property_reference780b10011100x4E
object_type790b10011110x4F
occupancy_count2900b1001000100x122
occupancy_count_adjust2910b1001000110x123
occupancy_count_enable2920b1001001000x124
occupancy_lower_limit2940b1001001100x126
occupancy_lower_limit_enforced2950b1001001110x127
occupancy_state2960b1001010000x128
occupancy_upper_limit2970b1001010010x129
occupancy_upper_limit_enforced2980b1001010100x12A
operation_direction4770b1110111010x1DD
operation_expected1610b101000010xA1
optional800b10100000x50
out_of_service810b10100010x51
output_units820b10100100x52
packet_reorder_time3330b1010011010x14D
passback_mode3000b1001011000x12C
passback_timeout3010b1001011010x12D
passenger_alarm4780b1110111100x1DE
polarity840b10101000x54
port_filter3630b1011010110x16B
positive_access_rules3020b1001011100x12E
power3840b1100000000x180
power_mode4790b1110111110x1DF
prescale1850b101110010xB9
present_value850b10101010x55
priority860b10101100x56
priority_array870b10101110x57
priority_for_writing880b10110000x58
process_identifier890b10110010x59
process_identifier_filter3610b1011010010x169
profile_location4850b1111001010x1E5
profile_name1680b101010000xA8
program_change900b10110100x5A
program_location910b10110110x5B
program_state920b10111000x5C
property_list3710b1011100110x173
proportional_constant930b10111010x5D
proportional_constant_units940b10111100x5E
protocol_level4820b1111000100x1E2
protocol_object_types_supported960b11000000x60
protocol_revision1390b100010110x8B
protocol_services_supported970b11000010x61
protocol_version980b11000100x62
pulse_rate1860b101110100xBA
read_only990b11000110x63
reason_for_disable3030b1001011110x12F
reason_for_halt1000b11001000x64
recipient_list1020b11001100x66
record_count1410b100011010x8D
records_since_notification1400b100011000x8C
reference_port4830b1111000110x1E3
registered_car_call4800b1111000000x1E0
reliability1030b11001110x67
reliability_evaluation_inhibit3570b1011001010x165
relinquish_default1040b11010000x68
represents4910b1111010110x1EB
requested_shed_level2180b110110100xDA
requested_update_interval3480b1010111000x15C
required1050b11010010x69
resolution1060b11010100x6A
restart_notification_recipients2020b110010100xCA
restore_completion_time3400b1010101000x154
restore_preparation_time3410b1010101010x155
routing_table4280b1101011000x1AC
scale1870b101110110xBB
scale_factor1880b101111000xBC
schedule_default1740b101011100xAE
secured_status2350b111010110xEB
security_pdu_timeout3340b1010011100x14E
security_time_window3350b1010011110x14F
segmentation_supported1070b11010110x6B
serial_number3720b1011101000x174
setpoint1080b11011000x6C
setpoint_reference1090b11011010x6D
setting1620b101000100xA2
shed_duration2190b110110110xDB
shed_level_descriptions2200b110111000xDC
shed_levels2210b110111010xDD
silenced1630b101000110xA3
slave_address_binding1710b101010110xAB
slave_proxy_enable1720b101011000xAC
start_time1420b100011100x8E
state_change_values3960b1100011000x18C
state_description2220b110111100xDE
state_text1100b11011100x6E
status_flags1110b11011110x6F
stop_time1430b100011110x8F
stop_when_full1440b100100000x90
strike_count3910b1100001110x187
structured_object_list2090b110100010xD1
subordinate_annotations2100b110100100xD2
subordinate_list2110b110100110xD3
subordinate_node_types4870b1111001110x1E7
subordinate_relationships4890b1111010010x1E9
subordinate_tags4880b1111010000x1E8
subscribed_recipients3620b1011010100x16A
supported_format_classes3050b1001100010x131
supported_formats3040b1001100000x130
supported_security_algorithms3360b1010100000x150
system_status1120b11100000x70
tags4860b1111001100x1E6
threat_authority3060b1001100100x132
threat_level3070b1001100110x133
time_delay1130b11100010x71
time_delay_normal3560b1011001000x164
time_of_active_time_reset1140b11100100x72
time_of_device_restart2030b110010110xCB
time_of_state_count_reset1150b11100110x73
time_of_strike_count_reset3920b1100010000x188
time_synchronization_interval2040b110011000xCC
time_synchronization_recipients1160b11101000x74
timer_running3970b1100011010x18D
timer_state3980b1100011100x18E
total_record_count1450b100100010x91
trace_flag3080b1001101000x134
tracking_value1640b101001000xA4
transaction_notification_class3090b1001101010x135
transition3850b1100000010x181
trigger2050b110011010xCD
units1170b11101010x75
update_interval1180b11101100x76
update_key_set_timeout3370b1010100010x151
update_time1890b101111010xBD
user_external_identifier3100b1001101100x136
user_information_reference3110b1001101110x137
user_name3170b1001111010x13D
user_type3180b1001111100x13E
uses_remaining3190b1001111110x13F
utc_offset1190b11101110x77
utc_time_synchronization_recipients2060b110011100xCE
valid_samples1460b100100100x92
value_before_change1900b101111100xBE
value_change_time1920b110000000xC0
value_set1910b101111110xBF
value_source4330b1101100010x1B1
value_source_array4340b1101100100x1B2
variance_value1510b100101110x97
vendor_identifier1200b11110000x78
vendor_name1210b11110010x79
verification_time3260b1010001100x146
virtual_mac_address_table4290b1101011010x1AD
vt_classes_supported1220b11110100x7A
weekly_schedule1230b11110110x7B
window_interval1470b100100110x93
window_samples1480b100101000x94
write_status3700b1011100100x172
zone_from3200b1010000000x140
zone_members1650b101001010xA5
zone_to3210b1010000010x141

Constants: Property State

Property State (ASHRAE 135 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS)

Type: :property_state

NameValueValue BinValue Hex
access_credential_disable330b1000010x21
access_credential_disable_reason320b1000000x20
access_event300b111100x1E
action160b100000x10
authentication_status340b1000100x22
backup_state360b1001000x24
bacnet_ip_mode450b1011010x2D
binary_lighting_value420b1010100x2A
binary_value10b10x1
boolean_value00b00x0
door_alarm_state150b11110xF
door_secured_status170b100010x11
door_status180b100100x12
door_value190b100110x13
escalator_fault500b1100100x32
escalator_mode510b1100110x33
escalator_operation_direction490b1100010x31
event_type20b100x2
extended_value630b1111110x3F
file_access_method200b101000x14
integer_value410b1010010x29
life_safety_mode120b11000xC
life_safety_operation220b101100x16
life_safety_state130b11010xD
lift_car_direction520b1101000x34
lift_car_door_command530b1101010x35
lift_car_drive_status540b1101100x36
lift_car_mode550b1101110x37
lift_fault570b1110010x39
lift_group_mode560b1110000x38
lighting_in_progress380b1001100x26
lighting_operation390b1001110x27
lighting_transition400b1010000x28
lock_status210b101010x15
maintenance230b101110x17
network_number_quality480b1100000x30
network_port_command460b1011100x2E
network_type470b1011110x2F
node_type240b110000x18
notify_type250b110010x19
polarity30b110x3
program_change40b1000x4
program_state50b1010x5
protocol_level580b1110100x3A
reason_for_halt60b1100x6
reliability70b1110x7
restart_reason140b11100xE
security_level260b110100x1A
shed_state270b110110x1B
silenced_state280b111000x1C
state80b10000x8
system_status90b10010x9
timer_state430b1010110x2B
timer_transition440b1011000x2C
units100b10100xA
unsigned_value110b10110xB
write_status370b1001010x25
zone_occupancy_state310b111110x1F

Constants: Protocol Level

Type: :protocol_level

NameValueValue BinValue Hex
bacnet_application20b100x2
non_bacnet_application30b110x3
physical00b00x0
protocol10b10x1

Constants: Protocol Revision

When creating BACnet objects, the designated revision can be chosen from the constants. The designated revision decides which properties are required. Optional properties are regardless of the revision available.

The following revisions are supported (to be):

  • Revision 14 (135-2012)
  • Revision 19 (135-2016)
  • Revision 22 (135-2022)

The default BACnet Revision is 14 (2012).

Type: :protocol_revision

NameValueValue BinValue Hex
defaultrevision_14--
revision_14140b11100xE

Constants: Reinitialized State

Reinitialized State (ASHRAE 135 - 16.4.1.1.1 Reinitialized State of Device)

Type: :reinitialized_state

NameValueValue BinValue Hex
abortrestore60b1100x6
activate_changes70b1110x7
coldstart00b00x0
endbackup30b110x3
endrestore50b1010x5
startbackup20b100x2
startrestore40b1000x4
warmstart10b10x1

Constants: Reject Reason

Type: :reject_reason

NameValueValue BinValue Hex
buffer_overflow10b10x1
inconsistent_parameters20b100x2
invalid_parameter_data_type30b110x3
invalid_tag40b1000x4
missing_required_parameter50b1010x5
other00b00x0
parameter_out_of_range60b1100x6
too_many_arguments70b1110x7
undefined_enumeration80b10000x8
unrecognized_service90b10010x9

Constants: Relationship

Type: :relationship

NameValueValue BinValue Hex
adjusted_by90b10010x9
adjusts80b10000x8
commanded_by70b1110x7
commands60b1100x6
contained_by30b110x3
contains20b100x2
default10b10x1
egress110b10110xB
ingress100b10100xA
receives_air130b11010xD
receives_cool_air170b100010x11
receives_cool_water270b110110x1B
receives_gas210b101010x15
receives_hot_air150b11110xF
receives_hot_water250b110010x19
receives_power190b100110x13
receives_steam290b111010x1D
receives_water230b101110x17
supplies_air120b11000xC
supplies_cool_air160b100000x10
supplies_cool_water260b110100x1A
supplies_gas200b101000x14
supplies_hot_air140b11100xE
supplies_hot_water240b110000x18
supplies_power180b100100x12
supplies_steam280b111000x1C
supplies_water220b101100x16
unknown00b00x0
used_by50b1010x5
uses40b1000x4

Constants: Reliability

Type: :reliability

NameValueValue BinValue Hex
activation_failure170b100010x11
communication_failure120b11000xC
configuration_error100b10100xA
faults_listed230b101110x17
lamp_failure160b100000x10
member_fault130b11010xD
monitored_object_fault140b11100xE
multi_state_fault90b10010x9
no_fault_detected00b00x0
no_output60b1100x6
no_sensor10b10x1
open_loop40b1000x4
over_range20b100x2
process_error80b10000x8
proprietary_command_failure220b101100x16
referenced_object_fault240b110000x18
renew_dhcp_failure180b100100x12
renew_fd_registration_failure190b100110x13
restart_auto_negotiation_failure200b101000x14
restart_failure210b101010x15
shorted_loop50b1010x5
tripped150b11110xF
under_range30b110x3
unreliable_other70b1110x7

Constants: Restart Reason

Type: :restart_reason

NameValueValue BinValue Hex
activate_changes80b10000x8
coldstart10b10x1
detected_power_lost30b110x3
detected_powered_off40b1000x4
hardware_watchdog50b1010x5
software_watchdog60b1100x6
suspended70b1110x7
unknown00b00x0
warmstart20b100x2

Constants: Result Flag

Type: :result_flag

NameValueValue BinValue Hex
first_item00b00x0
last_item10b10x1
more_items20b100x2

Constants: Security Level

Type: :security_level

NameValueValue BinValue Hex
encrypted30b110x3
encrypted_end_to_end50b1010x5
incapable00b00x0
plain10b10x1
signed20b100x2
signed_end_to_end40b1000x4

Constants: Security Policy

Type: :security_policy

NameValueValue BinValue Hex
encrypted_trusted30b110x3
plain_non_trusted00b00x0
plain_trusted10b10x1
signed_trusted20b100x2

Constants: Segmentation

Type: :segmentation

NameValueValue BinValue Hex
no_segmentation30b110x3
segmented_both00b00x0
segmented_receive20b100x2
segmented_transmit10b10x1

Constants: Services Supported

Type: :services_supported

NameValueValue BinValue Hex
acknowledge_alarm00b00x0
add_list_element80b10000x8
atomic_read_file60b1100x6
atomic_write_file70b1110x7
authenticate240b110000x18
confirmed_cov_notification10b10x1
confirmed_cov_notification_multiple420b1010100x2A
confirmed_event_notification20b100x2
confirmed_private_transfer180b100100x12
confirmed_text_message190b100110x13
create_object100b10100xA
delete_object110b10110xB
device_communication_control170b100010x11
get_alarm_summary30b110x3
get_enrollment_summary40b1000x4
get_event_information390b1001110x27
i_am260b110100x1A
i_have270b110110x1B
life_safety_operation370b1001010x25
read_property120b11000xC
read_property_conditional130b11010xD
read_property_multiple140b11100xE
read_range350b1000110x23
reinitialize_device200b101000x14
remove_list_element90b10010x9
request_key250b110010x19
subscribe_cov50b1010x5
subscribe_cov_property380b1001100x26
subscribe_cov_property_multiple410b1010010x29
time_synchronization320b1000000x20
unconfirmed_cov_notification280b111000x1C
unconfirmed_cov_notification_multiple430b1010110x2B
unconfirmed_event_notification290b111010x1D
unconfirmed_private_transfer300b111100x1E
unconfirmed_text_message310b111110x1F
utc_time_synchronization360b1001000x24
vt_close220b101100x16
vt_data230b101110x17
vt_open210b101010x15
who_has330b1000010x21
who_is340b1000100x22
write_group400b1010000x28
write_property150b11110xF
write_property_multiple160b100000x10

Constants: Shed State

Type: :shed_state

NameValueValue BinValue Hex
shed_compliant20b100x2
shed_inactive00b00x0
shed_non_compliant30b110x3
shed_request_pending10b10x1

Constants: Silenced State

Type: :silenced_state

NameValueValue BinValue Hex
all_silenced30b110x3
audible_silenced10b10x1
unsilenced00b00x0
visible_silenced20b100x2

Constants: Status Flag

Type: :status_flag

NameValueValue BinValue Hex
fault10b10x1
in_alarm00b00x0
out_of_service30b110x3
overridden20b100x2

Constants: Timer State

Type: :timer_state

NameValueValue BinValue Hex
expired20b100x2
idle00b00x0
running10b10x1

Constants: Timer Transition

Type: :timer_transition

NameValueValue BinValue Hex
expired_to_idle60b1100x6
expired_to_running70b1110x7
forced_to_expired50b1010x5
idle_to_running10b10x1
none00b00x0
running_to_expired40b1000x4
running_to_idle20b100x2
running_to_running30b110x3

Constants: Unconfirmed Service Choice

Type: :unconfirmed_service_choice

NameValueValue BinValue Hex
i_am00b00x0
i_have10b10x1
time_synchronization60b1100x6
unconfirmed_cov_notification20b100x2
unconfirmed_cov_notification_multiple110b10110xB
unconfirmed_event_notification30b110x3
unconfirmed_private_transfer40b1000x4
unconfirmed_text_message50b1010x5
utc_time_synchronization90b10010x9
who_has70b1110x7
who_is80b10000x8
write_group100b10100xA

Constants: Vt Class

Type: :vt_class

NameValueValue BinValue Hex
ansi_x3_6410b10x1
dec_vt10030b110x3
dec_vt22040b1000x4
dec_vt5220b100x2
default_terminal00b00x0
hp_700_9450b1010x5
ibm_313060b1100x6

Constants: Write Status

Type: :write_status

NameValueValue BinValue Hex
failed30b110x3
idle00b00x0
in_progress10b10x1
successful20b100x2

Summary

Types

Application Tags (ASHRAE 135 - 20.2.1.4 Application Tags)

BACnet Virtual Link Control (BVLC)

BACnet Virtual Link Control (BVLC)

BACnet Virtual Link Layer (BVLL) for BACnet/IP

Character String Encoding (ASHRAE 135 - 20.2.9 Encoding of a Character String Value)

Days Of Week (ASHRAE 135 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS)

Enable Disable (ASHRAE 135 - 16.1.1.1.2 Enable/Disable)

The maximum APDU length supported by BACnet. Each device (respectively transport layer) may support only the minimum or a value in between.

Max APDU Length Accepted (ASHRAE 135 - 20.1.2.5 max-apdu-length-accepted)

The maximum amount of segments for segmented requests or responses.

Max Segments Accepted (ASHRAE 135 - 20.1.2.4 max-segments-accepted)

Network Layer Message Type (ASHRAE 135 - 6.2.4 Network Layer Message Type)

NPDU Control Bits (ASHRAE 135 - 6.2.2 Network Layer Protocol Control Information)

NPDU Control Priority (ASHRAE 135 - 6.2.2 Network Layer Protocol Control Information)

PDU Confirmed Request PDU Bits (ASHRAE 135 - 20.1.2.11 Format of the BACnet-Confirmed-Request-PDU)

PDU Segment ACK Bits (ASHRAE 135 - 20.1.6.6 Format of the BACnet-SegmentACK-PDU)

PDU Types (ASHRAE 135 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS)

When creating BACnet objects, the designated revision can be chosen from the constants. The designated revision decides which properties are required. Optional properties are regardless of the revision available.

Reinitialized State (ASHRAE 135 - 16.4.1.1.1 Reinitialized State of Device)

Functions

Assert that the given constant is defined. This function returns the name of the constant.

Assert that the given constant is defined. This function returns the name of the constant. If the constant does not exist, the call will raise.

Retrieve the value of a constant, identified by type and name.

Retrieve the value of a constant, identified by type and name. If found, the value will be returned, otherwise the default will be returned.

Retrieve the value of a constant, identified by type and name. If the constant does not exist, the call will raise.

Equivalent to by_name/3, however it uses by_name!/2 when the name is an atom. If the name is not an atom, it is returned as-is.

Equivalent to by_name/2, however instead of returning plain :error, it returns {:error, reason}, where reason is user-supplied.

Retrieve the name of a constant, identified by type and value.

Retrieve the value of a constant, identified by type and value. If found, the name will be returned, otherwise the default will be returned.

Retrieve the name of a constant, identified by type and value. If the constant does not exist, the call will raise.

Equivalent to by_value/2, however instead of returning plain :error, it returns {:error, reason}, where reason is user-supplied.

Checks if the constant exists, identified by type and name.

Checks if the constant exists, identified by type and value.

Same as assert_name!/2, but as compile-time macro.

Same as by_name!/2, but as compile-time macro.

Same as by_value!/2, but as compile-time macro.

Get a list of all valid constant names values for the given type (in keyword list form).

Get a list of all valid constant names for the given type.

Types

abort_reason()

@type abort_reason() ::
  :apdu_too_long
  | :application_exceeded_reply_time
  | :buffer_overflow
  | :insufficient_security
  | :invalid_apdu_in_this_state
  | :other
  | :out_of_resources
  | :preempted_by_higher_priority_task
  | :security_error
  | :segmentation_not_supported
  | :tsm_timeout
  | :window_size_out_of_range

accumulator_scale()

@type accumulator_scale() :: :float_scale | :integer_scale

accumulator_status()

@type accumulator_status() :: :abnormal | :failed | :normal | :recovered | :starting

action()

@type action() :: :direct | :reverse

application_tag()

@type application_tag() ::
  :bitstring
  | :boolean
  | :character_string
  | :date
  | :double
  | :enumerated
  | :null
  | :object_identifier
  | :octet_string
  | :real
  | :signed_integer
  | :time
  | :unsigned_integer

Application Tags (ASHRAE 135 - 20.2.1.4 Application Tags)

backup_state()

@type backup_state() ::
  :backup_failure
  | :idle
  | :performing_a_backup
  | :performing_a_restore
  | :preparing_for_backup
  | :preparing_for_restore
  | :restore_failure

binary_lighting_present_value()

@type binary_lighting_present_value() ::
  :off | :on | :stop | :warn | :warn_off | :warn_relinquish

binary_present_value()

@type binary_present_value() :: :active | :inactive

bvlc_result_format()

@type bvlc_result_format() ::
  :delete_foreign_device_table_entry_nak
  | :distribute_broadcast_to_network_nak
  | :read_broadcast_distribution_table_nak
  | :read_foreign_device_table_nak
  | :register_foreign_device_nak
  | :successful_completion
  | :write_broadcast_distribution_table_nak

BACnet Virtual Link Control (BVLC)

bvlc_result_purpose()

@type bvlc_result_purpose() ::
  :bvlc_delete_foreign_device_table_entry
  | :bvlc_distribute_broadcast_to_network
  | :bvlc_forwarded_npdu
  | :bvlc_original_broadcast_npdu
  | :bvlc_original_unicast_npdu
  | :bvlc_read_broadcast_distribution_table
  | :bvlc_read_broadcast_distribution_table_ack
  | :bvlc_read_foreign_device_table
  | :bvlc_read_foreign_device_table_ack
  | :bvlc_register_foreign_device
  | :bvlc_result
  | :bvlc_secure_bvll
  | :bvlc_write_broadcast_distribution_table

BACnet Virtual Link Control (BVLC)

bvll()

@type bvll() :: :default_port_bacnet_ip | :type_bacnet_ipv4 | :type_bacnet_ipv6

BACnet Virtual Link Layer (BVLL) for BACnet/IP

character_string_encoding()

@type character_string_encoding() ::
  :iso_8859_1 | :jis_x_0208 | :microsoft_dbcs | :ucs_2 | :ucs_4 | :utf8

Character String Encoding (ASHRAE 135 - 20.2.9 Encoding of a Character String Value)

confirmed_service_choice()

@type confirmed_service_choice() ::
  :acknowledge_alarm
  | :add_list_element
  | :atomic_read_file
  | :atomic_write_file
  | :confirmed_cov_notification
  | :confirmed_cov_notification_multiple
  | :confirmed_event_notification
  | :confirmed_private_transfer
  | :confirmed_text_message
  | :create_object
  | :delete_object
  | :device_communication_control
  | :get_alarm_summary
  | :get_enrollment_summary
  | :get_event_information
  | :life_safety_operation
  | :read_property
  | :read_property_multiple
  | :read_range
  | :reinitialize_device
  | :remove_list_element
  | :subscribe_cov
  | :subscribe_cov_property
  | :subscribe_cov_property_multiple
  | :vt_close
  | :vt_data
  | :vt_open
  | :write_property
  | :write_property_multiple

days_of_week()

@type days_of_week() ::
  :friday | :monday | :saturday | :sunday | :thursday | :tuesday | :wednesday

Days Of Week (ASHRAE 135 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS)

device_status()

@type device_status() ::
  :backup_in_progress
  | :download_in_progress
  | :download_required
  | :non_operational
  | :operational
  | :operational_read_only

door_alarm_state()

@type door_alarm_state() ::
  :alarm
  | :door_fault
  | :door_open_too_long
  | :egress_open
  | :forced_open
  | :free_access
  | :lock_down
  | :normal
  | :tamper

door_secured_status()

@type door_secured_status() :: :secured | :unknown | :unsecured

door_status()

@type door_status() ::
  :closed
  | :closing
  | :door_fault
  | :limited_opened
  | :none
  | :opened
  | :opening
  | :safety_locked
  | :unknown
  | :unused

door_value()

@type door_value() :: :extended_pulse_unlock | :lock | :pulse_unlock | :unlock

enable_disable()

@type enable_disable() :: :disable | :disable_initiation | :enable

Enable Disable (ASHRAE 135 - 16.1.1.1.2 Enable/Disable)

engineering_unit()

@type engineering_unit() ::
  :ampere_seconds
  | :ampere_square_hours
  | :ampere_square_meters
  | :amperes
  | :amperes_per_meter
  | :amperes_per_square_meter
  | :bars
  | :becquerels
  | :btus
  | :btus_per_hour
  | :btus_per_pound
  | :btus_per_pound_dry_air
  | :candelas
  | :candelas_per_square_meter
  | :centimeters
  | :centimeters_of_mercury
  | :centimeters_of_water
  | :cubic_feet
  | :cubic_feet_per_day
  | :cubic_feet_per_hour
  | :cubic_feet_per_minute
  | :cubic_feet_per_second
  | :cubic_meters
  | :cubic_meters_per_day
  | :cubic_meters_per_hour
  | :cubic_meters_per_minute
  | :cubic_meters_per_second
  | :currency1
  | :currency10
  | :currency2
  | :currency3
  | :currency4
  | :currency5
  | :currency6
  | :currency7
  | :currency8
  | :currency9
  | :cycles_per_hour
  | :cycles_per_minute
  | :days
  | :decibels
  | :decibels_a
  | :decibels_millivolt
  | :decibels_volt
  | :degree_days_celsius
  | :degree_days_fahrenheit
  | :degrees_angular
  | :degrees_celsius
  | :degrees_celsius_per_hour
  | :degrees_celsius_per_minute
  | :degrees_fahrenheit
  | :degrees_fahrenheit_per_hour
  | :degrees_fahrenheit_per_minute
  | :degrees_kelvin
  | :degrees_kelvin_per_hour
  | :degrees_kelvin_per_minute
  | :degrees_phase
  | :delta_degrees_fahrenheit
  | :delta_degrees_kelvin
  | :farads
  | :feet
  | :feet_per_minute
  | :feet_per_second
  | :foot_candles
  | :grams
  | :grams_of_water_per_kilogram_dry_air
  | :grams_per_cubic_centimeter
  | :grams_per_cubic_meter
  | :grams_per_gram
  | :grams_per_kilogram
  | :grams_per_liter
  | :grams_per_milliliter
  | :grams_per_minute
  | :grams_per_second
  | :grams_per_square_meter
  | :gray
  | :hectopascals
  | :henrys
  | :hertz
  | :horsepower
  | :hours
  | :hundredths_seconds
  | :imperial_gallons
  | :imperial_gallons_per_minute
  | :inches
  | :inches_of_mercury
  | :inches_of_water
  | :joule_per_hours
  | :joule_seconds
  | :joules
  | :joules_per_cubic_meter
  | :joules_per_degree_kelvin
  | :joules_per_kilogram_degree_kelvin
  | :joules_per_kilogram_dry_air
  | :kilo_btus
  | :kilo_btus_per_hour
  | :kilobecquerels
  | :kilograms
  | :kilograms_per_cubic_meter
  | :kilograms_per_hour
  | :kilograms_per_kilogram
  | :kilograms_per_minute
  | :kilograms_per_second
  | :kilohertz
  | :kilohms
  | :kilojoules
  | :kilojoules_per_degree_kelvin
  | :kilojoules_per_kilogram
  | :kilojoules_per_kilogram_dry_air
  | :kilometers
  | :kilometers_per_hour
  | :kilopascals
  | :kilovolt_ampere_hours
  | :kilovolt_ampere_hours_reactive
  | :kilovolt_amperes
  | :kilovolt_amperes_reactive
  | :kilovolts
  | :kilowatt_hours
  | :kilowatt_hours_per_square_foot
  | :kilowatt_hours_per_square_meter
  | :kilowatt_hours_reactive
  | :kilowatts
  | :liters
  | :liters_per_hour
  | :liters_per_minute
  | :liters_per_second
  | :lumens
  | :luxes
  | :mega_btus
  | :megabecquerels
  | :megahertz
  | :megajoules
  | :megajoules_per_degree_kelvin
  | :megajoules_per_kilogram_dry_air
  | :megajoules_per_square_foot
  | :megajoules_per_square_meter
  | :megavolt_ampere_hours
  | :megavolt_ampere_hours_reactive
  | :megavolt_amperes
  | :megavolt_amperes_reactive
  | :megavolts
  | :megawatt_hours
  | :megawatt_hours_reactive
  | :megawatts
  | :megohms
  | :meters
  | :meters_per_hour
  | :meters_per_minute
  | :meters_per_second
  | :meters_per_second_per_second
  | :micrograms_per_cubic_meter
  | :micrograms_per_liter
  | :microgray
  | :micrometers
  | :microsiemens
  | :microsieverts
  | :microsieverts_per_hour
  | :miles_per_hour
  | :milliamperes
  | :millibars
  | :milligrams
  | :milligrams_per_cubic_meter
  | :milligrams_per_gram
  | :milligrams_per_kilogram
  | :milligrams_per_liter
  | :milligray
  | :milliliters
  | :milliliters_per_second
  | :millimeters
  | :millimeters_of_mercury
  | :millimeters_of_water
  | :millimeters_per_minute
  | :millimeters_per_second
  | :milliohms
  | :million_standard_cubic_feet_per_day
  | :million_standard_cubic_feet_per_minute
  | :millirems
  | :millirems_per_hour
  | :milliseconds
  | :millisiemens
  | :millisieverts
  | :millivolts
  | :milliwatts
  | :minutes
  | :minutes_per_degree_kelvin
  | :mole_percent
  | :months
  | :nanograms_per_cubic_meter
  | :nephelometric_turbidity_unit
  | :newton
  | :newton_meters
  | :newton_seconds
  | :newtons_per_meter
  | :no_units
  | :ohm_meter_squared_per_meter
  | :ohm_meters
  | :ohms
  | :parts_per_billion
  | :parts_per_million
  | :pascal_seconds
  | :pascals
  | :per_hour
  | :per_mille
  | :per_minute
  | :per_second
  | :percent
  | :percent_obscuration_per_foot
  | :percent_obscuration_per_meter
  | :percent_per_second
  | :percent_relative_humidity
  | :ph
  | :pounds_force_per_square_inch
  | :pounds_mass
  | :pounds_mass_per_day
  | :pounds_mass_per_hour
  | :pounds_mass_per_minute
  | :pounds_mass_per_second
  | :power_factor
  | :psi_per_degree_fahrenheit
  | :radians
  | :radians_per_second
  | :revolutions_per_minute
  | :seconds
  | :siemens
  | :siemens_per_meter
  | :sieverts
  | :square_centimeters
  | :square_feet
  | :square_inches
  | :square_meters
  | :square_meters_per_newton
  | :standard_cubic_feet_per_day
  | :teslas
  | :therms
  | :thousand_cubic_feet_per_day
  | :thousand_standard_cubic_feet_per_day
  | :ton_hours
  | :tons
  | :tons_per_hour
  | :tons_refrigeration
  | :us_gallons
  | :us_gallons_per_hour
  | :us_gallons_per_minute
  | :volt_ampere_hours
  | :volt_ampere_hours_reactive
  | :volt_amperes
  | :volt_amperes_reactive
  | :volt_square_hours
  | :volts
  | :volts_per_degree_kelvin
  | :volts_per_meter
  | :watt_hours
  | :watt_hours_per_cubic_meter
  | :watt_hours_reactive
  | :watts
  | :watts_per_meter_per_degree_kelvin
  | :watts_per_square_foot
  | :watts_per_square_meter
  | :watts_per_square_meter_degree_kelvin
  | :webers
  | :weeks
  | :years

error_class()

@type error_class() ::
  :communication
  | :device
  | :object
  | :property
  | :resources
  | :security
  | :services
  | :vt

error_code()

@type error_code() ::
  :abort_apdu_too_long
  | :abort_application_exceeded_reply_time
  | :abort_buffer_overflow
  | :abort_insufficient_security
  | :abort_invalid_apdu_in_this_state
  | :abort_other
  | :abort_out_of_resources
  | :abort_preempted_by_higher_priority_task
  | :abort_proprietary
  | :abort_security_error
  | :abort_segmentation_not_supported
  | :abort_tsm_timeout
  | :abort_window_size_out_of_range
  | :access_denied
  | :addressing_error
  | :bad_destination_address
  | :bad_destination_device_id
  | :bad_signature
  | :bad_source_address
  | :bad_timestamp
  | :busy
  | :cannot_use_key
  | :cannot_verify_message_id
  | :character_set_not_supported
  | :communication_disabled
  | :configuration_in_progress
  | :correct_key_revision
  | :cov_subscription_failed
  | :datatype_not_supported
  | :delete_fdt_entry_failed
  | :destination_device_id_required
  | :device_busy
  | :distribute_broadcast_failed
  | :duplicate_entry
  | :duplicate_message
  | :duplicate_name
  | :duplicate_object_id
  | :dynamic_creation_not_supported
  | :encryption_not_configured
  | :encryption_required
  | :file_access_denied
  | :file_full
  | :inconsistent_configuration
  | :inconsistent_object_type
  | :inconsistent_parameters
  | :inconsistent_selection_criterion
  | :incorrect_key
  | :internal_error
  | :invalid_array_index
  | :invalid_configuration_data
  | :invalid_datatype
  | :invalid_event_state
  | :invalid_file_access_method
  | :invalid_file_start_position
  | :invalid_key_data
  | :invalid_parameter_data_type
  | :invalid_tag
  | :invalid_timestamp
  | :invalid_value_in_this_state
  | :key_update_in_progress
  | :list_element_not_found
  | :log_buffer_full
  | :logged_value_purged
  | :malformed_message
  | :message_too_long
  | :missing_required_parameter
  | :network_down
  | :no_alarm_configured
  | :no_objects_of_specified_type
  | :no_property_specified
  | :no_space_for_object
  | :no_space_to_add_list_element
  | :no_space_to_write_property
  | :no_vt_sessions_available
  | :not_configured
  | :not_configured_for_triggered_logging
  | :not_cov_property
  | :not_key_server
  | :not_router_to_dnet
  | :object_deletion_not_permitted
  | :object_identifier_already_exists
  | :operational_problem
  | :optional_functionality_not_supported
  | :other
  | :out_of_memory
  | :parameter_out_of_range
  | :password_failure
  | :property_is_not_a_list
  | :property_is_not_an_array
  | :read_access_denied
  | :read_bdt_failed
  | :read_fdt_failed
  | :register_foreign_device_failed
  | :reject_buffer_overflow
  | :reject_inconsistent_parameters
  | :reject_invalid_parameter_data_type
  | :reject_invalid_tag
  | :reject_missing_required_parameter
  | :reject_other
  | :reject_parameter_out_of_range
  | :reject_proprietary
  | :reject_too_many_arguments
  | :reject_undefined_enumeration
  | :reject_unrecognized_service
  | :router_busy
  | :security_error
  | :security_not_configured
  | :service_request_denied
  | :source_security_required
  | :success
  | :timeout
  | :too_many_keys
  | :unknown_authentication_type
  | :unknown_device
  | :unknown_file_size
  | :unknown_key
  | :unknown_key_revision
  | :unknown_network_message
  | :unknown_object
  | :unknown_property
  | :unknown_route
  | :unknown_source_message
  | :unknown_subscription
  | :unknown_vt_class
  | :unknown_vt_session
  | :unsupported_object_type
  | :value_not_initialized
  | :value_out_of_range
  | :value_too_long
  | :vt_session_already_closed
  | :vt_session_termination_failure
  | :write_access_denied
  | :write_bdt_failed

event_state()

@type event_state() ::
  :fault | :high_limit | :life_safety_alarm | :low_limit | :normal | :offnormal

event_transition_bit()

@type event_transition_bit() :: :to_fault | :to_normal | :to_offnormal

event_type()

@type event_type() ::
  :access_event
  | :buffer_ready
  | :change_of_bitstring
  | :change_of_characterstring
  | :change_of_discrete_value
  | :change_of_life_safety
  | :change_of_reliability
  | :change_of_state
  | :change_of_status_flags
  | :change_of_timer
  | :change_of_value
  | :command_failure
  | :complex_event_type
  | :double_out_of_range
  | :extended
  | :floating_limit
  | :none
  | :out_of_range
  | :signed_out_of_range
  | :unsigned_out_of_range
  | :unsigned_range

fault_type()

@type fault_type() ::
  :fault_characterstring
  | :fault_extended
  | :fault_life_safety
  | :fault_listed
  | :fault_out_of_range
  | :fault_state
  | :fault_status_flags
  | :none

file_access_method()

@type file_access_method() :: :record_access | :stream_access

ip_mode()

@type ip_mode() :: :bbmd | :foreign | :normal

life_safety_mode()

@type life_safety_mode() ::
  :armed
  | :automatic_release_disabled
  | :default
  | :disabled
  | :disarmed
  | :disconnected
  | :enabled
  | :fast
  | :manned
  | :off
  | :on
  | :prearmed
  | :slow
  | :test
  | :unmanned

life_safety_operation()

@type life_safety_operation() ::
  :none
  | :reset
  | :reset_alarm
  | :reset_fault
  | :silence
  | :silence_audible
  | :silence_visual
  | :unsilence
  | :unsilence_audible
  | :unsilence_visual

life_safety_state()

@type life_safety_state() ::
  :abnormal
  | :active
  | :alarm
  | :blocked
  | :delayed
  | :duress
  | :emergency_power
  | :fault
  | :fault_alarm
  | :fault_pre_alarm
  | :general_alarm
  | :holdup
  | :local_alarm
  | :not_ready
  | :pre_alarm
  | :quiet
  | :supervisory
  | :tamper
  | :tamper_alarm
  | :test_active
  | :test_alarm
  | :test_fault
  | :test_fault_alarm
  | :test_supervisory

lighting_in_progress()

@type lighting_in_progress() ::
  :fade_active | :idle | :not_controlled | :other | :ramp_active

lighting_operation()

@type lighting_operation() ::
  :fade_to
  | :none
  | :ramp_to
  | :step_down
  | :step_off
  | :step_on
  | :step_up
  | :stop
  | :warn
  | :warn_off
  | :warn_relinquish

lighting_transition()

@type lighting_transition() :: :fade | :none | :ramp

limit_enable()

@type limit_enable() :: :high_limit_enable | :low_limit_enable

lock_status()

@type lock_status() :: :lock_fault | :locked | :unknown | :unlocked | :unused

log_status()

@type log_status() :: :buffer_purged | :log_disabled | :log_interrupted

logging_type()

@type logging_type() :: :cov | :polled | :triggered

maintenance()

@type maintenance() ::
  :need_service_inoperative | :need_service_operational | :none | :periodic_test

max_apdu()

@type max_apdu() :: 50..1467

The maximum APDU length supported by BACnet. Each device (respectively transport layer) may support only the minimum or a value in between.

max_apdu_length_accepted()

@type max_apdu_length_accepted() ::
  :octets_1024
  | :octets_128
  | :octets_1476
  | :octets_206
  | :octets_480
  | :octets_50

Max APDU Length Accepted (ASHRAE 135 - 20.1.2.5 max-apdu-length-accepted)

max_segments()

@type max_segments() :: 1..64 | :more_than_64 | :unspecified

The maximum amount of segments for segmented requests or responses.

max_segments_accepted()

@type max_segments_accepted() ::
  :segments_0
  | :segments_16
  | :segments_2
  | :segments_32
  | :segments_4
  | :segments_64
  | :segments_65
  | :segments_8

Max Segments Accepted (ASHRAE 135 - 20.1.2.4 max-segments-accepted)

network_layer_message_type()

@type network_layer_message_type() ::
  :challenge_request
  | :disconnect_connection_to_network
  | :establish_connection_to_network
  | :i_am_router_to_network
  | :i_could_be_router_to_network
  | :initialize_routing_table
  | :initialize_routing_table_ack
  | :network_number_is
  | :reject_message_to_network
  | :request_key_update
  | :request_master_key
  | :reserved_area_start
  | :router_available_to_network
  | :router_busy_to_network
  | :security_payload
  | :security_response
  | :set_master_key
  | :update_distribution_key
  | :update_key_set
  | :vendor_proprietary_area_start
  | :what_is_network_number
  | :who_is_router_to_network

Network Layer Message Type (ASHRAE 135 - 6.2.4 Network Layer Message Type)

network_number_quality()

@type network_number_quality() ::
  :configured | :learned | :learned_configured | :unknown

network_port_command()

@type network_port_command() ::
  :discard_changes
  | :disconnect
  | :idle
  | :renew_dhcp
  | :renew_fd_registration
  | :restart_autonegotiation
  | :restart_port
  | :restart_slave_discovery

network_type()

@type network_type() ::
  :arcnet
  | :ethernet
  | :ipv4
  | :ipv6
  | :lontalk
  | :mstp
  | :ptp
  | :serial
  | :virtual
  | :zigbee

node_type()

@type node_type() ::
  :area
  | :building
  | :collection
  | :device
  | :equipment
  | :floor
  | :functional
  | :member
  | :module
  | :network
  | :organizational
  | :other
  | :point
  | :property
  | :protocol
  | :room
  | :section
  | :subsystem
  | :system
  | :tree
  | :unknown
  | :zone

notify_type()

@type notify_type() :: :ack_notification | :alarm | :event

npdu_control_bit()

@type npdu_control_bit() ::
  :destination_specified
  | :expecting_reply
  | :network_layer_message
  | :source_specified

NPDU Control Bits (ASHRAE 135 - 6.2.2 Network Layer Protocol Control Information)

npdu_control_priority()

@type npdu_control_priority() ::
  :critical_equipment_message | :life_safety_message | :normal | :urgent

NPDU Control Priority (ASHRAE 135 - 6.2.2 Network Layer Protocol Control Information)

object_type()

@type object_type() ::
  :access_credential
  | :access_door
  | :access_point
  | :access_rights
  | :access_user
  | :access_zone
  | :accumulator
  | :alert_enrollment
  | :analog_input
  | :analog_output
  | :analog_value
  | :averaging
  | :binary_input
  | :binary_lighting_output
  | :binary_output
  | :binary_value
  | :bitstring_value
  | :calendar
  | :channel
  | :character_string_value
  | :command
  | :credential_data_input
  | :date_pattern_value
  | :date_value
  | :datetime_pattern_value
  | :datetime_value
  | :device
  | :elevator_group
  | :escalator
  | :event_enrollment
  | :event_log
  | :file
  | :global_group
  | :group
  | :integer_value
  | :large_analog_value
  | :life_safety_point
  | :life_safety_zone
  | :lift
  | :lighting_output
  | :load_control
  | :loop
  | :multi_state_input
  | :multi_state_output
  | :multi_state_value
  | :network_port
  | :network_security
  | :notification_class
  | :notification_forwarder
  | :octet_string_value
  | :positive_integer_value
  | :program
  | :pulse_converter
  | :schedule
  | :structured_view
  | :time_pattern_value
  | :time_value
  | :timer
  | :trend_log
  | :trend_log_multiple

object_types_supported()

@type object_types_supported() ::
  :access_credential
  | :access_door
  | :access_point
  | :access_rights
  | :access_user
  | :access_zone
  | :accumulator
  | :alert_enrollment
  | :analog_input
  | :analog_output
  | :analog_value
  | :averaging
  | :binary_input
  | :binary_lighting_output
  | :binary_output
  | :binary_value
  | :bitstring_value
  | :calendar
  | :channel
  | :character_string_value
  | :command
  | :credential_data_input
  | :date_pattern_value
  | :date_value
  | :datetime_pattern_value
  | :datetime_value
  | :device
  | :elevator_group
  | :escalator
  | :event_enrollment
  | :event_log
  | :file
  | :global_group
  | :group
  | :integer_value
  | :large_analog_value
  | :life_safety_point
  | :life_safety_zone
  | :lift
  | :lighting_output
  | :load_control
  | :loop
  | :multi_state_input
  | :multi_state_output
  | :multi_state_value
  | :network_port
  | :network_security
  | :notification_class
  | :notification_forwarder
  | :octet_string_value
  | :positive_integer_value
  | :program
  | :pulse_converter
  | :schedule
  | :structured_view
  | :time_pattern_value
  | :time_value
  | :timer
  | :trend_log
  | :trend_log_multiple

pdu_confirmed_request_bit()

@type pdu_confirmed_request_bit() ::
  :more_follows | :segmented_message | :segmented_response_accepted

PDU Confirmed Request PDU Bits (ASHRAE 135 - 20.1.2.11 Format of the BACnet-Confirmed-Request-PDU)

pdu_segment_ack_bit()

@type pdu_segment_ack_bit() :: :negative_ack | :server

PDU Segment ACK Bits (ASHRAE 135 - 20.1.6.6 Format of the BACnet-SegmentACK-PDU)

pdu_type()

@type pdu_type() ::
  :abort
  | :complex_ack
  | :confirmed_request
  | :error
  | :reject
  | :segment_ack
  | :simple_ack
  | :unconfirmed_request

PDU Types (ASHRAE 135 - 21 FORMAL DESCRIPTION OF APPLICATION PROTOCOL DATA UNITS)

polarity()

@type polarity() :: :normal | :reverse

program_error()

@type program_error() :: :internal | :load_failed | :normal | :other | :program

program_request()

@type program_request() :: :halt | :load | :ready | :restart | :run | :unload

program_state()

@type program_state() :: :halted | :idle | :loading | :running | :unloading | :waiting

property_identifier()

@type property_identifier() ::
  :absentee_limit
  | :accepted_modes
  | :access_alarm_events
  | :access_doors
  | :access_event
  | :access_event_authentication_factor
  | :access_event_credential
  | :access_event_tag
  | :access_event_time
  | :access_transaction_events
  | :accompaniment
  | :accompaniment_time
  | :ack_required
  | :acked_transitions
  | :action
  | :action_text
  | :activation_time
  | :active_authentication_policy
  | :active_cov_multiple_subscriptions
  | :active_cov_subscriptions
  | :active_text
  | :active_vt_sessions
  | :actual_shed_level
  | :adjust_value
  | :alarm_value
  | :alarm_values
  | :align_intervals
  | :all
  | :all_writes_successful
  | :allow_group_delay_inhibit
  | :apdu_length
  | :apdu_segment_timeout
  | :apdu_timeout
  | :application_software_version
  | :archive
  | :assigned_access_rights
  | :assigned_landing_calls
  | :attempted_samples
  | :authentication_factors
  | :authentication_policy_list
  | :authentication_policy_names
  | :authentication_status
  | :authorization_exemptions
  | :authorization_mode
  | :auto_slave_discovery
  | :average_value
  | :backup_and_restore_state
  | :backup_failure_timeout
  | :backup_preparation_time
  | :bacnet_ip_global_address
  | :bacnet_ip_mode
  | :bacnet_ip_multicast_address
  | :bacnet_ip_nat_traversal
  | :bacnet_ip_udp_port
  | :bacnet_ipv6_mode
  | :bacnet_ipv6_multicast_address
  | :bacnet_ipv6_udp_port
  | :bbmd_accept_fd_registrations
  | :bbmd_broadcast_distribution_table
  | :bbmd_foreign_device_table
  | :belongs_to
  | :bias
  | :bit_mask
  | :bit_text
  | :blink_warn_enable
  | :buffer_size
  | :car_assigned_direction
  | :car_door_command
  | :car_door_status
  | :car_door_text
  | :car_door_zone
  | :car_drive_status
  | :car_load
  | :car_load_units
  | :car_mode
  | :car_moving_direction
  | :car_position
  | :change_of_state_count
  | :change_of_state_time
  | :changes_pending
  | :channel_number
  | :client_cov_increment
  | :command
  | :command_time_array
  | :configuration_files
  | :control_groups
  | :controlled_variable_reference
  | :controlled_variable_units
  | :controlled_variable_value
  | :count
  | :count_before_change
  | :count_change_time
  | :cov_increment
  | :cov_period
  | :cov_resubscription_interval
  | :covu_period
  | :covu_recipients
  | :credential_disable
  | :credential_status
  | :credentials
  | :credentials_in_zone
  | :current_command_priority
  | :database_revision
  | :date_list
  | :daylight_savings_status
  | :days_remaining
  | :deadband
  | :default_fade_time
  | :default_ramp_rate
  | :default_step_increment
  | :default_subordinate_relationship
  | :default_timeout
  | :deployed_profile_location
  | :derivative_constant
  | :derivative_constant_units
  | :description
  | :description_of_halt
  | :device_address_binding
  | :device_type
  | :direct_reading
  | :distribution_key_revision
  | :do_not_hide
  | :door_alarm_state
  | :door_extended_pulse_time
  | :door_members
  | :door_open_too_long_time
  | :door_pulse_time
  | :door_status
  | :door_unlock_delay_time
  | :duty_window
  | :effective_period
  | :egress_active
  | :egress_time
  | :elapsed_active_time
  | :elevator_group
  | :enable
  | :energy_meter
  | :energy_meter_ref
  | :entry_points
  | :error_limit
  | :escalator_mode
  | :event_algorithm_inhibit
  | :event_algorithm_inhibit_ref
  | :event_detection_enable
  | :event_enable
  | :event_message_texts
  | :event_message_texts_config
  | :event_parameters
  | :event_state
  | :event_timestamps
  | :event_type
  | :exception_schedule
  | :execution_delay
  | :exit_points
  | :expected_shed_level
  | :expiration_time
  | :extended_time_enable
  | :failed_attempt_events
  | :failed_attempts
  | :failed_attempts_time
  | :fault_high_limit
  | :fault_low_limit
  | :fault_parameters
  | :fault_signals
  | :fault_type
  | :fault_values
  | :fd_bbmd_address
  | :fd_subscription_lifetime
  | :feedback_value
  | :file_access_method
  | :file_size
  | :file_type
  | :firmware_revision
  | :floor_text
  | :full_duty_baseline
  | :global_identifier
  | :group_id
  | :group_member_names
  | :group_members
  | :group_mode
  | :high_limit
  | :higher_deck
  | :in_process
  | :in_progress
  | :inactive_text
  | :initial_timeout
  | :input_reference
  | :installation_id
  | :instance_of
  | :instantaneous_power
  | :integral_constant
  | :integral_constant_units
  | :interface_value
  | :interval_offset
  | :ip_address
  | :ip_default_gateway
  | :ip_dhcp_enable
  | :ip_dhcp_lease_time
  | :ip_dhcp_lease_time_remaining
  | :ip_dhcp_server
  | :ip_dns_server
  | :ip_subnet_mask
  | :ipv6_address
  | :ipv6_auto_addressing_enable
  | :ipv6_default_gateway
  | :ipv6_dhcp_lease_time
  | :ipv6_dhcp_lease_time_remaining
  | :ipv6_dhcp_server
  | :ipv6_dns_server
  | :ipv6_prefix_length
  | :ipv6_zone_index
  | :is_utc
  | :key_sets
  | :landing_call_control
  | :landing_calls
  | :landing_door_status
  | :last_access_event
  | :last_access_point
  | :last_command_time
  | :last_credential_added
  | :last_credential_added_time
  | :last_credential_removed
  | :last_credential_removed_time
  | :last_key_server
  | :last_notify_record
  | :last_priority
  | :last_restart_reason
  | :last_restore_time
  | :last_state_change
  | :last_use_time
  | :life_safety_alarm_values
  | :lighting_command
  | :lighting_command_default_priority
  | :limit_enable
  | :limit_monitoring_interval
  | :link_speed
  | :link_speed_autonegotiate
  | :link_speeds
  | :list_of_group_members
  | :list_of_object_property_references
  | :local_date
  | :local_forwarding_only
  | :local_time
  | :location
  | :lock_status
  | :lockout
  | :lockout_relinquish_time
  | :log_buffer
  | :log_device_object_property
  | :log_interval
  | :logging_object
  | :logging_record
  | :logging_type
  | :low_diff_limit
  | :low_limit
  | :lower_deck
  | :mac_address
  | :machine_room_id
  | :maintenance_required
  | :making_car_call
  | :manipulated_variable_reference
  | :manual_slave_address_binding
  | :masked_alarm_values
  | :max_actual_value
  | :max_apdu_length_accepted
  | :max_failed_attempts
  | :max_info_frames
  | :max_master
  | :max_output
  | :max_present_value
  | :max_segments_accepted
  | :max_value
  | :max_value_timestamp
  | :member_of
  | :member_status_flags
  | :members
  | :min_actual_value
  | :min_off_time
  | :min_on_time
  | :min_output
  | :min_present_value
  | :min_value
  | :min_value_timestamp
  | :mode
  | :model_name
  | :modification_date
  | :muster_point
  | :negative_access_rules
  | :network_access_security_policies
  | :network_interface_name
  | :network_number
  | :network_number_quality
  | :network_type
  | :next_stopping_floor
  | :node_subtype
  | :node_type
  | :notification_class
  | :notification_threshold
  | :notify_type
  | :number_of_apdu_retries
  | :number_of_authentication_policies
  | :number_of_states
  | :object_identifier
  | :object_list
  | :object_name
  | :object_property_reference
  | :object_type
  | :occupancy_count
  | :occupancy_count_adjust
  | :occupancy_count_enable
  | :occupancy_lower_limit
  | :occupancy_lower_limit_enforced
  | :occupancy_state
  | :occupancy_upper_limit
  | :occupancy_upper_limit_enforced
  | :operation_direction
  | :operation_expected
  | :optional
  | :out_of_service
  | :output_units
  | :packet_reorder_time
  | :passback_mode
  | :passback_timeout
  | :passenger_alarm
  | :polarity
  | :port_filter
  | :positive_access_rules
  | :power
  | :power_mode
  | :prescale
  | :present_value
  | :priority
  | :priority_array
  | :priority_for_writing
  | :process_identifier
  | :process_identifier_filter
  | :profile_location
  | :profile_name
  | :program_change
  | :program_location
  | :program_state
  | :property_list
  | :proportional_constant
  | :proportional_constant_units
  | :protocol_level
  | :protocol_object_types_supported
  | :protocol_revision
  | :protocol_services_supported
  | :protocol_version
  | :pulse_rate
  | :read_only
  | :reason_for_disable
  | :reason_for_halt
  | :recipient_list
  | :record_count
  | :records_since_notification
  | :reference_port
  | :registered_car_call
  | :reliability
  | :reliability_evaluation_inhibit
  | :relinquish_default
  | :represents
  | :requested_shed_level
  | :requested_update_interval
  | :required
  | :resolution
  | :restart_notification_recipients
  | :restore_completion_time
  | :restore_preparation_time
  | :routing_table
  | :scale
  | :scale_factor
  | :schedule_default
  | :secured_status
  | :security_pdu_timeout
  | :security_time_window
  | :segmentation_supported
  | :serial_number
  | :setpoint
  | :setpoint_reference
  | :setting
  | :shed_duration
  | :shed_level_descriptions
  | :shed_levels
  | :silenced
  | :slave_address_binding
  | :slave_proxy_enable
  | :start_time
  | :state_change_values
  | :state_description
  | :state_text
  | :status_flags
  | :stop_time
  | :stop_when_full
  | :strike_count
  | :structured_object_list
  | :subordinate_annotations
  | :subordinate_list
  | :subordinate_node_types
  | :subordinate_relationships
  | :subordinate_tags
  | :subscribed_recipients
  | :supported_format_classes
  | :supported_formats
  | :supported_security_algorithms
  | :system_status
  | :tags
  | :threat_authority
  | :threat_level
  | :time_delay
  | :time_delay_normal
  | :time_of_active_time_reset
  | :time_of_device_restart
  | :time_of_state_count_reset
  | :time_of_strike_count_reset
  | :time_synchronization_interval
  | :time_synchronization_recipients
  | :timer_running
  | :timer_state
  | :total_record_count
  | :trace_flag
  | :tracking_value
  | :transaction_notification_class
  | :transition
  | :trigger
  | :units
  | :update_interval
  | :update_key_set_timeout
  | :update_time
  | :user_external_identifier
  | :user_information_reference
  | :user_name
  | :user_type
  | :uses_remaining
  | :utc_offset
  | :utc_time_synchronization_recipients
  | :valid_samples
  | :value_before_change
  | :value_change_time
  | :value_set
  | :value_source
  | :value_source_array
  | :variance_value
  | :vendor_identifier
  | :vendor_name
  | :verification_time
  | :virtual_mac_address_table
  | :vt_classes_supported
  | :weekly_schedule
  | :window_interval
  | :window_samples
  | :write_status
  | :zone_from
  | :zone_members
  | :zone_to

property_state()

@type property_state() ::
  :access_credential_disable
  | :access_credential_disable_reason
  | :access_event
  | :action
  | :authentication_status
  | :backup_state
  | :bacnet_ip_mode
  | :binary_lighting_value
  | :binary_value
  | :boolean_value
  | :door_alarm_state
  | :door_secured_status
  | :door_status
  | :door_value
  | :escalator_fault
  | :escalator_mode
  | :escalator_operation_direction
  | :event_type
  | :extended_value
  | :file_access_method
  | :integer_value
  | :life_safety_mode
  | :life_safety_operation
  | :life_safety_state
  | :lift_car_direction
  | :lift_car_door_command
  | :lift_car_drive_status
  | :lift_car_mode
  | :lift_fault
  | :lift_group_mode
  | :lighting_in_progress
  | :lighting_operation
  | :lighting_transition
  | :lock_status
  | :maintenance
  | :network_number_quality
  | :network_port_command
  | :network_type
  | :node_type
  | :notify_type
  | :polarity
  | :program_change
  | :program_state
  | :protocol_level
  | :reason_for_halt
  | :reliability
  | :restart_reason
  | :security_level
  | :shed_state
  | :silenced_state
  | :state
  | :system_status
  | :timer_state
  | :timer_transition
  | :units
  | :unsigned_value
  | :write_status
  | :zone_occupancy_state

protocol_level()

@type protocol_level() ::
  :bacnet_application | :non_bacnet_application | :physical | :protocol

protocol_revision()

@type protocol_revision() :: :default | :revision_14

When creating BACnet objects, the designated revision can be chosen from the constants. The designated revision decides which properties are required. Optional properties are regardless of the revision available.

The following revisions are supported (to be):

  • Revision 14 (135-2012)
  • Revision 19 (135-2016)
  • Revision 22 (135-2022)

The default BACnet Revision is 14 (2012).

reinitialized_state()

@type reinitialized_state() ::
  :abortrestore
  | :activate_changes
  | :coldstart
  | :endbackup
  | :endrestore
  | :startbackup
  | :startrestore
  | :warmstart

Reinitialized State (ASHRAE 135 - 16.4.1.1.1 Reinitialized State of Device)

reject_reason()

@type reject_reason() ::
  :buffer_overflow
  | :inconsistent_parameters
  | :invalid_parameter_data_type
  | :invalid_tag
  | :missing_required_parameter
  | :other
  | :parameter_out_of_range
  | :too_many_arguments
  | :undefined_enumeration
  | :unrecognized_service

relationship()

@type relationship() ::
  :adjusted_by
  | :adjusts
  | :commanded_by
  | :commands
  | :contained_by
  | :contains
  | :default
  | :egress
  | :ingress
  | :receives_air
  | :receives_cool_air
  | :receives_cool_water
  | :receives_gas
  | :receives_hot_air
  | :receives_hot_water
  | :receives_power
  | :receives_steam
  | :receives_water
  | :supplies_air
  | :supplies_cool_air
  | :supplies_cool_water
  | :supplies_gas
  | :supplies_hot_air
  | :supplies_hot_water
  | :supplies_power
  | :supplies_steam
  | :supplies_water
  | :unknown
  | :used_by
  | :uses

reliability()

@type reliability() ::
  :activation_failure
  | :communication_failure
  | :configuration_error
  | :faults_listed
  | :lamp_failure
  | :member_fault
  | :monitored_object_fault
  | :multi_state_fault
  | :no_fault_detected
  | :no_output
  | :no_sensor
  | :open_loop
  | :over_range
  | :process_error
  | :proprietary_command_failure
  | :referenced_object_fault
  | :renew_dhcp_failure
  | :renew_fd_registration_failure
  | :restart_auto_negotiation_failure
  | :restart_failure
  | :shorted_loop
  | :tripped
  | :under_range
  | :unreliable_other

restart_reason()

@type restart_reason() ::
  :activate_changes
  | :coldstart
  | :detected_power_lost
  | :detected_powered_off
  | :hardware_watchdog
  | :software_watchdog
  | :suspended
  | :unknown
  | :warmstart

result_flag()

@type result_flag() :: :first_item | :last_item | :more_items

security_level()

@type security_level() ::
  :encrypted
  | :encrypted_end_to_end
  | :incapable
  | :plain
  | :signed
  | :signed_end_to_end

security_policy()

@type security_policy() ::
  :encrypted_trusted | :plain_non_trusted | :plain_trusted | :signed_trusted

segmentation()

@type segmentation() ::
  :no_segmentation | :segmented_both | :segmented_receive | :segmented_transmit

services_supported()

@type services_supported() ::
  :acknowledge_alarm
  | :add_list_element
  | :atomic_read_file
  | :atomic_write_file
  | :authenticate
  | :confirmed_cov_notification
  | :confirmed_cov_notification_multiple
  | :confirmed_event_notification
  | :confirmed_private_transfer
  | :confirmed_text_message
  | :create_object
  | :delete_object
  | :device_communication_control
  | :get_alarm_summary
  | :get_enrollment_summary
  | :get_event_information
  | :i_am
  | :i_have
  | :life_safety_operation
  | :read_property
  | :read_property_conditional
  | :read_property_multiple
  | :read_range
  | :reinitialize_device
  | :remove_list_element
  | :request_key
  | :subscribe_cov
  | :subscribe_cov_property
  | :subscribe_cov_property_multiple
  | :time_synchronization
  | :unconfirmed_cov_notification
  | :unconfirmed_cov_notification_multiple
  | :unconfirmed_event_notification
  | :unconfirmed_private_transfer
  | :unconfirmed_text_message
  | :utc_time_synchronization
  | :vt_close
  | :vt_data
  | :vt_open
  | :who_has
  | :who_is
  | :write_group
  | :write_property
  | :write_property_multiple

shed_state()

@type shed_state() ::
  :shed_compliant | :shed_inactive | :shed_non_compliant | :shed_request_pending

silenced_state()

@type silenced_state() ::
  :all_silenced | :audible_silenced | :unsilenced | :visible_silenced

status_flag()

@type status_flag() :: :fault | :in_alarm | :out_of_service | :overridden

timer_state()

@type timer_state() :: :expired | :idle | :running

timer_transition()

@type timer_transition() ::
  :expired_to_idle
  | :expired_to_running
  | :forced_to_expired
  | :idle_to_running
  | :none
  | :running_to_expired
  | :running_to_idle
  | :running_to_running

unconfirmed_service_choice()

@type unconfirmed_service_choice() ::
  :i_am
  | :i_have
  | :time_synchronization
  | :unconfirmed_cov_notification
  | :unconfirmed_cov_notification_multiple
  | :unconfirmed_event_notification
  | :unconfirmed_private_transfer
  | :unconfirmed_text_message
  | :utc_time_synchronization
  | :who_has
  | :who_is
  | :write_group

vt_class()

@type vt_class() ::
  :ansi_x3_64
  | :dec_vt100
  | :dec_vt220
  | :dec_vt52
  | :default_terminal
  | :hp_700_94
  | :ibm_3130

write_status()

@type write_status() :: :failed | :idle | :in_progress | :successful

Functions

assert_name(type, name)

@spec assert_name(atom(), atom()) :: {:ok, atom()} | :error

Assert that the given constant is defined. This function returns the name of the constant.

assert_name!(type, name)

@spec assert_name!(atom(), atom()) :: atom()

Assert that the given constant is defined. This function returns the name of the constant. If the constant does not exist, the call will raise.

by_name(type, name)

@spec by_name(atom(), atom()) :: {:ok, term()} | :error

Retrieve the value of a constant, identified by type and name.

by_name(type, name, default)

@spec by_name(atom(), atom(), term()) :: term()

Retrieve the value of a constant, identified by type and name. If found, the value will be returned, otherwise the default will be returned.

by_name!(type, name)

@spec by_name!(atom(), atom()) :: term()

Retrieve the value of a constant, identified by type and name. If the constant does not exist, the call will raise.

by_name_atom(type, name)

@spec by_name_atom(atom(), atom() | term()) :: term() | no_return()

Equivalent to by_name/3, however it uses by_name!/2 when the name is an atom. If the name is not an atom, it is returned as-is.

by_name_with_reason(type, name, reason)

@spec by_name_with_reason(atom(), term(), term()) ::
  {:ok, term()} | {:error, reason :: term()}

Equivalent to by_name/2, however instead of returning plain :error, it returns {:error, reason}, where reason is user-supplied.

by_value(type, value)

@spec by_value(atom(), term()) :: {:ok, atom()} | :error

Retrieve the name of a constant, identified by type and value.

by_value(type, value, default)

@spec by_value(atom(), term(), term()) :: term()

Retrieve the value of a constant, identified by type and value. If found, the name will be returned, otherwise the default will be returned.

by_value!(type, value)

@spec by_value!(atom(), term()) :: atom()

Retrieve the name of a constant, identified by type and value. If the constant does not exist, the call will raise.

by_value_with_reason(type, value, reason)

@spec by_value_with_reason(atom(), term(), term()) ::
  {:ok, term()} | {:error, reason :: term()}

Equivalent to by_value/2, however instead of returning plain :error, it returns {:error, reason}, where reason is user-supplied.

has_by_name(type, name)

@spec has_by_name(atom(), atom()) :: bool()

Checks if the constant exists, identified by type and name.

has_by_value(type, value)

@spec has_by_value(atom(), term()) :: bool()

Checks if the constant exists, identified by type and value.

macro_assert_name(type, name)

(macro)

Same as assert_name!/2, but as compile-time macro.

As this is a macro, this can be used to compile the constant name into the resulting BEAM, asserting the constant exists.

macro_by_name(type, name)

(macro)

Same as by_name!/2, but as compile-time macro.

As this is a macro, this can be used to compile the constant value into the resulting BEAM.

macro_by_value(type, value)

(macro)

Same as by_value!/2, but as compile-time macro.

As this is a macro, this can be used to compile the constant name into the resulting BEAM.

macro_list_all(type)

(macro)
@spec macro_list_all(atom()) :: Macro.t()

Get a list of all valid constant names values for the given type (in keyword list form).

macro_list_names(type)

(macro)
@spec macro_list_names(atom()) :: Macro.t()

Get a list of all valid constant names for the given type.