Examples
DPT codec examples
Datapoint codec examples for Rust, Python, and Node.js.
DPT codec examples show how to encode KNX datapoint values into payload bytes and decode payload bytes back into values.
Python
Example file: examples/python/dpt_codec.py
from knxyz import dpt
payload = dpt.encode("9.001", 21.0)
assert payload.hex() == "0c1a"
assert dpt.decode("9.001", payload) == 21.0Node.js
Example file: examples/node/dpt-codec.ts
import { encodeDpt, decodeDpt } from "@knxyz/knx";
const payload = encodeDpt("9.001", 21.0);
console.assert(Buffer.from(payload).toString("hex") === "0c1a");
console.assert(decodeDpt("9.001", payload) === 21.0);Rust
Example file: examples/rust/dpt_codec.rs
use knxyz::{dpt, DptValue};
let payload = dpt::encode("9.001", DptValue::Temperature(21.0))?;
assert_eq!(payload, vec![0x0c, 0x1a]);
assert_eq!(dpt::decode("9.001", &payload)?, DptValue::Temperature(21.0));