kodmax / homebridge-knx-eib

MIT License
3 stars 0 forks source link

Temperature und Humidity Error with KNX over IP #1

Open mariomaurer opened 1 year ago

mariomaurer commented 1 year ago

hello, when i using tasmota knx via ip module you get the following error messages for humidity and temperature:

[1/5/2023, 8:02:41 PM] [homebridge-knx-eib] This plugin generated a warning from the characteristic 'Current Relative Humidity': characteristic was supplied illegal value: number 1523 exceeded maximum of 100. See https://homebridge.io/w/JtMGR for more info. [1/5/2023, 8:02:41 PM] [homebridge-knx-eib] This plugin threw an error from the characteristic 'Current Relative Humidity': Unhandled error thrown inside read handler for characteristic: KnxLink Exception: Timeout waiting for 1/7/16 response. See https://homebridge.io/w/JtMGR for more info.

I think tasmota uses dpt 14 / F32, all other knx sensors work very well. lg mario

kodmax commented 1 year ago

hi,

Regarding humidity reading: F32 DPT for humidity does not seem to exist in KNX specification. Could you check the reading in ETS application / group monitor and paste a screenshot of the reading line?

Regarding timeout: KNX IP Gateways support quite slow telegram rate. The current setting is 24 telegrams per second. If you have a lot of devices, ocasional timeouts may happen. Please make sure to use the plugin version 1.6.3 or above.

kodmax commented 1 year ago

I have added gateway speed configuration in 1.7.0

mariomaurer commented 1 year ago

Thanks for your feedback, KNX Over IP actually has the standard DPT9 for temperature and humidity, but Tasmota does not follow the standard here, can you overwrite the data points individually?

I queried the sensor with the knxtool and got the following values:

L_Busmon: BC 10 CF 0F 10 E1 00 00 62 :L_Data low from 1.0.207 to 1/7/16 hops: 06 T_Data_Group A_GroupValue_Read L_Busmon: BC 42 2A 0F 10 E5 00 80 42 3B 33 33 28 :L_Data low from 4.2.42 to 1/7/16 hops: 06 T_Data_Group A_GroupValue_Write 42 3B 33 33

kodmax commented 1 year ago

Ok, this looks like a Tasmota KNX issue. As a workaround, I have added a second group address for Humidity Sensor in v1.8.0. Leave the first group address blank and add the second one as 1/7/16. Should work!

MicheleLa commented 1 year ago

Hi both :-) !

I have a similar error with Thermostat when I use the slider to set the new temperature. Input temperature illegal value: (Value in configuration of the real devices is DPT9.001 )

2/1/2023, 11:56:19 AM] [homebridge-knx-eib] This plugin generated a warning from the characteristic 'Target Temperature': characteristic was supplied illegal value: number 8 exceeded minimum of 10. See https://homebridge.io/w/JtMGR for more info. [2/1/2023, 11:56:19 AM] [homebridge-knx-eib] Error: at TargetTemperature.Characteristic.characteristicWarning (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:3011:105) at TargetTemperature.Characteristic.validateUserInput (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2923:14) at TargetTemperature.Characteristic.updateValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2328:20) at EventEmitter. (/usr/local/lib/node_modules/homebridge-knx-eib/dist/service/characteristic/TargetTemperature.js:10:27) at EventEmitter.emit (node:events:512:28) at EventEmitter.DataPointAbstract.eventsListener (/usr/local/lib/node_modules/homebridge-knx-eib/node_modules/js-knx/dist/dpts/formats/data-point-abstract.js:27:45) at EventEmitter.emit (node:events:524:35) at /usr/local/lib/node_modules/homebridge-knx-eib/node_modules/js-knx/dist/connection/connect/index.js:14:32 at Socket. (/usr/local/lib/node_modules/homebridge-knx-eib/node_modules/js-knx/dist/connection/connect/message-handler.js:20:17) at Socket.emit (node:events:512:28)

Dvid72 commented 1 year ago

Yes, the same is impossible to integrate the thermostats! The temperature and mode setting impossible to do. can you see the code again please? Anyway, thanks for the work.

kodmax commented 1 year ago

Thanks for the details folks. I will apply a fix for this soon.

MicheleLa commented 1 year ago

Dear Kodmax, once again Thank you so much for your work! After more research I have found the problem and the solution it is very simple: In file src/service/Charatheristic/TargetTemperature.js on_change it is subtracting the current temperature causing the error await set.write(+temp - current); The fix is to remove "current" value because in most of KNX Thermostat it is needed Absolute temperature. ` I have changed to await set.write(+temp);` (For the other folks that would fix on their installation : In Mac OS homebridge installation this file is under /usr/local/lib/node_modules/homebridge-knx-eib/dist/service/characteristic/TargetTemperature.js
;-)

kodmax commented 1 year ago

Cool. In case of thermostats that I own in my home, this subtraction was required. I will try to make it an option!

pt., 31 mar 2023 o 12:51 MicheleLa @.***> napisał(a):

Dear Kodmax, once again Thank you so much for your work! After more research I have found the problem and the solution it is very simple: In file src/service/Charatheristic/TargetTemperature.js on_change it is subtracting the current temperature causing the error await set.write(+temp - current); The fix is to remove current being in most of KNX Thermostat Absolute temperature value needed. (For the other folks that would fix on their installation : In Mac OS homebridge installation this file is under shell /usr/local/lib/node_modules/homebridge-knx-eib/dist/service/characteristic/TargetTemperature.js ;-)

— Reply to this email directly, view it on GitHub https://github.com/kodmax/homebridge-knx-eib/issues/1#issuecomment-1491733626, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAK3PV6XGGYR66COGTOHOPLW62ZMXANCNFSM6AAAAAATSJEINE . You are receiving this because you commented.Message ID: @.***>

kodmax commented 1 year ago

Hi folks,

I just published v1.12:

Enjoy!