Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

climate entities Z1 and Z2 #34

Closed
PGnl opened this issue Oct 31, 2022 · 15 comments
Closed

climate entities Z1 and Z2 #34

PGnl opened this issue Oct 31, 2022 · 15 comments

Comments

@PGnl
Copy link

PGnl commented Oct 31, 2022

Thank you for adding the climate entities.
I indeed cannot use my climate entities, as I use thermostats (as you warned for in https://github.com/kamaradclimber/heishamon-homeassistant/commit/705286405fbd31013f43a2e00fa4919f2761cf1c )
Is there a way to manually change a setting such that I can adjust what to use?
Or might it be better to add all the version available?
Then people can disable the ones they do not use (equal to the sensors now)

It is not a big thing for myself (I added them manually in yaml)
Again, thanks for the great support.

p.s. I wondered how to attack this, as you where aware of it, however thought it would be good to have a place for it and a place to discuss as you closed the previous "issue"(although it is more a request than an issue) ;)

@kamaradclimber
Copy link
Owner

If I understand correctly, the only issue is the temperature range:

  • in compensation mode, -5 to 5
  • in direct mode: around 10 to 25

I have included the logic to change between those two modes but the UI does not reflect the temperature range when mode is changed dynamically.

@geduxas
Copy link
Contributor

geduxas commented Nov 1, 2022

If I understand correctly, the only issue is the temperature range:

  • in compensation mode, -5 to 5
  • in direct mode: around 10 to 25

I have included the logic to change between those two modes but the UI does not reflect the temperature range when mode is changed dynamically.

Truly only in compensation curve you have shift space for -5 .. +5 degree's. But in direct heating it will be on demand, and by pump type.. t-cap series will heat to 65°C while outside reaches -10°, in lower temp, it could reach to 55°C.. not shure about R32 type, they are high temperature models. Also to work in multipurpose ways same should work in cooling mode also :) i think it will be very tricky to implement (direct heating) with compensating curve everything easier.

@PGnl
Copy link
Author

PGnl commented Nov 1, 2022

Believe I have seen integrations where settings are possible in the integrations section in HA.
Would it be possible/easier to allow a setting for temparatures based on a setting in the integration.
Then if someone changes from range (+5/-5) to room temp (7-25) that they only have to change the integration setting and reload the integration followed by a restart of HA.

Maybe a drop down box allowing for one of two settings or better yet have people add it manually (for example: 7,25,7,25,40,60 wherein 1st no is lower temp of Z1, second is higher of Z1, equal for Z2, and last two are for DHW)
Then people can choose wichever they want (and you get no requests for altered settings to someones liking)

I have no idea how that is done or if that is easy ;)
I am relatively new at HA.

@geduxas
Copy link
Contributor

geduxas commented Nov 1, 2022

@PGnl a native climate control in HA is very limited.. and not suitable for all use cases.. i am stuck to those limitations implementing own mqtt thermostat integration. Also tried to find out custom climate integrations.. but there is problems if you want to use external devices or automations. @kamaradclimber done very good integration :) i think it will slowly come to perfect soon :)

Maybe someone have access to aquarea cloud integration? It would be interested to know how they have implemented it.

@PGnl
Copy link
Author

PGnl commented Nov 1, 2022

https://github.com/cjaliaga/home-assistant-aquarea/blob/main/custom_components/aquarea/climate.py
Did some searching.
Believe this is a hint there:
# If the device doesn't allow to set the temperature directly
# We set the max and min to the current temperature.
# This is a workaround to make the UI work
Not sure how that works though, will reread what they actually do later.
But seems that they use the current setting a basis.
When using direct, that will be in the range of the 15-25 and min max can follow from that.
When that is 0 (or close to), you can assume +/-5

@geduxas thanks for the tip. Note that I am myself not using the native climate control, but the MQTT HVAC integration
https://www.home-assistant.io/integrations/climate.mqtt/
That is, to my understanding, more flexibble than the standard climate integration (but I am not a HA expert)
Standard climate integration:
https://www.home-assistant.io/integrations/climate/

@geduxas
Copy link
Contributor

geduxas commented Nov 1, 2022

@PGnl with aquarea integration there is mutch esear.. becouse you can retrieve data, or request for state... In MQTT way you just listen.. if you missed status update, you will miss :)

And climate component in HA are same in all solutions.. just model of working is very different.. and regular thermostat component is not able to cover many use cases..

@kamaradclimber do you use compensation or direct heating?

@kamaradclimber
Copy link
Owner

I'm using compensation curve.
I found and fixed several bugs in the heating mode detection.

