diff --git a/doc/source/modules/service/device.rst b/doc/source/modules/service/device.rst index 4c97853..6e815cf 100644 --- a/doc/source/modules/service/device.rst +++ b/doc/source/modules/service/device.rst @@ -5,23 +5,110 @@ Device Services .. class:: WhoIsIAmServices(Capability) -This is a long line of text. + This class provides the capability to initiate and respond to + device-address-binding PDUs. + + .. method:: do_WhoIsRequest(apdu) + + :param WhoIsRequest apdu: Who-Is Request from the network + + This is a long line of text. + + .. method:: do_IAmRequest(apdu) + + :param IAmRequest apdu: I-Am Request from the network + + This is a long line of text. + + .. method:: who_is(self, low_limit=None, high_limit=None, address=None) + + :param Unsigned low_limit: optional low limit + :param Unsigned high_limit: optional high limit + :param Address address: optional destination, defaults to a global broadcast + + This is a utility function that makes it simpler to generate a + `WhoIsRequest`. + + .. method:: i_am(self, address=None) + + :param Address address: optional destination, defaults to a global broadcast + + This is a utility function that makes it simpler to generate an + `IAmRequest` with the contents of the local device object. .. class:: WhoHasIHaveServices(Capability) -This is a long line of text. + This class provides the capability to initiate and respond to + device and object binding PDU's. + + .. method:: do_WhoHasRequest(apdu) + + :param WhoHasRequest apdu: Who-Has Request from the network + + This is a long line of text. + + .. method:: do_IHaveRequest(apdu) + + :param IHaveRequest apdu: I-Have Request from the network + + This is a long line of text. + + .. method:: who_has(thing, address=None) + + :param thing: object identifier or object name + :param Address address: optional destination, defaults to a global broadcast + + Not implemented. + + .. method:: i_have(thing, address=None) + + :param thing: object identifier or object name + :param Address address: optional destination, defaults to a global broadcast + + This is a utility function that makes it simpler to generate an + `IHaveRequest` given an object. Support Classes --------------- +There are a few support classes in this module that make it simpler to build +the most common BACnet devices. + .. class:: CurrentDateProperty(Property) -This is a long line of text. + This class is a specialized readonly property that always returns the + current date as provided by the operating system. + + .. method:: ReadProperty(self, obj, arrayIndex=None) + + Returns the current date as a 4-item tuple consistent with the + Python implementation of the :class:`Date` primitive value. + + .. method:: WriteProperty(self, obj, value, arrayIndex=None, priority=None) + + Object instances of this class are readonly, so this method raises + a `writeAccessDenied` error. .. class:: CurrentTimeProperty(Property) -This is a long line of text. + This class is a specialized readonly property that always returns the + current local time as provided by the operating system. + + .. method:: ReadProperty(self, obj, arrayIndex=None) + + Returns the current date as a 4-item tuple consistent with the + Python implementation of the :class:`Time` primitive value. + + .. method:: WriteProperty(self, obj, value, arrayIndex=None, priority=None) + + Object instances of this class are readonly, so this method raises + a `writeAccessDenied` error. .. class:: LocalDeviceObject(DeviceObject) -This is a long line of text. + The :class:`LocalDeviceObject` is an implementation of a + :class:`DeviceObject` that provides default implementations for common + properties and behaviors of a BACnet device. It has default values for + communications properties, returning the local date and time, and + the `objectList` property for presenting a list of the objects in the + device. diff --git a/doc/source/modules/service/object.rst b/doc/source/modules/service/object.rst index d834afa..7f27aee 100644 --- a/doc/source/modules/service/object.rst +++ b/doc/source/modules/service/object.rst @@ -5,9 +5,48 @@ Object Services .. class:: ReadWritePropertyServices(Capability) -This is a long line of text. + This is a long line of text. + + .. method:: do_ReadPropertyRequest(apdu) + + :param ReadPropertyRequest apdu: request from the network + + This is a long line of text. + + .. method:: do_WritePropertyRequest(apdu) + + :param WritePropertyRequest apdu: request from the network + + This is a long line of text. .. class:: ReadWritePropertyMultipleServices(Capability) -This is a long line of text. + This is a long line of text. + + .. method:: do_ReadPropertyMultipleRequest(apdu) + + :param ReadPropertyRequest apdu: request from the network + + This is a long line of text. + + .. method:: do_WritePropertyMultipleRequest(apdu) + + :param WritePropertyMultipleRequest apdu: request from the network + + Not implemented. + +Support Functions +----------------- + + .. function:: read_property_to_any(obj, propertyIdentifier, propertyArrayIndex=None): + + :param obj: object + :param propertyIdentifier: property identifier + :param propertyArrayIndex: optional array index + + .. function:: read_property_to_result_element(obj, propertyIdentifier, propertyArrayIndex=None): + + :param obj: object + :param propertyIdentifier: property identifier + :param propertyArrayIndex: optional array index