BAC0.core.app package

Submodules

BAC0.core.app.ScriptApplication module

SimpleApplication

A basic BACnet application (bacpypes BIPSimpleApplication) for interacting with the bacpypes BACnet stack. It enables the base-level BACnet functionality (a.k.a. device discovery) - meaning it can send & receive WhoIs & IAm messages.

Additional functionality is enabled by inheriting this application, and then extending it with more functions. [See BAC0.scripts for more examples of this.]

class BAC0.core.app.ScriptApplication.BAC0Application(localDevice, localAddress, bbmdAddress=None, bbmdTTL=0, deviceInfoCache=None, aseID=None, iam_req=None)[source]

Bases: bacpypes.app.ApplicationIOController, bacpypes.service.device.WhoIsIAmServices, bacpypes.service.object.ReadWritePropertyServices, bacpypes.service.object.ReadWritePropertyMultipleServices

Defines a basic BACnet/IP application to process BACnet requests.

Parameters:*args

local object device, local IP address See BAC0.scripts.BasicScript for more details.

clear_notes()

Clear notes object

close_socket()[source]
do_IAmRequest(apdu)[source]

Given an I-Am request, cache it.

do_WhoIsRequest(apdu)[source]

Respond to a Who-Is request.

log(note, *, level=10)

Add a log entry…no note

log_subtitle(subtitle, args=None, width=35)
log_title(title, args=None, width=35)
logname = 'BAC0.core.app.ScriptApplication | BAC0Application'
note(note, *, level=20, log=True)

Add note to the object. By default, the note will also be logged :param note: (str) The note itself :param level: (logging.level) :param log: (boolean) Enable or disable logging of note

notes

Retrieve notes list as a Pandas Series

request(apdu)[source]
class BAC0.core.app.ScriptApplication.BAC0ForeignDeviceApplication(localDevice, localAddress, bbmdAddress=None, bbmdTTL=0, deviceInfoCache=None, aseID=None, iam_req=None)[source]

Bases: bacpypes.app.ApplicationIOController, bacpypes.service.device.WhoIsIAmServices, bacpypes.service.object.ReadWritePropertyServices, bacpypes.service.object.ReadWritePropertyMultipleServices

Defines a basic BACnet/IP application to process BACnet requests.

Parameters:*args

local object device, local IP address See BAC0.scripts.BasicScript for more details.

clear_notes()

Clear notes object

close_socket()[source]
do_IAmRequest(apdu)[source]

Given an I-Am request, cache it.

do_WhoIsRequest(apdu)[source]

Respond to a Who-Is request.

log(note, *, level=10)

Add a log entry…no note

log_subtitle(subtitle, args=None, width=35)
log_title(title, args=None, width=35)
logname = 'BAC0.core.app.ScriptApplication | BAC0ForeignDeviceApplication'
note(note, *, level=20, log=True)

Add note to the object. By default, the note will also be logged :param note: (str) The note itself :param level: (logging.level) :param log: (boolean) Enable or disable logging of note

notes

Retrieve notes list as a Pandas Series

Module contents