BACnetGetClientDeviceCommunication (FUN) ¶ FUNCTION BACnetGetClientDeviceCommunication : IEC_BACNET_STATUS Retrieves the current device communication control value for the specified device. The user application can request the current communication enable state for registered devices. InOut: Scope Name Type Comment Return BACnetGetClientDeviceCommunication IEC_BACNET_STATUS Input devId IEC_BACNET_INST_NUMBER The device instance number for which communication needs to be requested. A value of 0xFFFFFFFF will retrieve the global communication enable / disable state. pDccValue POINTER TO IEC_BACNET_DCC_VALUE A pointer to hold the requested communication state which is filled by the API.
BACnetOpenClientCustomer (FUN) ¶ FUNCTION BACnetOpenClientCustomer : IEC_BACNET_HANDLE Creates a new advanced BACnet client customer handle. To use the advanced BACnet client API, first an customer needs to be created. This handle is needed to register device object property references for data acquisation or subscriptions to event notification of remote or local devices and objects. Returns a valid handle on success or a NULL handle on failure. InOut: Scope Name Type Comment Return BACnetOpenClientCustomer IEC_BACNET_HANDLE Input bReportOnlyOnValueChanges IEC_BACNET_BOOLEAN If this parameter is set to True, the value change notification callback BACNET_CLIENT_VALUE_CB is only called if the value has changed and not every time on reception of an ChangeOfValue notification or on response on ReadProperty request.
BACnetRegisterClientCommunicationStateCallback (FUN) ¶ FUNCTION BACnetRegisterClientCommunicationStateCallback : IEC_BACNET_STATUS Registers a callback for communication changes. This registers a callback routine. This callback can be registered at any time. If the callback is registered more than once, the new callback procedure replaces old one. A NULL procedure pointer cancels the callback.n This function gives a user application the ability to get notified if an connection to one of the registered devices couldn’t or could be established. It is called in every case were the connection state to an BACnet remote device changes. InOut: Scope Name Type Comment Return BACnetRegisterClientCommunicationStateCallback IEC_BACNET_STATUS Input hCustomer IEC_BACNET_HANDLE An handle to an created advanced BACnet client customer created by BACnetOpenClientCustomer . pICallback CmpEventMgr.ICmpEventCallback A pointer to the event-callback interface which gets called on changes in communication to the device. To unregister a NULL pointer shall be used here. pUserArg POINTER TO BYTE A pointer to data from the user application which is transparent for the API. This pointer will not be modified by the BACnet API. This may be NULL.
BACnetRegisterClientDataPoint (FUN) ¶ FUNCTION BACnetRegisterClientDataPoint : IEC_BACNET_STATUS Registers an device object property reference for data acquisation. This is the main function of the advanced BACnet client API. A user application can register device object property references to local and remote BACnet devices to get their property values on an easy way. This function will do most of the work, normally a client application has to manage, just in one call. It checks periodical for the presence and online state for devices and checks for integrity of the values Note 1: Local devices OR objects are those which have been created BY calls TO |BACnetConstructDevice| and BACnetConstructObject and are objects in the stack API’s own object database. Note 2: If different customer register for the same reference but with different modes the following rules apply here: If one customer wants to subscribe the other polls the subscriber winns. If both want polling the shorter interval winns. If one customer wants clock aligned polling and the other subscribes it will be done both: subscribed AND polled clock aligned. InOut: Scope Name Type Comment Return BACnetRegisterClientDataPoint IEC_BACNET_STATUS Input hCustomer IEC_BACNET_HANDLE An handle to an created advanced BACnet client customer created by BACnetOpenClientCustomer . devId IEC_BACNET_INST_NUMBER The device instance number from the remote or local device from which the value shall be acquired. pObjId POINTER TO IEC_BACNET_OBJECT_ID A pointer to the object identifier from the remote or local object from which the value shall be acquired. propId IEC_BACNET_PROPERTY_ID The property identifier from which the value shall be acquired. index IEC_BACNET_ARRAY_INDEX The property array index from which the value shall be acquired. If the property is not an array the value shall be ::BACNET_VOID_INDEX. If the property is an array and the whole array should be acquired the value ::BACNET_ENTIRE_ARRAY shall be used here. bSubscribe IEC_BACNET_BOOLEAN If set to True the value acquisation will be done by subscribing for the change of value service if the device supports this service. If the device doesn’t support this service and parameter bPoll is set to False the user application will get notified with an error in the BACNET_CLIENT_VALUE_CB callback. resubscribe IEC_BACNET_UNSIGNED The resubscribe time in seconds after that the subscrition to the change of value service will be renewed. For more information look at the ::BACNET_SUBSCRIBE_COV_INFO. bPoll IEC_BACNET_BOOLEAN If set to True the value acquisation will be done by periodical reading the property value from the device. If both parameters bSubscribe AND bPoll are set to True the subscrition will be prefered. But if the device doesn’t support subscriptions it will be polled as a fallback. If multiple references from the same device need to be polled in the same interval and the device supports the ReadPropertyMultiple service, this service will be used to acquire the values. pollinterval IEC_BACNET_UNSIGNED The poll interval defined in seconds in which periodically the value is read from the device. If the nSubscribeMode parameter is set to ::BACNET_SUBSCRIBE_POLL_CLOCKALIGNED the smallest interval will be 60 seconds. pollClockAlignedIntervalOffset IEC_BACNET_UNSIGNED The offset which is added to the clock aligned interval at which the acquisation will take place. Example: A value is needed 10 minutes after every full hour so pollinterval will be set to 3600 seconds and pollClockAlignedIntervalOffset will be set to 600 seconds. nSubscribeMode IEC_BACNET_CLIENT_SUBSCRIBE_MODE This defines how the data is acquired. pICallback CmpEventMgr.ICmpEventCallback A pointer to the event-callback interface which gets called on value notification. pUserArg POINTER TO BYTE A pointer to data from the user application which is transparent for the API. This pointer will not be modified by the BACnet API. This pointer and the pUserFct pointer is associated with the given device instance, object identifier, property identifier and property array index group. So for every different combination of those parameters these pointers are stored. This pointer may be NULL.
BACnetRegisterClientEventNotification (FUN) ¶ FUNCTION BACnetRegisterClientEventNotification : IEC_BACNET_STATUS Registers an device notification class reference for event and alarm acquisation. This function enables the user appliaction to subscribe to an event and alarm source very easy. This function will do most of the work, normally a client application has to manage, just in one call. It checks periodical for the presence and online state for devices and checks for integrity of the alarms and event acquired from other devices. InOut: Scope Name Type Comment Return BACnetRegisterClientEventNotification IEC_BACNET_STATUS Input hCustomer IEC_BACNET_HANDLE An handle to an created advanced BACnet client customer created by BACnetOpenClientCustomer . devId IEC_BACNET_INST_NUMBER The device instance number from the remote or local device from which the events or alarms shall be acquired. notifClass IEC_BACNET_INST_NUMBER The notification class object instance number from the remote or local device from which the events or alarms shall be acquired. pValidTransitions POINTER TO IEC_BACNET_BIT_STRING A pointer to an bit string structure which contians the bits for the transitions on which a notification shall be sent. More information can be found under BACNET_DESTINATION pValidDays POINTER TO IEC_BACNET_BIT_STRING A pointer to an bit string structure which contians the bits for the weekdays on which a notification shall be sent. More information can be found under BACNET_DESTINATION pFromTime POINTER TO IEC_BACNET_TIME A pointer to a time structure which contains the start time at which notifications shall be sent. More information can be found under BACNET_DESTINATION pToTime POINTER TO IEC_BACNET_TIME A pointer to a time structure which contains the end time at which notifications shall NOT be sent anymore. More information can be found under BACNET_DESTINATION nSubscribeMode IEC_BACNET_CLIENT_SUBSCRIBE_MODE This defines how the data is acquired. pICallback CmpEventMgr.ICmpEventCallback A pointer to the event-callback interface which gets called on BACnet event notification. To unregister a NULL pointer shall be used here. pUserArg POINTER TO BYTE A pointer to data from the user application which is transparent for the API. This pointer will not be modified by the BACnet API. This pointer and the pUserFct pointer is associated with the given device instance and notification class object instance pair. So for every different combination of those parameters these pointers are stored. This pointer may be NULL.
BACnetRegisterClientUnsubscribeCompletionCallback (FUN) ¶ FUNCTION BACnetRegisterClientUnsubscribeCompletionCallback : IEC_BACNET_STATUS Registers the user application callback for completed unregistrations. This registers a callback routine. This callback can be registered at any time. If the callback is registered more than once, the new callback procedure replaces old one. A NULL pointer cancels the callback. This function gives a user application the ability to get notified if an unregistration of device object property reference has completed. Depending on the type of registration made (COV, COVP or POLLING), an unregistration may need some time to be processed. The function for initiation of the unregistration BACnetUnregisterClientDataPoint completes directly but the callback is called after the unsubscription for event or value notification in the remote device has completed. The application may only expect unsubscribe complete callbacks for which the BACnetUnregisterClientDataPoint function call has returned the BACNET_STATUS_BUSY. In case that all registered references have been retrievd by polling this function callback will also be called for the last customer which unregisters the last reference to an device but the referenced object will be the device and the property will be PROP_ALL and the index BACNET_VOID_INDEX (-1). InOut: Scope Name Type Comment Return BACnetRegisterClientUnsubscribeCompletionCallback IEC_BACNET_STATUS Input hCustomer IEC_BACNET_HANDLE An handle to an created advanced BACnet client customer created by BACnetOpenClientCustomer . pICallback CmpEventMgr.ICmpEventCallback A pointer to the event-callback interface which gets called which gets called on completion of an unregistration. To unregister a NULL pointer shall be used here. pUserUnsubArg POINTER TO BYTE A pointer to data from the user application which is transparent for the API. This pointer will not be modified by the BACnet API. This may be NULL.
BACnetRestartAllClients (FUN) ¶ FUNCTION BACnetRestartAllClients : IEC_BACNET_STATUS Resets for all registered devices their communication state to INIT. Calling this function will reset the communication state for all registered devices, objects and properties to it’s initial state. The advanced BACnet client API will re-establish the communication to all devices as if they have been registered for the first time. InOut: Scope Name Type Return BACnetRestartAllClients IEC_BACNET_STATUS
BACnetRestoreBACnetDevice (FUN) ¶ FUNCTION BACnetRestoreBACnetDevice : IEC_BACNET_STATUS Function initiates a restore for an BACnet device. This function will start an restore procedure for the specified device. InOut: Scope Name Type Comment Return BACnetRestoreBACnetDevice IEC_BACNET_STATUS Input pInfo POINTER TO IEC_BACNET_BACKUPRESTORE_INFO Pointer to information which specifies which device should be restored and where the file object data is stored to be restored. pICallback CmpEventMgr.ICmpEventCallback A pointer to the event-callback interface to inform about failures and progress information during the procedure execution. pAPDUParams POINTER TO IEC_BACNET_APDU_PROPERTIES A pointer to the APDU-Properties structure which sets APDU properties for this transaction only. This does not change global defaults or settings for the application APDU Properties. This argument may be NULL. In this case APDU properties are used which were specified in the device object properties of the applications device which sends the request. phTransaction POINTER TO BYTE The handle which identifies the transaction handled by the user application. The given handle has to be unique, in case the application needs to separate multiple pending requests. This handle is transparent for the BACnet API and is returned unchanged to the user application in the completion routine callback. This handle may be NULL, but the user application will be unable to cancel pending requests by a call to BACnetCancelPendingConfirmedRequest or to separate them in the callback if multiple completions are pending in such case.
BACnetSetClientDeviceCommunication (FUN) ¶ FUNCTION BACnetSetClientDeviceCommunication : IEC_BACNET_STATUS Enables or disables communication in the advanced BACnet client API to devices. The user application can enable or disable communication to registered devices. If communication is disabled to one or ALL devices, the connection state change callback will be called for all customers which have registerd that callback for the device. If a new device is registered it’s communication state is initially enabled by default. InOut: Scope Name Type Comment Return BACnetSetClientDeviceCommunication IEC_BACNET_STATUS Input devId IEC_BACNET_INST_NUMBER The device instance number for which communication needs to be changed. A value of 0xFFFFFFFF will change the state of ALL registered devices including the global communication enable / disable state. dccValue IEC_BACNET_DCC_VALUE Specifies if communication should be enabled ( DCC_ENABLE ) or disabled ( DCC_DISABLE or DCC_OFFLINE )
BACnetSetClientDeviceFixAddress (FUN) ¶ FUNCTION BACnetSetClientDeviceFixAddress : IEC_BACNET_STATUS Registers a fix MAC address for communication with the advanced BACnet client API. The user application can register a fix MAC address for communication to an remote BACnet device instead of using dynamic address binding which is the default for this API. InOut: Scope Name Type Comment Return BACnetSetClientDeviceFixAddress IEC_BACNET_STATUS Input devId IEC_BACNET_INST_NUMBER The device instance number for which a fix MAC address shall be registered. pAddress POINTER TO IEC_BACNET_ADDRESS A pointer to a valid MAC address structure which contains the network address under which the given device instance number is reachable. To go back to dynamic address binding this parameter shall be NULL.