Temperature Broadcast Application

The Temperature Broadcast application is used to notify units on the C-Bus network of changes in temperature. It is used to allow temperature control systems to react to changes in environmental conditions.

This has been replaced by the Measurement application (not get implemented by libcbus).

Please refer to this document in conjunction with the Temperature Broadcast Application Guide published by Clipsal.

class cbus.protocol.application.temperature.TemperatureApplication

Bases: cbus.protocol.application.sal.BaseApplication

This class is called in the cbus.protocol.applications.APPLICATIONS dict in order to describe how to decode temperature broadcast application events recieved from the network.

Do not call this class directly.

static decode_sals(data: bytes) → Sequence[cbus.protocol.application.temperature.TemperatureSAL]

Decodes a temperature broadcast application packet and returns it’s SAL(s).

static supported_applications() → Set[cbus.common.Application]

Gets a list of supported Application IDs for the application.

All application IDs must be in the range 0x00 - 0xff.

class cbus.protocol.application.temperature.TemperatureSAL(group_address: int)

Bases: cbus.protocol.application.sal.SAL, abc.ABC

Base type for temperature broadcast application SALs.

This should not be called directly by your code!

Use one of the subclasses of cbus.protocol.temperature.TemperatureSAL instead.

application
static decode_sals(data: bytes) → Sequence[cbus.protocol.application.temperature.TemperatureSAL]

Decodes a temperature broadcast application packet and returns its SAL(s).

Parameters:data – SAL data to be parsed.
Returns:The SAL messages contained within the given data.
Return type:list of cbus.protocol.application.temperature.TemperatureSAL
encode() → bytes

Encodes the SAL into a format for sending over the C-Bus network.

class cbus.protocol.application.temperature.TemperatureBroadcastSAL(group_address: int, temperature: float)

Bases: cbus.protocol.application.temperature.TemperatureSAL

Temperature broadcast event SAL.

Informs the network of the current temperature being sensed at a location.

Creates a new SAL Temperature Broadcast message.

Parameters:
  • group_address (int) – The group address that is reporting the temperature.
  • temperature (float) – The temperature, in degrees celsius, between 0.0 and 63.75.
classmethod decode(data: bytes, group_address: int) → Tuple[cbus.protocol.application.temperature.TemperatureSAL, bytes]

Do not call this method directly – use TemperatureSAL.decode

encode() → bytes

Encodes the SAL into a format for sending over the C-Bus network.