home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.03k stars 29.68k forks source link

The ephember climate platform does not show any entities or devices #93151

Closed MrLazyUK closed 10 months ago

MrLazyUK commented 1 year ago

The problem

Followed the instructions here: https://www.home-assistant.io/integrations/ephember/

Previously, in 2022, the climate function worked, but this has not worked for the last few months.

What version of Home Assistant Core has the issue?

2023.5.3

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

ephember

Link to integration documentation on our website

https://www.home-assistant.io/integrations/ephember/

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

home-assistant[bot] commented 1 year ago

Hey there @ttroy50, mind taking a look at this issue as it has been labeled with an integration (ephember) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `ephember` can trigger bot actions by commenting: - `@home-assistant close` Closes the issue. - `@home-assistant rename Awesome new title` Renames the issue. - `@home-assistant reopen` Reopen the issue. - `@home-assistant unassign ephember` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


ephember documentation ephember source (message by IssueLinks)

roberty99 commented 1 year ago

So two things are needed to get this working.

1) Manifest file here to use version 0.4.0 https://github.com/home-assistant/core/blob/dev/homeassistant/components/ephember/manifest.json

2) Climate.py , take the version from ajurna (January 26th) on this GitHub issue. https://github.com/home-assistant/core/blob/dev/homeassistant/components/ephember/climate.py https://github.com/ttroy50/pyephember/issues/11

MrLazyUK commented 1 year ago

So two things are needed to get this working.

  1. Manifest file here to use version 0.4.0 https://github.com/home-assistant/core/blob/dev/homeassistant/components/ephember/manifest.json
  2. Climate.py , take the version from ajurna (January 26th) on this GitHub issue. https://github.com/home-assistant/core/blob/dev/homeassistant/components/ephember/climate.py Cloud API about to change by the looks of it ttroy50/pyephember#11

I've added the three files from that repo, to a custom folder called 'ephember' under custom components, but no change, I still can't find anything climate related. I used the info on the comment from ajurna on 26th Jan, as my climate.py file too.

roberty99 commented 1 year ago

It's likely Home Assistant has pyephember version 0.3.1. try update that package to Version .4.0.

On Wed 17 May 2023, 15:12 MrLazyUK, @.***> wrote:

So two things are needed to get this working.

  1. Manifest file here to use version 0.4.0

    https://github.com/home-assistant/core/blob/dev/homeassistant/components/ephember/manifest.json

  2. Climate.py , take the version from ajurna https://github.com/ajurna (January 26th) on this GitHub issue.

    https://github.com/home-assistant/core/blob/dev/homeassistant/components/ephember/climate.py Cloud API about to change by the looks of it ttroy50/pyephember#11 https://github.com/ttroy50/pyephember/issues/11

I've added the three files from that repo, to a custom folder called 'ephember' under custom components, but no change, I still can't find anything climate related.

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/93151#issuecomment-1551474325, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALVJ7EMX7YQAI2AXYWAQS43XGTMENANCNFSM6AAAAAAYDI7GTA . You are receiving this because you commented.Message ID: @.***>

roberty99 commented 1 year ago

if you are using a custom component then you need a line in manifest for version. This i think this tells it to take this custom component over the default one. { "domain": "ephember", "version": "9.9", "name": "EPH Controls", "documentation": "https://www.home-assistant.io/integrations/ephember", "requirements": ["pyephember"], "codeowners": ["@ttroy50"], "iot_class": "local_polling", "loggers": ["pyephember"] }

Then you would need to update the pyephember package to 0.4.0. I do the below on the Homeassistant container. pip install pyephemeber

After that a reboot and having the standard EPH config in the configuration

roberty99 commented 1 year ago

Just checking in did you get it working ok @MrLazyUK ? Testing myself again this week with a custom component and all is working well.

MrLazyUK commented 1 year ago

Hi @roberty99 , I followed the steps you recommended, but to no avail I'm afraid

roberty99 commented 1 year ago

Hi @roberty99 , I followed the steps you recommended, but to no avail I'm afraid

can you share any errors in the log please. my custom component folder looks like the below,manifest file and lines in configuration.yaml

image

image

image

MrLazyUK commented 1 year ago

Hi, thnaks for getting back to me. This is my manifest: image Custom Component: image Configuration yaml: image

Error : image

roberty99 commented 1 year ago

you are missing the ==0.4.0 version on the requirement line. This 0.4.0 version of pyephember has the fixes you need.

MrLazyUK commented 1 year ago

@roberty99 thats really helpful, thanks! I seem to have progressed somewhat, however, I now have a new batch of erros in the logs:

Logger: homeassistant.components.climate Source: custom_components/ephember/climate.py:127 Integration: Climate (documentation, issues) First occurred: 2:06:56 PM (2 occurrences) Last logged: 2:06:56 PM

Error adding entities for domain climate with platform ephember Error while setting up ephember platform for climate Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 455, in async_add_entities await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 731, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 845, in add_to_platform_finish self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 585, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 649, in _async_write_ha_state state = self._stringify_state(available) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 591, in _stringify_state if (state := self.state) is None: File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 242, in state if self.hvac_mode is None: File "/config/custom_components/ephember/climate.py", line 127, in hvac_mode mode = zone_mode(self._zone) File "/usr/local/lib/python3.10/site-packages/pyephember/pyephember.py", line 248, in zone_mode return ZoneMode(zone_pointdata_value(zone, 'MODE')) File "/usr/local/lib/python3.10/enum.py", line 385, in call return cls.new(cls, value) File "/usr/local/lib/python3.10/enum.py", line 710, in new raise ve_exc ValueError: 350 is not a valid ZoneMode

roberty99 commented 1 year ago

Seems it doesn't like your zonemode value. I'll need to see what 350 means

On Fri 26 May 2023, 14:11 MrLazyUK, @.***> wrote:

@roberty99 https://github.com/roberty99 thats really helpful, thanks! I seem to have progressed somewhat, however, I now have a new batch of erros in the logs:

Logger: homeassistant.components.climate Source: custom_components/ephember/climate.py:127 Integration: Climate (documentation https://www.home-assistant.io/integrations/climate, issues https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+climate%22 ) First occurred: 2:06:56 PM (2 occurrences) Last logged: 2:06:56 PM

Error adding entities for domain climate with platform ephember Error while setting up ephember platform for climate Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 455, in async_add_entities await asyncio.gather(tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 731, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 845, in add_to_platform_finish self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 585, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 649, in _async_write_ha_state state = self._stringify_state(available) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 591, in _stringify_state if (state := self.state) is None: File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 242, in state if self.hvac_mode is None: File "/config/custom_components/ephember/climate.py", line 127, in hvac_mode mode = zone_mode(self._zone) File "/usr/local/lib/python3.10/site-packages/pyephember/pyephember.py", line 248, in zone_mode return ZoneMode(zone_pointdata_value(zone, 'MODE')) File "/usr/local/lib/python3.10/enum.py", line 385, in call return cls.new(cls, value) File "/usr/local/lib/python3.10/enum.py", line 710, in new* raise ve_exc ValueError: 350 is not a valid ZoneMode

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/93151#issuecomment-1564374812, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALVJ7ENS5Y53BIS2REVQPGTXICTZHANCNFSM6AAAAAAYDI7GTA . You are receiving this because you were mentioned.Message ID: @.***>

roberty99 commented 1 year ago

What kind of options do you have in eph ember app for modes ?

Screenshot_2023-05-27-12-24-40-26_a43fa3331b0de4f6ae70203555620ae1

roberty99 commented 1 year ago

image

seems the ZoneModes for me are one of these 4 values

MrLazyUK commented 1 year ago

HI, Sorry for the delay in getting back to you. I only have one zone in my house at the moment. These are the options I have Ember: (oh, and 'Boost') image

roberty99 commented 1 year ago

ok so it appears you have a thermostat only version of EPH installed ? Likely the TS one here ? I have the PS multi zone one. image

Checking the code for the underlying pyephember implementation here https://github.com/ttroy50/pyephember/blob/master/API.md

We would expect the zone to be in 1 of 4 modes. image

In your setup I suspect the TS model is returning different modes. The error message says it is trying to set mode 350 while it is expecting 1,2,3,4 to be returned. There is a message logger for MQTT with the pyephember package we could use to log the different Zone values and then attempt to add them to the code and test. This is testing my limits of what I know but happy to continue to help here. Example below of running the messagelogger.py while you change zones on the main app.

image

MrLazyUK commented 1 year ago

Hey @roberty99 , you are right, I have the TS installed. I really appreciate your assistance with this!

I'm actually taking my kids camping today for the week so won't be online. Can we pick this up when I'm back?

roberty99 commented 1 year ago

Enjoy it. Pick this back up whenever you've got time

On Sun 28 May 2023, 11:35 MrLazyUK, @.***> wrote:

Hey @roberty99 https://github.com/roberty99 , you are right, I have the TS installed. I really appreciate your assistance with this!

I'm actually taking my kids camping today for the week so won't be online. Can we pick this up when I'm back?

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/93151#issuecomment-1566075179, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALVJ7EIOSZOIYFHALPARWTTXIMS6ZANCNFSM6AAAAAAYDI7GTA . You are receiving this because you were mentioned.Message ID: @.***>

Leflem87 commented 1 year ago

@roberty99 might be a stupid question can this be installed on home assistant operating system? From what I've read pip install doesn't seem to be an option.

roberty99 commented 1 year ago

Hi leflem87. That step to install the pyephember version might no longer be needed as the pypi is now also moved to version 0.4.0. To answer your specific question you'd need to install it on the home assistant container. So get portainer addon , console into the homeassistant container and can install pyephember there.

What does your custom component folder look like and what if any errors are you getting in logs after a reboot ?

On Mon 12 Jun 2023, 21:07 Leflem87, @.***> wrote:

@roberty99 https://github.com/roberty99 might be a stupid question can this be installed on home assistant operating system? From what I've read pip install doesn't seem to be an option.

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/93151#issuecomment-1588014368, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALVJ7ENQ77L5MWMQUXYTINTXK5ZHXANCNFSM6AAAAAAYDI7GTA . You are receiving this because you were mentioned.Message ID: @.***>

Leflem87 commented 1 year ago

@roberty99 I've copied the eph ember files with the 3 files to custom components directory.

image

The climate file is the latest version listed on the post you previously linked above. "take the version from ajurna (January 26th) on this GitHub issue."

The manifest file has been update to look like the following

{ "domain": "ephember", "Version": "9.9", "name": "EPH Controls", "documentation": "https://www.home-assistant.io/integrations/ephember", "requirements": ["pyephember==0.4.0"], "codeowners": ["@ttroy50"], "iot_class": "local_polling", "loggers": ["pyephember"]

}

I am running home assistant operating system on a raspberry pi 4 and the error message from logs is the following

image

roberty99 commented 1 year ago

Also add the standard component lines into configuration.yaml

On Mon 12 Jun 2023, 21:54 Leflem87, @.***> wrote:

@roberty99 https://github.com/roberty99 I've copied the eph ember files with the 3 files to custom components directory.

[image: image] https://user-images.githubusercontent.com/135474209/245276297-86e2e44e-c123-4b21-b4cf-cc8dabae056b.png

The climate file is the latest version listed on the post you previously linked above. "take the version from ajurna https://github.com/ajurna (January 26th) on this GitHub issue."

The manifest file has been update to look like the following

{ "domain": "ephember", "Version": "9.9", "name": "EPH Controls", "documentation": "https://www.home-assistant.io/integrations/ephember", "requirements": ["pyephember==0.4.0"], "codeowners": @.*** https://github.com/ttroy50"], "iot_class": "local_polling", "loggers": ["pyephember"]

}

I am running home assistant operating system on a raspberry pi 4 and the error message from logs is the following

[image: image] https://user-images.githubusercontent.com/135474209/245277810-9b5df2f6-880b-4b0e-b862-b89824e4d479.png

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/93151#issuecomment-1588084770, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALVJ7EOD7EX6OQME2JLURELXK56XVANCNFSM6AAAAAAYDI7GTA . You are receiving this because you were mentioned.Message ID: @.***>

Leflem87 commented 1 year ago

component lines into configuration.yaml

Hi @roberty99 you are referring to the following code to the configuration.yaml file this is currently already add. Thanks alos for the quick responses.

climate:

image

roberty99 commented 1 year ago

Screenshot_2023-06-12-22-23-04-51_c3a231c25ed346e59462e84656a70e50

The only thing left is checking pyephember is on version 0.4.0 like this. The rest of the config is exactly like mine. You can get portainer and get into the homeassistant container console this way. I've hassio on raspberry pi too.

roberty99 commented 1 year ago

In manifest.json try version with a lowercase v.

Leflem87 commented 1 year ago

@roberty99 Legend. it was the uppercase V in version that caused the problem. The 3 thermostats are loading.

Thanks very much for the help.

roberty99 commented 1 year ago

great ! we won't need version if the main component gets updated. That's only needed so the custom_component overrides the base component. Anyone out there willing to merge the climate.py and manifest.json now we have multiple people confirmed this is working ? The limitation will be it only works on the PS (Programmer System) version of EPH.

roberty99 commented 1 year ago

My first ever commit and pull let's see how it goes...little bit out of my depth here.

ianhew82 commented 1 year ago

@roberty99 I have the same issue as @MrLazyUK above. I'm using the thermostat also and getting the same 350 error. I've looked at the message logger and I think the issue is that different point indices are used for thermostats than stated in the API - which is incomplete

mode seems to be using point index = 11 Frost protection is point index = 2 I haven't been able to work out yet what point index = 1 relates to.

Screenshot 2023-07-07 at 12 11 27

issue-triage-workflows[bot] commented 11 months ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest Home Assistant version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.

FrankZhao233 commented 10 months ago

My one got totally different error. image

roberty99 commented 10 months ago

zone_is_hot_water is no longer valid in the new pyephember package. It was in the older. Seems you are using an older climate.py with the newer package. Have you updated climate.py to what has been suggest in this thread ?

On Fri, 20 Oct 2023 at 05:14, FrankZhao233 @.***> wrote:

My one got totally different error. [image: image] https://user-images.githubusercontent.com/36077672/276818677-7520b7c3-232f-4550-885b-4f83095c3807.png

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/93151#issuecomment-1772051162, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALVJ7EMYIWOD2KWAELRQP6LYAH3BRAVCNFSM6AAAAAAYDI7GTCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZSGA2TCMJWGI . You are receiving this because you were mentioned.Message ID: @.***>

FrankZhao233 commented 10 months ago

Really thanks for your reply.

My bad. I just forgot to simply click save for modify.

But now another problem appeared.

image

image

dashford commented 10 months ago

@roberty99 thanks for all the great work you've done in getting it this far. I incidentally was planning on pushing the same changes here too until I spotted this PR - do you think there's value in re-opening this again so we can get it merged? I'll be happy to help where I can.

I have this running as a custom component at the moment and it's working great - would love to see it merged in to core.

altheus commented 10 months ago

Thanks for this thread. Took me a while, but got this all working now and can finally start to build my setup properly!

roberty99 commented 10 months ago

Happy to help bring this back. Couldn't pass the code review to have it merged so would need help there

On Sat 4 Nov 2023, 09:25 altheus, @.***> wrote:

Thanks for this thread. Took me a while, but got this all working now and can finally start to build my setup properly!

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/93151#issuecomment-1793393463, or unsubscribe https://github.com/notifications/unsubscribe-auth/ALVJ7EIEPDLNQYFEKQ7NLJTYCYCYFAVCNFSM6AAAAAAYDI7GTCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTOOJTGM4TGNBWGM . You are receiving this because you were mentioned.Message ID: @.***>

mchugh19 commented 10 months ago

@roberty99 I'd be happy to help with PR merging as well. I think we ended up answering all the questions in the previous PR, so maybe a resubmission would just work.

roberty99 commented 10 months ago

Resubmitted https://github.com/home-assistant/core/pull/103388

FrankZhao233 commented 10 months ago

Thanks @roberty99. I finally got my Ember System work with HomeAssistant.

Few tips:

  1. Schedule cannot setup to 00:00 which will cause an error.
  2. Batter set all zones to "off" before adding the integration to HA. After successfully added. You may change zones mode back to what you want.
  3. Line 134 in climate.py should be " self._ember.set_zone_mode(self._zone_name, mode)"
roberty99 commented 9 months ago

Any get the Aux Heater working as a UI button? I can call the service ok but it use to be a button in an older thermostat UI