Liking cljdoc? Tell your friends :D

bacure.remote-device


advanced-propertyclj

(advanced-property property-value priority property-array-index)

Take a property and wrap it inside a map with the priority and property-array-index.

Take a property and wrap it inside a map with the priority and
property-array-index.
sourceraw docstring

all-extended-informationclj

(all-extended-information)
(all-extended-information local-device-id)

Make sure we have the extended information of every known remote devices.

Can be used some time after the network discovery mechanism, as some devices might take a while to answer the WhoIs.

Remote devices are queried in parallel.

Make sure we have the extended information of every known
remote devices.

Can be used some time after the network discovery mechanism, as
some devices might take a while to answer the WhoIs.

Remote devices are queried in parallel.
sourceraw docstring

cached-extended-informationclj

(cached-extended-information device-id)
(cached-extended-information local-device-id device-id)

Return the cached remote device extended information. Nil if we have nothing.

Return the cached remote device extended information. Nil if we have nothing.
sourceraw docstring

create-remote-object!clj

(create-remote-object! device-id object-map)
(create-remote-object! local-device-id device-id object-map)

Send a 'create object request' to the remote device. Must be given at least an :object-identifier OR an :object-type. If an :object-identifier isn't given, the numbering of the new object will be choosen by the remote device.

Will block until we receive a response back, success or failure. If the request times out, an exception is thrown.

Send a 'create object request' to the remote device. Must be given
at least an :object-identifier OR an :object-type. If
an :object-identifier isn't given, the numbering of the new object
will be choosen by the remote device.

Will block until we receive a response back, success or failure.
If the request times out, an exception is thrown.
sourceraw docstring

delete-remote-object!clj

(delete-remote-object! device-id object-identifier)
(delete-remote-object! local-device-id device-id object-identifier)

Send a 'delete object' request to a remote device.

Will block until we receive a response back, success or failure. If the request times out, an exception is thrown.

Send a 'delete object' request to a remote device.

 Will block until we receive a response back, success or failure.
If the request times out, an exception is thrown.
sourceraw docstring

discover-networkclj

(discover-network)
(discover-network local-device-id)
(discover-network local-device-id tries)

Find remote devices and their extended info. By default, will try up to 5 time if not a single device answer. Return the list of remote-devices.

Should be called in a future call to avoid `hanging' the program while waiting for the remote devices to answer.

Find remote devices and their extended info. By default, will try
up to 5 time if not a single device answer. Return the list of
remote-devices.

Should be called in a future call to avoid `hanging' the program
while waiting for the remote devices to answer.
sourceraw docstring

extended-informationclj

(extended-information device-id)
(extended-information local-device-id device-id)

Return the device extended information that we have cached locally, or request it directly to the remote device.

Return the device extended information that we have cached locally,
or request it directly to the remote device.
sourceraw docstring

find-remote-deviceclj

(find-remote-device remote-device-id)
(find-remote-device remote-device-id
                    {:keys [wait-seconds] :or {wait-seconds 1} :as args})
(find-remote-device local-device-id
                    remote-device-id
                    {:keys [wait-seconds] :or {wait-seconds 1} :as args})

Send a WhoIs for a single device-id, effectively finding a single device. Some devices seem to ignore a general WhoIs broadcast, but will answer a WhoIs request specifically for their ID.

Send a WhoIs for a single device-id, effectively finding a single
device. Some devices seem to ignore a general WhoIs broadcast, but
will answer a WhoIs request specifically for their ID.
sourceraw docstring

find-remote-devicesclj

(find-remote-devices)
(find-remote-devices {:keys [min-range max-range wait-seconds]
                      :or {min-range 0 max-range 4194303 wait-seconds 1}
                      :as args})
(find-remote-devices local-device-id
                     {:keys [min-range max-range wait-seconds]
                      :or {min-range 0 max-range 4194303 wait-seconds 1}
                      :as args})

We find remote devices by sending a 'WhoIs' broadcast. Every device that responds is added to the remote-devices field in the local-device. WARNING: This won't ask the device if it supports read-property-multiple. Thus, any property read based solely on this remote device discovery might fail. The use of `discover-network' is highly recommended, even if it might take a little longer to execute.

We find remote devices by sending a 'WhoIs' broadcast. Every device
that responds is added to the remote-devices field in the
local-device. WARNING: This won't ask the device if it supports
read-property-multiple. Thus, any property read based solely on this
remote device discovery might fail. The use of `discover-network' is
highly recommended, even if it might take a little longer to
execute.
sourceraw docstring

find-remote-devices-having-objectclj

(find-remote-devices-having-object object-identifier-or-name)
(find-remote-devices-having-object
  object-identifier-or-name
  {:keys [min-range max-range wait-seconds]
   :or {min-range 0 max-range 4194303 wait-seconds 1}
   :as args})
(find-remote-devices-having-object
  local-device-id
  object-identifier-or-name
  {:keys [min-range max-range wait-seconds]
   :or {min-range 0 max-range 4194303 wait-seconds 1}
   :as args})

Do a Who-Has and return the remote-device-ids of any remote devices that respond. The Who-Has updates a cache that can be accessed at bacure.events/cached-remote-objects, and that is the same cache we query here.

Do a Who-Has and return the remote-device-ids of any remote devices that
respond. The Who-Has updates a cache that can be accessed at
bacure.events/cached-remote-objects, and that is the same cache we query
here.
sourceraw docstring

get-remote-devices-having-objectclj

(get-remote-devices-having-object object-identifier-or-name)
(get-remote-devices-having-object local-device-id object-identifier-or-name)

Query our cached remote-objects to see which remote-devices have the specified object (if any). Use find-remote-devices-having-object to update the cache.

Query our cached remote-objects to see which remote-devices have the
specified object (if any). Use `find-remote-devices-having-object`
to update the cache.
sourceraw docstring

IAm-received-auto-fetch-extended-informationclj

(IAm-received-auto-fetch-extended-information local-device-id)

Listen to IAm and try to fetch extended-information.

Listen to IAm and try to fetch extended-information.
sourceraw docstring

is-alive?clj

(is-alive? device-id)
(is-alive? local-device-id device-id)

Check if the remote device is still alive. This is the closest thing to a 'ping' in the BACnet world.

Check if the remote device is still alive. This is the closest
thing to a 'ping' in the BACnet world.
sourceraw docstring

networking-infoclj

(networking-info device-id)
(networking-info local-device-id device-id)

Return a map with the networking info of the remote device. (The network number, the IP address, the port...)

Return a map with the networking info of the remote device. (The
network number, the IP address, the port...)
sourceraw docstring

rdclj

(rd device-id)
(rd local-device-id device-id)

Get the remote device object by its device-id

Get the remote device object by its device-id
sourceraw docstring

remote-devicesclj

(remote-devices)
(remote-devices local-device-id)

Return the list of the current remote devices. These devices must be in the local table. To scan a network, use `discover-network'.

Return the list of the current remote devices. These devices must
be in the local table. To scan a network, use `discover-network'.
sourceraw docstring

remote-devices-and-namesclj

(remote-devices-and-names)
(remote-devices-and-names local-device-id)

Return a list of vector pair with the device-id and its name. --> ([1234 "SimpleServer"])

Return a list of vector pair with the device-id and its name.
-->  ([1234 "SimpleServer"])
sourceraw docstring

retrieve-extended-information!clj

(retrieve-extended-information! device-id)
(retrieve-extended-information! local-device-id device-id)

Retrieve the remote device extended information (name, segmentation, property multiple, etc..) and update it locally.

Return the cached extended information.

Retrieve the remote device extended information (name, segmentation,
property multiple, etc..) and update it locally.

Return the cached extended information.
sourceraw docstring

segmentation-supportedclj

(segmentation-supported device-id)
(segmentation-supported local-device-id device-id)

Return the type of segmentatin supported.

Return the type of segmentatin supported.
sourceraw docstring

services-supportedclj

(services-supported device-id)
(services-supported local-device-id device-id)

Return a map of the services supported by the remote device.

Return a map of the services supported by the remote device.
sourceraw docstring

set-remote-properties!clj

(set-remote-properties! device-id write-access-specifications)
(set-remote-properties! local-device-id device-id write-access-specifications)

Set the given remote object properties.

Will block until we receive a response back, success or failure.

'write-access-specifications' is a map of the form: {[:analog-input 1] [[:present-value 10.0][:description "short description"]]}

If the remote device doesn't support 'write-property-multiple', fallback to writing all properties individually.

Set the given remote object properties.

Will block until we receive a response back, success or failure.

'write-access-specifications' is a map of the form:
{[:analog-input 1] [[:present-value 10.0][:description "short description"]]}

If the remote device doesn't support 'write-property-multiple',
fallback to writing all properties individually.
sourceraw docstring

set-remote-property!clj

(set-remote-property! device-id
                      object-identifier
                      property-identifier
                      property-value)
(set-remote-property! local-device-id
                      device-id
                      object-identifier
                      property-identifier
                      property-value)

Set the given remote object property.

Will block until we receive a response back, success or failure.

Property-value can be the value directly OR a map resulting from `advanced-property'

Set the given remote object property.

 Will block until we receive a response back, success or failure.

Property-value can be the value directly OR a map resulting from
`advanced-property'
sourceraw docstring

write-single-multiple-propertiesclj

(write-single-multiple-properties local-device-id
                                  device-id
                                  write-access-specifications)
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close