zha-ng / zha-map

Build ZHA network topology map.
MIT License
57 stars 17 forks source link

'Neighbor' object has no attribute 'struct' #35

Closed tigattack closed 4 years ago

tigattack commented 4 years ago

Running 0.3.1 and HASS 0.116.0b3.

When manually running zha_map.scan_now I get the following error:


Logger: homeassistant.components.websocket_api.http.connection.140302933858576
Source: custom_components/zha_map/neighbour.py:46
Integration: Home Assistant WebSocket API (documentation, issues)
First occurred: 16:40:27 (1 occurrences)
Last logged: 16:40:27
'Neighbor' object has no attribute 'struct'

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 138, in handle_call_service
    await hass.services.async_call(
  File "/usr/src/homeassistant/homeassistant/core.py", line 1335, in async_call
    task.result()
  File "/usr/src/homeassistant/homeassistant/core.py", line 1370, in _execute_service
    await handler.func(service_call)
  File "/config/custom_components/zha_map/__init__.py", line 66, in scan_now_handler
    await builder.preempt_build()
  File "/config/custom_components/zha_map/__init__.py", line 125, in preempt_build
    await self.build()
  File "/config/custom_components/zha_map/__init__.py", line 138, in build
    nei = await Neighbour.scan_device(device)
  File "/config/custom_components/zha_map/neighbour.py", line 78, in scan_device
    await r.scan()
  File "/config/custom_components/zha_map/neighbour.py", line 84, in scan
    new = self.new_from_record(neighbor.neighbor)
  File "/config/custom_components/zha_map/neighbour.py", line 46, in new_from_record
    r.device_type = record.struct.device_type.name
AttributeError: 'Neighbor' object has no attribute 'struct'```
walthowd commented 4 years ago

zha_map is going to be deprecated and integrated directly into zigpy/HA -- See also zigzag, which will be integrated natively into ZHA at some point in the future too:

https://github.com/Samantha-uk/zigzag

tigattack commented 4 years ago

OK, thank you. Does that mean no more updates to zha_map? Do you know when it will be integrated into zigpyHA?

walthowd commented 4 years ago

I believe zha_map will be interested into zha starting with 0.116, but I haven't checked for sure. If you install hass-cli and run:

hass-cli raw ws zha/devices

You may notice a new "neighbors" table that shows zha_map integrated

tigattack commented 4 years ago

Ah, there is indeed a neighbours table, but it's empty at the moment. Thanks for the info, I'll hold tight.

ErikSGross commented 4 years ago

I'm also seeing the same error after updating to 0.116.0 today. It occurs during scheduled and manual scans.

The docs for zigzag say it requires zha_map, specifically "It is possible to use Zigzag without ZHA-MAP, however it is of limited value as no Zags will be displayed."

Does that mean no more zha_map as a custom integration, and no zags (links) zigzag until its functionality is integrated in core?

Adminiuga commented 4 years ago

fixed in 0.4.0

ErikSGross commented 4 years ago

Thanks for the quick turnaround!

drkavnger99 commented 4 years ago

Running 0.4.0 and it's still broke on 0.116.0 for me.

Logger: homeassistant.components.websocket_api.http.connection.139820713506080 Source: custom_components/zha_map/neighbour.py:46 Integration: Home Assistant WebSocket API (documentation, issues) First occurred: 9:31:37 PM (1 occurrences) Last logged: 9:31:37 PM

'Neighbor' object has no attribute 'device_type' Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py", line 137, in handle_call_service await hass.services.async_call( File "/usr/src/homeassistant/homeassistant/core.py", line 1315, in async_call task.result() File "/usr/src/homeassistant/homeassistant/core.py", line 1350, in _execute_service await handler.func(service_call) File "/config/custom_components/zha_map/init.py", line 66, in scan_now_handler await builder.preempt_build() File "/config/custom_components/zha_map/init.py", line 125, in preempt_build await self.build() File "/config/custom_components/zha_map/init.py", line 138, in build nei = await Neighbour.scan_device(device) File "/config/custom_components/zha_map/neighbour.py", line 78, in scan_device await r.scan() File "/config/custom_components/zha_map/neighbour.py", line 84, in scan new = self.new_from_record(neighbor.neighbor) File "/config/custom_components/zha_map/neighbour.py", line 46, in new_from_record r.device_type = record.device_type.name AttributeError: 'Neighbor' object has no attribute 'device_type'

Adminiuga commented 4 years ago

what environment?

drkavnger99 commented 4 years ago

Never mind. Re-installed the zha-map after fully removing it and it works.