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

Room thermostat entities showing unavailable with a new install #126

Closed
JohnnyNegativity opened this issue Nov 3, 2020 · 10 comments
Closed

Comments

@JohnnyNegativity
Copy link

I am having some issues with installation. I have visibility of my HeatHub and this part of the integration seems to be working fine.

I also have a room thermostat, but its entities are showing as unavailable in home assistant, like below:
image

I have tried multiple versions and have experienced the same issue (2.4beta1, 2.3, master) all installed from HACS. Maybe it is something straightforward that I haven’t set up correctly… Any support would be much appreciated!

In the logs I can see the below:
`Logger: homeassistant.util.logging
Source: util/logging.py:108
First occurred: 3:48:21 PM (22 occurrences)
Last logged: 3:56:53 PM

Exception in async_update_state when dispatching 'WiserHubUpdateMessage': () Traceback (most recent call last): File "/config/custom_components/wiser/climate.py", line 559, in async_update_state await self.async_update_ha_state(True) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 283, in async_update_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state attr.update(self.state_attributes or {}) File "/config/custom_components/wiser/climate.py", line 456, in state_attributes attrs = super().state_attributes File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 262, in state_attributes data[ATTR_PRESET_MODE] = self.preset_mode File "/config/custom_components/wiser/climate.py", line 393, in preset_mode preset = WISER_PRESET_TO_HASS[wiser_preset.lower()] AttributeError: 'NoneType' object has no attribute 'lower'
Exception in async_update_state when dispatching 'WiserHubUpdateMessage': () Traceback (most recent call last): File "/config/custom_components/wiser/sensor.py", line 141, in async_update_state await self.async_update_ha_state(True) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 283, in async_update_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 323, in _async_write_ha_state attr.update(self.device_state_attributes or {}) File "/config/custom_components/wiser/sensor.py", line 367, in device_state_attributes self.data.wiserhub.getHubData().get("Zigbee").get("NetworkChannel") AttributeError: 'NoneType' object has no attribute 'get'`

`Logger: homeassistant.components.websocket_api.http.connection.2910383192
Source: custom_components/wiser/climate.py:393
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 3:48:21 PM (2 occurrences)
Last logged: 3:48:26 PM

'NoneType' object has no attribute 'lower'

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 135, in handle_call_service await hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1448, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1483, in _execute_service await handler.job.target(service_call) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 204, in handle_service await self.hass.helpers.service.entity_service_call( File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 482, in entity_service_call future.result() # pop exception if have File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 664, in async_request_call await coro File "/usr/src/homeassistant/homeassistant/helpers/service.py", line 519, in _handle_entity_call await result File "/config/custom_components/wiser/climate.py", line 372, in async_set_hvac_mode await self.set_room_mode(self.room_id, hvac_mode) File "/config/custom_components/wiser/climate.py", line 524, in set_room_mode await self.async_update_ha_state(True) File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 283, in async_update_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state attr.update(self.state_attributes or {}) File "/config/custom_components/wiser/climate.py", line 456, in state_attributes attrs = super().state_attributes File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 262, in state_attributes data[ATTR_PRESET_MODE] = self.preset_mode File "/config/custom_components/wiser/climate.py", line 393, in preset_mode preset = WISER_PRESET_TO_HASS[wiser_preset.lower()] AttributeError: 'NoneType' object has no attribute 'lower'`

`Logger: homeassistant.components.climate
Source: custom_components/wiser/climate.py:388
Integration: Climate (documentation, issues)
First occurred: 3:47:54 PM (2 occurrences)
Last logged: 3:47:54 PM

Error adding entities for domain climate with platform wiser
Error while setting up wiser platform for climate
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 314, in async_add_entities
await asyncio.gather(*tasks)
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 505, in _async_add_entity
await entity.add_to_platform_finish()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 531, in add_to_platform_finish
self.async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 296, in async_write_ha_state
self._async_write_ha_state()
File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 322, in _async_write_ha_state
attr.update(self.state_attributes or {})
File "/config/custom_components/wiser/climate.py", line 456, in state_attributes
attrs = super().state_attributes
File "/usr/src/homeassistant/homeassistant/components/climate/init.py", line 262, in state_attributes
data[ATTR_PRESET_MODE] = self.preset_mode
File "/config/custom_components/wiser/climate.py", line 388, in preset_mode
and wiser_preset.lower() == "frommanualoverride"
AttributeError: 'NoneType' object has no attribute 'lower'`

`Logger: homeassistant.components.sensor
Source: custom_components/wiser/sensor.py:367
Integration: Sensor (documentation, issues)
First occurred: 3:47:54 PM (2 occurrences)
Last logged: 3:47:54 PM

  • Error adding entities for domain sensor with platform wiser
  • Error while setting up wiser platform for sensor

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 314, in async_add_entities await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 505, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 531, in add_to_platform_finish self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 296, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 323, in _async_write_ha_state attr.update(self.device_state_attributes or {}) File "/config/custom_components/wiser/sensor.py", line 367, in device_state_attributes self.data.wiserhub.getHubData().get("Zigbee").get("NetworkChannel") AttributeError: 'NoneType' object has no attribute 'get'`

`Logger: homeassistant.components.sensor
Source: custom_components/wiser/sensor.py:367
Integration: Sensor (documentation, issues)
First occurred: 3:47:54 PM (2 occurrences)
Last logged: 3:47:54 PM

  • Error adding entities for domain sensor with platform wiser
  • Error while setting up wiser platform for sensor

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 314, in async_add_entities await asyncio.gather(*tasks) File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 505, in _async_add_entity await entity.add_to_platform_finish() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 531, in add_to_platform_finish self.async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 296, in async_write_ha_state self._async_write_ha_state() File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 323, in _async_write_ha_state attr.update(self.device_state_attributes or {}) File "/config/custom_components/wiser/sensor.py", line 367, in device_state_attributes self.data.wiserhub.getHubData().get("Zigbee").get("NetworkChannel") AttributeError: 'NoneType' object has no attribute 'get'`

interestingly I can see some entities from the thermostat in question, just not the temperature or switches. See below:
image

If you need any further info just let me know!

Thanks

  • JohnnyNegativity
@JohnnyNegativity
Copy link
Author

I'm on Home Assistant 0.117.2 btw

@msp1974
Copy link
Collaborator

msp1974 commented Nov 3, 2020

Can you give me some info on your setup, specifically the below questions:

  1. Can you tell me the firmware version of your heathub - in the app go to devices -> heathub - current version is 3.0.3
  2. Do you have any rooms setup via the app with no roomstats or iTRVs?
  3. Can you tell me a little more about your setup - how many iTRVs, how many roomstats and the specific names of each.
  4. Are you able to provide a json output from the hub from http://<-hubip->/data/domain/?

It looks like your hub is not providing info that it should be. One of the errors is either it is not providing a setpoint origin parameter, which can be caused by a room with no TRV/Roomstat.

The other errors are the same issue and seem to be that the hub is not providing a section relating to its network info. The output from 4 would be very helpful to see what it is and isnt providing if you are able to do that.
Thanks
Mark

@JohnnyNegativity
Copy link
Author

Hi Mark

  1. Heathub Firmware 2.26.16
  2. No
  3. Just the heathub and one roomstat currently (Named "Living Room" as above)
  4. Sorry - not sure how to do this. Do you mean to access that address from a browser? If so I am getting an "Error 401 - Unauthorised" message.

@msp1974
Copy link
Collaborator

msp1974 commented Nov 3, 2020

For 4, please see python file attached. You will need to install the api using
pip install wiser-heating-api

and then amend the attached file to replace with your hub IP and your hub secret key.
Also change its extension to .py
hubdebug.txt

Run this and it will produce a hub.json file. Can you send me that (there is no security info in the output).

@JohnnyNegativity
Copy link
Author

Thanks - see attached json
hub.txt

@JohnnyNegativity
Copy link
Author

Would it be worth updating the firmware on the hub to the current version? Happy to do this if it helps resolve the issue (although I'm not sure how - I don't seem to have an option in the app and can't seem to find a download.)

msp1974 added a commit that referenced this issue Nov 3, 2020
Fix for issue #126 to handle older firmware
@msp1974
Copy link
Collaborator

msp1974 commented Nov 3, 2020

It is definitely due to the age of the firmware on your hub. On this version of firmware there is not a zigbee section in the json and a key parameter we use to display mode of room heating (auto, manual, boost etc) has a different case format (therefore in linux it is different).

Updating is not something you can do manually but is pushed by wiser/updated by the hub itself. Not sure why but your hub shows that it is disconnected from the wiser cloud which is why it is not updating. Are you blocking this device from access to the internet?

I have a fix which should be able to handle these issues. I have checked the json output for anything else that is different and couldn't see anything obvious but (just as a caveat) you may find some other issues when running this.

If in HACS, you can install the master version and see how you get on. If this works, I will publish a v2.4beta3 update.

@JohnnyNegativity
Copy link
Author

Will give it a shot - and let you know.

I am blocking the device from the internet at the moment.

I will test the update and confirm if it works or not, before allowing the hub to connect and update the firmware.

Thanks very much for your help!!

@JohnnyNegativity
Copy link
Author

Everything looks good now. Have played around a bit and it seems to be fully functional.

Thanks again!

@msp1974
Copy link
Collaborator

msp1974 commented Nov 3, 2020

Great good to hear.

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

2 participants