Ich bin gerade ein bisschen am verzweifeln. Unzwar möchte ich Temperaturwerte auf den KNX Bus bringen mit dem Tapko Schnittstellenmodul KIMaip I2C KNX Schnittstellenmodul. Jedoch funktioniert keine der Beispielprogramme und durch das Datenblatt werde ich auch nicht schlauer. Habe das Beispielprogramm angepasst und auf irgendeine Reaktion im KNX Busmonitor gewartet jedoch passiert nichts. Folgendes Programm habe ich probiert.
#include <KIMlib.h>
#define KNX_DATAREADY 2 // Pin data ready KNX
#define KNX_BUS 12 // Status BUS KNX
#define LED 13 // Pin LED_BUILTIN
#define BUTTON 8 // Pin button S3
// Object definition scope in ETS exacly sequnce respect
#define OBJ_12 12 // 1Bit Write da BUS
#define OBJ_13 13 // 1Bit Read da BUS
struct Switch_Control {
bool status = false;
} switchControl;
KIMaip knxIno(KNX_DATAREADY, KNX_BUS);
DPT oby_12(OBJ_12, &knxIno);
DPT oby_13(OBJ_13, &knxIno);
// variables will change:
bool buttonPressed = true;
void setup() {
pinMode(LED, OUTPUT);
digitalWrite(LED, LOW);
pinMode(BUTTON, INPUT_PULLUP);
}
void loop() {
// check if the pushbutton is pressed. If it is, the buttonState is HIGH:
if ((digitalRead(BUTTON) == LOW) && (buttonPressed == false)) {
buttonPressed = true;
switchControl.status = !switchControl.status;
oby_13.setValue(switchControl);
}
if (digitalRead(BUTTON) == HIGH) {
buttonPressed = false;
}
if (knxIno.recive()) {
oby_12.getValue(switchControl);
digitalWrite(LED, switchControl.status);
}
oby_13.responseValue(switchControl);
delay(100);
}
aber es passiert nichts. Dann habe ich Probiert über die einfache I2C Bibliothek Wire.h die Befehle direkt an das Modul zu schicken jedoch ohne Erfolg. Im Datenblatt ist es etwas sperrlich beschrieben.

Somit habe ich probiert die einzelnen Bytes über
#include <Wire.h>
void setup() {
Wire.begin();
}
void loop() {
Wire.beginTransmission(8); // transmit to device #8
Wire.write(0410000501); // sends one byte
Wire.endTransmission(); // stop transmitting
delay(5000);
}
aber auch da bekomme ich keine Aktion auf dem KNX Bus. Gibt es jemanden der sowas schonmal gemacht hat oder einen Lösungsansatz hat?