bacure.coerce.obj

bacnet-object-with-local-device

(bacnet-object-with-local-device object-map local-device-object)
Add a local device to the map metadata to allow conversion (and
automatic object creation) to BACnet.

determine-property-value-type

(determine-property-value-type object-type property-identifier)
Given an object-type and a property-identifier, return a map with
the :type and if it's a :sequence.

encode-properties

(encode-properties obj-map & remove-keys)
Encode an object map into a sequence of bacnet4j property-values.
Remove-keys can be used to remove read-only properties before
sending a command.

encode-properties-values

(encode-properties-values obj-map)
Take an object-map (a map of properties and values) and encode the
values (not the properties) into their corresponding bacnet4j type. For
example, a clojure number "1" might be encoded into a real, or
into an unisgned integer, depending on the object.

encode-property-value

(encode-property-value object-type property-identifier value)
Encode the property value depending on what type it should be given
the object.

A type can be specified when required (proprietary properties) by
using the function `force-type'.

force-type

(force-type value type-keyword)
Associate the value with a specific type. Use only before
encoding.

Ex: {:some-property (force-type "some-value" :character-string)}

get-object-type

(get-object-type obj-map)
Find the object type in an object-map (either from
the :object-type, or in the :object-identifier).

properties-by-option

(properties-by-option object-type option)
Return a list or properties. `option' should
be :required, :optional, :sequence or :all.

property-type-definitions

(property-type-definitions object-type)
Given an object type, return the properties it should have, and if
they are :required, :optional, or :sequence.