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.