Here is how it will work:

  • in compensation mode, you can set -5..5 (which represent the shift from the configured heating curve, I'm not even sure it is in °C). The climate entity UI will display the current water temperature (something like 30°C) and the shift value (-5..5).
  • in direct mode, I assume you set the target temperature of the room (5..25°C). The climate entity UI will display the current water temperature as well and the target room temperature.

UI might look a bit strange to people not knowing how heatpump is working: in steady state, displayed temperature will be higher than target temperature. But I think it is reflecting the real working of the heatpump and is not too surprising.

kamaradclimber added a commit that referenced this issue Nov 4, 2022
This should allow heatpump in COMPENSATION_CURVE mode to work properly

- fix 2 mqtt topic listeners
- properly write HA state when changing heating mode
- default to DIRECT mode (not super useful but it seems to be the main
  operating mode for heatpumps)

Relates to #34

Change-Id: I0daa5f4d36a2ab758e323aab0a6f522f492141b7
@geduxas
Copy link
Contributor

geduxas commented Nov 4, 2022

I'm using compensation curve. I found and fixed several bugs in the heating mode detection.

I have couple hatches about that.. just thought it doesn't work for now, but lately found bug but wasn't fast enought :D

Here is how it will work:

  • in compensation mode, you can set -5..5 (which represent the shift from the configured heating curve, I'm not even sure it is in °C). The climate entity UI will display the current water temperature (something like 30°C) and the shift value (-5..5).
  • in direct mode, I assume you set the target temperature of the room (5..25°C). The climate entity UI will display the current water temperature as well and the target room temperature.

In direct mode, you have couple options, use room temperature (if you have room sensor) or you can set direct water flow temperature.. i'll try ti figure out if it possible to get room/water temperature register from panasonic.. and it could be implemented to..

UI might look a bit strange to people not knowing how heatpump is working: in steady state, displayed temperature will be higher than target temperature. But I think it is reflecting the real working of the heatpump and is not too surprising.

I think it will not be a problem for that, also it is one little missing feature, to know real state of pump. heat/cool/idle
what I have done eralier for mqtt.climate component, i just monitored compressor state, and three valve position,
if compressor is running and not in defrost state also valve is in room position then it will state heat/cool state in zone, and idle in DHW, after switching valve to DHW, it will idle heating for zones and heat DHW.
in my case it was working very well :)

@archi
Copy link

archi commented Oct 14, 2023

My heatpump is not really configured yet (they're just setting it up), but seems I have a corner case?

  1. We have one heating zone (the whole house)
  2. I'm using a heating curve (default settings)
  3. Heishamon emulates the optional PCB
  4. I average some room temperature sensors (zigbee) and send data to Heishamon via MQTT as "commands/SetZ1RoomTemp"

The control panel on the heatpump now displays the current room temperature for Z1, and I can set the target. E.g. it's 24degC now and target is 22degC. Z2 is not displayed on the screen (I have not configured it in the heatpump).

Heishamon still reports "compensation mode" for both Z1 + Z2.

The climate control in HA allows displays 22 degC as the target (and 24degC as current temperature), but only allows setting -5 to 5 degC.

I have a "SDC0709J3E5" if that matters; Heishamon is 3.1.

(P.S. & after cutting right to the chase: Thanks for the integration! The whole ecosystem built by volunteers was among the reasons I preferred getting a Pansonic unit. I'm really happy with what you did and am glad you put the effort into it :-) ).

@geduxas
Copy link
Contributor

geduxas commented Oct 14, 2023

Hi @archi, by default pump is able to control 2 heating zones, but for that it's required to have expension board.. so in internals of heishamon it still will see 2 zones. And for heating mode there is 3 options. Setpoint of water temp, setpoint of room temp, and compensation curve. For two first cases you can set direct temperature for water or room. And for compensation curve you only left with shift of curve by -5, 0, +5. All setpoint's are made with same set command.

@archi
Copy link

archi commented Oct 14, 2023

Thanks for the quick reply, but I still think something is bugged.

First off, Heishamon can emulate the expansion board; this seems newish, maybe you were not aware? Anyway, this is what I do to send the room temperature from ZigBee to the heat pump (and I use a DS18b20 connected to heishamon as buffer temperature sensor, which also seems to work nice).

I believe Heishamon knows I have only one zone: TOP94 Zones_State is "0 Zone1 active" (instead of "2 Zone1 and Zone2 active").

I was just checking the heishamon docs for relevant topics. Maybe TOP111 Z1_Sensor_Settings should also be considered for the type of climate control (it's 3 Thermistor for me). Maybe its a combination of TOP111/TOP112 and TOP76.

As it stands, something is clearly bugged: I can control the room temperature setpoint on the heatpump itself. The climate control in HA reflects the values shown on the heatpump screen. But I can only change the 22 to something between -5 and +5. So I can not even set the climate control to it's current value. That can't be right ;)

This is a json export of what heishamon currently reports (I added some \n for better readability):
heisha.json

@geduxas
Copy link
Contributor

geduxas commented Oct 14, 2023

@archi, yes i am know about emulation :) also i am know that integration is still in heavy developer. So there still much work to do :) we are very thankfuly to @kamaradclimber for it's hard work, and annoying requests :D

So for double zones. If you want to use it, as i told earlier, you ned expension board. Yes it's possible to use and with emulation. But! You also need to enable 2 zones in heatpump. Truly maybe there is topic for that, but not sure.

So to make clean for now integration is ready only for compensation working model.. so setpoint is tied to -5 +5 ranges. Also it's welcome to contribute to this project and make your changes as well :)

@geduxas
Copy link
Contributor

geduxas commented Oct 14, 2023

Oh i was wrong there is 2 capable values -5:6 and 7:45 ranges..

@geduxas
Copy link
Contributor

geduxas commented Jan 22, 2024

@archi could you test 1.7.0 build, and if it solves your problem could you close this issue?

@kamaradclimber
Copy link
Owner

I'll close that issue but feel free to put a comment if there are any news

@kamaradclimber kamaradclimber closed this as not planned Won't fix, can't repro, duplicate, stale Jun 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants