---
title: "KNX Group Object DPT9"
canonical: "https://docs.cuesystem.com/space/CVCHELP/525172758/KNX%20Group%20Object%20DPT9"
format: markdown
---
> Macro (toc)

---

# Description

KNX Group Object DPT9 is defined for transmitting floating point values in the range from -71 088.64 up to 670 760.96. Various data point types have been defined for different physical variables.

|  |  |  |
| --- | --- | --- |
|  | Octet 2 - MSB | Octet 1 - LSB |
| Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|  | M | E | E | E | E | M | M | M | M | M | M | M | M | M | M | M |
| Field | Float Value |

FloatValue = (0.01 * M) * 2<sup>E</sup>

E = 0 ÷ 15

M = -2 048 ÷ 2 047, two’s complement notation.

For all Datapoint Types 9.xxx, the encoded value 7FFFh shall always be used to denote invalid data (NaN, Not a Number).

# DPT Dimensions

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
| DPT Dimensions | Name | Range | Unit | Resolution |
| 9.001 | temperature (°C) | -273 ÷ 670 760 °C | °C | 0,01 °C |
| 9.002 | temperature difference (K) | -670 760 ÷ 670 760 K | K | 0,01 K |
| 9.003 | kelvin/hour (K/h) | -670 760 ÷ 670 760 K/h | K/h | 0,01 K/h |
| 9.004 | lux (Lux) | 0 ÷ 670 760 lux | lux | 0,01 lux |
| 9.005 | speed (m/s) | 0 ÷ 670 760 m/s | m/s | 0,01 m/s |
| 9.006 | pressure (Pa) | 0 ÷ 670 760 Pa | Pa | 0,01 Pa |
| 9.007 | percentage (%) | 0 ÷ 670 760 % | % | 0,01 % |
| 9.008 | parts/million (ppm) | 0 ÷ 670 760 ppm | ppm | 0,01 ppm |
| 9.010 | time (s) | -670 760 ÷ 670 760 s | s | 0,01 s |
| 9.011 | time (ms) | -670 760 ÷ 670 760 ms | ms | 0,01 s |
| 9.020 | voltage (mV) | -670 760 ÷ 670 760 mV | mV | 0,01 mV |
| 9.021 | current (mA) | -670 760 ÷ 670 760 mA | mA | 0,01 mA |
| 9.022 | power density (W/m²) | -670 760 ÷ 670 760 W/m² | W/m² | 0,01 W/m² |
| 9.023 | kelvin/percent (K/%) | -670 760 ÷ 670 760 K/% | K/% | 0,01 K/% |
| 9.024 | power (kW) | -670 760 ÷ 670 760 kW | kW | 0,01 kW |
| 9.025 | volume flow (l/h) | -670 760 ÷ 670 760 l/h | l/h | 0,01 l/h |
| 9.026 | rain amount (l/m²) | -671 088,64 ÷ 670 760,96 l/m² | l/m² | 0,01 l/m² |
| 9.027 | temperature (°F) | -459,6 ÷ 670 760,96 °F | °F | 0,01 °F |
| 9.028 | wind speed (km/h) | 0 ÷ 670 760,96 km/h | km/h | 0,01 km/h |

# WriteValue

This function transmits the KNX telegram, including the newvalue in the range -671 088,64 ÷ 670 760,96, to the group address defined in the driver property. This function returns True if the function success, else it returns False. A function GetLastError returns the error number that occurred while executing the command. The errors that can happen: <u>[10000](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10000)</u>, <u>[10002](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10002)</u>, <u>[10003](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10003)</u>, <u>[10004](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10004)</u>.

#### Syntax

```visualbasic
Function WriteValue(
  newvalue As Double,
  Optional highpriority As Boolean := False) 
As Boolean
```

#### Parameters

newvalue

Double It is the new value sent to KNX bus in range -671 088,64 ÷ 670 760,96. If the value is out of this range, it is interpreted as Not a Number (NaN).

highpriority

Boolean Optional defaults to False. If False, the command is applied with standard priority on the KNX bus. If it is True, the command is applied with a high priority on the KNX bus.

#### Return value

Boolean This function returns True on success or False if an error occurs. A function GetLastError returns the error number.

# WriteTime

This function transmits the KNX telegram, including data converted from parameter newtime to the group address defined in the driver property. Programmer friendly parameter newtime is used in this function. This format is suitable for DPT Dimension 9.010 and 9.011, where the time scale is defined. This function returns True if the function success, else it returns False. A function GetLastError returns the error number that occurred while executing the command. The errors that can happen: <u>[10000](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10000)</u>, <u>[10002](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10002)</u>, <u>[10003](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10003)</u>, <u>[10004](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10004)</u>, <u>[10005](/wiki/spaces/CVCHELP/pages/510525445/Command+errors#10004)</u>.

#### Syntax

```visualbasic
Function WriteTime(
  newtime As Time,
  Optional highpriority As Boolean := False) 
As Boolean
```

#### Parameters

newtime

Time It is the new value sent to the KNX bus. Range depends on selected DPT Dimension.

highpriority

Boolean Optional defaults to False. If False, the command is applied with standard priority on the KNX bus. If it is True, the command is applied with a high priority on the KNX bus.

#### Return value

Boolean This function returns True on success or False if an error occurs. A function GetLastError returns the error number.

# GetValue

This function returns the last value of the group object with the given address received from the KNX bus in the range -671 088,64 ÷ 670 760,96.

#### Syntax

```visualbasic
Function GetValue() As Double
```

#### Return value

Double It is the last received value of the group object. Value is in the range

-671 088,64 ÷ 670 760,96.

# GetTime

This function returns the last value of the group object with the given address received from the KNX bus in Time format. This function is suitable for DPT Dimension 9.010 and 9.011, where the time scale is defined. In other DPT Dimensions it returns (0:0.0).

#### Syntax

```visualbasic
Function GetTime() As Time
```

#### Return value

Time It is the last received value of the group object. Range depends on selected DPT Dimension.

# OnUpdate

This event is raised when receiving the KNX telegram with the appropriate group address. It returns all possible formats of data received from the KNX telegram.

#### Syntax

```visualbasic
Event OnUpdate As Process(newvalue As Double, newtime As Time)
```

#### Parameters

newvalue

Double It is the new value received from KNX bus in the range

-671 088,64 ÷ 670 760,96.

newtime

Time It is the new value received from the KNX bus in time format. Range depends on selected DPT Dimension. This function is suitable for DPT Dimension 9.010 and 9.011, where the time scale is defined. In other DPT Dimensions, it is set to (0:0.0).