31 lines
852 B
C++
31 lines
852 B
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <cstddef>
|
|
|
|
// KNX Group Object Info für Web-API
|
|
struct KnxGroupObjectInfo {
|
|
uint16_t goIndex; // Group Object Index (1-based)
|
|
uint16_t groupAddress; // Gruppenadresse (z.B. 1/2/3 = 0x0A03)
|
|
uint8_t dptMain; // DPT Haupttyp
|
|
uint8_t dptSub; // DPT Subtyp
|
|
bool commFlag; // Kommunikations-Flag
|
|
bool readFlag; // Lese-Flag
|
|
bool writeFlag; // Schreib-Flag
|
|
};
|
|
|
|
class KnxWorker {
|
|
public:
|
|
KnxWorker();
|
|
void init();
|
|
void toggleProgMode();
|
|
void loop();
|
|
|
|
// KNX Gruppenadressen auslesen
|
|
size_t getGroupObjectCount();
|
|
bool getGroupObjectInfo(size_t index, KnxGroupObjectInfo& info);
|
|
|
|
// Gruppenadresse als String formatieren (z.B. "1/2/3")
|
|
static void formatGroupAddress(uint16_t addr, char* buf, size_t bufSize);
|
|
};
|