-
-
Notifications
You must be signed in to change notification settings - Fork 62
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
Combining LWT heating and cooling entities. #106
Comments
This applies to E-systems: I tried hard to make this a single climate entity, but it did not work nicely - for example HA would not select the right color for heating and cooling. Also, the Daikin system really has separate settings and feedback for cooling and for heating. So I decided to only rewrite the climate entities (when heating/cooling mode changes) to add and remove the "on" button but not the "off" button for climate entities in E systems depending on heating/cooling mode, and make the "on" visualization depending on whether the climate entity is really active or not. This gives you the option to also control the cooling setpoint in heating mode . This works only after adding climate entities to your dashboard and then setting switch |
Ok that makes sense, different setpoints for heating and cooling is not supported by HA yet.
What does it do exactly and why it is needed? |
This is at the moment needed only for Daikin E series, but may become necessary for Daikin F series later too. It ensures that more functionality is available (all climate entities, including on/off buttons), some of which is later (temporarily) removed depending on system status: in heating mode the "on" button disappears in the cooling climate entity. And |
That sounds reasonable. Excuse my insistence but I really don't get the point of HA_Setup, especially the description "proper initial set-up of HA dashboards". I believe I will not be the only one confused about it. Maybe I'm missing something but turning other entities unavailable does not fit HA architecture IMO. |
This relates to the three subdevices HC_Room, HC_LWT, and HC_LWT2. If you add for example the HC_LWT (sub)device to one of the dashboards manually, this will add 2 climate entities, one for cooling and one for heating. If you would do this in regular mode, for example in heating mode, the active heating entity will get 2 buttons: If you do this in This has the unwanted effect that (for now) cooling seems active too if heating is active: When Overall I would have preferred the old way (<HA2023.02) where the operating mode and the on/off state were separate button bars, and a single climate entity might be used, but this discussion makes clear that separate button bars will not be re-introduced (and hiding things in "more info" would be even worse). As for making entities unavailable, there are several reasons why I do this: To me making entities unavailable is the same as disabling them; why do you think it does not fit the HA architecture? Would you know a better way? |
Thanks for the detailed explanation. Bear with me as I hope you understand this conversation is not an attack, but a honest attempt at improving P1P2MQTT and ease its usage and development. DevicesFirst off regarding this:
Why would you add a whole device to a dashboard? Climate entityRegarding the climate entity, I understand what you are trying to achieve and the fact that the current HA implementation for climate entities does not cover the use case here. My issue is that the default lovelace climate card(UI) or current implementation in HA side should not warrant destroying the "Model-View-Controller" separation in home assistant.
Then what about users using other lovelace climate cards (such as mushroom or many others)? The root of the problem is that climate entities where never intended for this use case, they are supposed to be used as thermostats, which in this case would be used to control/represent individual rooms/zones (and the corresponding valves controlling them). I don't want to say to not use a climate entity, but strictly speaking it should not be as it will lead to issues with whatever interacts with it (as we have seen with the core Thermostat card). In same sense, this leads me to the
Worst case scenario that should be the only behaviour. My takeHow I would do it:
All of these entities should have reliable naming for
Doing it that way is generally more expandable, and specifically:
When the entities match the spec and the base data is organized, then and only then we should worry about presentation. If the current HA thermostat card is not a good fit I am sure it can be solved with some custom card. Link to example custom climate card. Unavailable vs disabledGenerally speaking entities are supposed to become Disabled on the other hand "forgets" about the entity. It is a clear instruction to not process/record changes which reduces the load and to everything else to ignore it. A unknown or unavailable entity requires my attention. A disabled one does not, but I have the option to enable it and track/use it anytime when needed. Therefore these use cases look fine to me:
This should be unavailable only those first two minutes:
And in my opinion this should never be unavailable, but disabled manually in any case:
|
Many thanks for your detailed feedback and suggestions. I really appreciate it - it's definitely not an attack. I am relatively new to HA, and have tried to make using the bridge with HA as easy as possible, without having to know much on how to configure everything in HA. Before responding in detail, I'd like to better understand what you are saying, being a relative HA novice:
Which "specification" are you referring to? I am primarily using the documentation at www.home-assistant.io, but it's not really a specification prescribing how things must be done, only how things can be done.
How do you disable an entity? Via MQTT discovery an entity can only be made unavailable with the
Sorry, I do not grasp what you are saying here, can you please explain? |
Yes, that is a good point. The most formal specification you are going to find is at https://developers.home-assistant.io/docs/core/entity/climate/, and usage at https://www.home-assistant.io/integrations/climate/ but it is constantly expanded and improved. I can see why it can be confusing to new users. Once you are a regular HA user you get the "idea" behind it and everything makes more sense. In that particular instance I meant:
As I write this I see the confusion so let me try to change the reasoning route in hope of explaining myself better: Everything in HA is a entity, a value, a button, a automation... it is the base element on which to expand. There is no reason to go the hacky climate entity in this case, just using "simpler" entities would enable all functionality, and having those right enables power users to combine them and do their own advanced entities using templates by themselves.
That is expected of the user. Via the UI, click on an entity, then gear icon->enabled. It is not on MQTT discovery on purpose, only the user should control that. The device/integration/addon must send state to MQTT anyway for if and when HA (the user) wants to know about it again.
I mean that, as described earlier in this same reply, at the very least the available properties/behaviour of the entity should be stable. Only having OFF as a mode is hacky, but additionally being in that state on purpose and only sometimes is way worse from a compatibility perspective. |
I messed up here I should have written: |
Right now, with the system set to cooling, both thermostats show as "on", heating and cooling.
Could it be possible to mix
HC_LWT Abs_Cooling
andHC_LWT Abs_Heating
into a single entity?Mode command could link to
HC_Mode Heating_Cooling_Auto
, and current status (for reporting) can be read fromHC_Mode Climate_Cooling
andHC_Mode Climate_Heating
entities which work as expected forcooling
,heating
, andauto
modes.The text was updated successfully, but these errors were encountered: