snowdd1 / homebridge-knx-de

German Issue/Discussion forum for homebridge-knx
https://github.com/snowdd1/homebridge-knx
20 stars 4 forks source link

DPT6 #53

Open giase82 opened 6 years ago

giase82 commented 6 years ago

Hallo zusammen,

Ich möchte gerne eine relative Temperaturverschiebung auf einen Gira Aktor senden. Dazu habe ich ein Plugin. Allerdings stelle ich jetzt gerade fest, dass DPT6 nicht unterstützt ist.

Kann mir da jemand helfen bzw. mir sagen wo ich das einbauen kann?

Gruß, //Christof

giase82 commented 6 years ago

Ein workaround wäre, DPT5 zu nehmen und folgende Konvertierung zu machen, oder?

// convert signed int to unsinged int (8bit) if (newValue < 0 && newValue >= -127){ newValue = -newValue + 128; } else if (newValue >= 0 && newValue <= 127){ // do nothing newValue = newValue; } else if (newValue > 127) { newValue = 127; } else if (newValue < -127) { newValue = -127; }

snowdd1 commented 6 years ago

klingt doch gut. Das problem mit der node-eibd ist, dass es nur typen gut decodiert bei denen man anhand der Länge weiß was es ist - oder man nimmt halt den "wahrscheinlicheren" Fall: Ein Byte - also DPT5, nicht 6 oder so etwas. Ansonsten müsste man dem Programm ja auch noch alle Typen aus der ETS mitgeben - das ist ein anderer Ansatz.