Hernas / homebridge-panasonic-heat-pump

Apache License 2.0
7 stars 2 forks source link

Floor Heating ºC / ºF Problem #9

Open dcdanielcoelho opened 6 months ago

dcdanielcoelho commented 6 months ago

All information appears correctly with the exception of the temperature set for floor heating which appears in ºF regardless of the seal being in ºC.

Outside temperature is not available...

Logs:

Show the Homebridge logs here, remove any sensitive information.[24/04/2024, 16:16:29] [PanasonicHeatPumpHomebridgePlugin] Authenticated to Aquarea Smart Panasonic [24/04/2024, 16:16:30] [PanasonicHeatPumpHomebridgePlugin] Restoring existing accessory from cache: [24/04/2024, 16:16:30] [PanasonicHeatPumpHomebridgePlugin] Restoring existing accessory from cache:

json

"email": "xxx", "password": "xxx", "enableOutdoorTempSensor": true, "enableEcoModeSwitch": true, "enableComfortModeSwitch": true, "refreshTime": 5, "platform": "PanasonicHeatPumpHomebridgePlugin"

Screenshots:

HK_screen

AQ_screen

Environment:

pjuszkiewcz commented 2 months ago

I confirm, the same happens at my home: target temperature 19C is displayed as 41C. And according to online calculators it is not Fahrenheit scale. It's just wrong number.

pjuszkiewcz commented 2 months ago

Found that! It's the sum! Target is the sum of real target and current.

pjuszkiewcz commented 2 months ago

According to debug logs, server returns correct data: [8/31/2024, 7:50:34 PM] [PanasonicHeatPumpHomebridgePlugin] Readings: { "temperatureNow": 17, "heatingCoolingState": 2, "targetHeatingCoolingState": 2, "outdoorTemperatureNow": 22, "tankTemperatureNow": 53, "tankTemperatureSet": 55, "tankHeatingCoolingState": 0, "tankTargetHeatingCoolingState": 1, "isActive": true, "ecoModeIsActive": false, "comfortModeIsActive": false, "tankTemperatureMax": 65, "tankTemperatureMin": 40, "targetTempSet": 19, "targetTempMin": 5, "targetTempMax": 20, "tempType": "cool" } There is no adding values. This add must have been somewhere in the plugin

pjuszkiewcz commented 2 months ago

Found the bug: in the thermostatAccessory.ts this adding of currentTemperature (and then subtracting when setting to the pump) is for all zoneSensor except 'Internal' which is why I believe tank is working properly. But in my Aquarea model 'Water temperature' (floor heating) does not need to add this currentTemperature, the same as 'Internal' zone. When I changed const adjustedTemp = this.zoneSensor === 'Internal' ? parsedTemp : parsedTemp - readings.temperatureNow; to const adjustedTemp = parsedTemp; and fixed the method updateTargetTemperaturePropsAndReturnCurrentTemp to return just the structure like it was before only for 'Internal', then it works like a charm.

I wonder why this add of currentTemperature has been implemented. Maybe it is needed only for specific heatpump. Maybe it should be activated by some sort of switch, or maybe it was a workaround for a bug in old version of server...

I'm new to github, but I can try to prepare fork or pull request with fix of that bug.

pjuszkiewcz commented 2 months ago

I created pull request that should fix the issue. #10

bimusiek commented 2 months ago

Can you try the new 2.0.3 version? I have changed how the temperature is adjusted for the cases of -5 ~ +5 settings.