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.93k stars 30.15k forks source link

Zwave Cover: no more slider to set level, many components renamed with _ #4200

Closed blackgearit closed 7 years ago

blackgearit commented 7 years ago

Home Assistant release (hass --version): 0.31.1

Python release (python3 --version):

Component/platform: Cover Zwave

Description of problem: After upgrade all components where renamed with underscore+number, so removed all customization from config to see all components. Now in Zwave Cover i have no component to set the cover level (with a slider like before) and none of the fibarofgrm222* components is able to command the cover.

Expected: A component to set the cover level with a slider in the UI, no component renamed with underscore+number

Problem-relevant configuration.yaml entries and steps to reproduce:

  customize:
    cover.fibaro_system_fgrm222_roller_shutter_controller_2_level_2_0:
      friendly_name: Tenda Soggiorno
      icon: mdi:weather-partlycloudy
####################################################################################
    cover.fibaro_system_fgrm222_roller_shutter_controller_2_level_4_0:
      friendly_name: Tenda Cameretta
      icon: mdi:weather-partlycloudy
####################################################################################
    sun.sun:
      hidden: true
    sensor.yr_symbol:
      friendly_name: Weather
    switch.camera_garage_motion:
      icon: mdi:walk
      friendly_name: Motion detect
    sensor.movimenti_garage:
      icon: mdi:walk
      friendly_name: Movimenti rilevati
    group.all_covers_2:
      hidden: false
[...]
group:
  all_people:
    name: Persone
    entities:
      - device_tracker.android2f49479c8409651
      - device_tracker.androidac35c0e9935bebec
  all_covers:
    name: Tende da sole
    icon: mdi:sunglasses
    entities:
      - cover.fibaro_system_fgrm222_roller_shutter_controller_2_level_2_0
      - cover.fibaro_system_fgrm222_roller_shutter_controller_2_level_4_0

  camera_garage:
    name: Video Garage
    icon: mdi:video
    entities:
      - switch.camera_garage_motion
      - camera.garage_video
      - sensor.movimenti_garage
  camera_soggiorno:
    name: Video Soggiorno
    icon: mdi:video
    entities:
      - camera.soggiorno_video

  group.surveillance:
    name: Videosorveglianza
    view: yes
    entities:
      - device_tracker.android2f49479c8409651
      - device_tracker.androidac35c0e9935bebec
      - sensor.movimenti_garage
      - group.camera_garage
      - group.camera_soggiorno

#  default_view:
#    view: yes
#    entities:
##      - group.all_people
#      - group.all_covers
#      - group.all_covers_2
#      - group.all_automations
#      - sensor.yr_symbol
#      - sensor.movimenti_garage
#      - updater.updater

Traceback (if applicable):

Additional info:

log: 16-11-03 15:48:20 homeassistant.components.sensor: Error while setting up platform zwave Traceback (most recent call last): File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py", line 151, in _async_setup_platform entity_platform.add_entities, discovery_info File "/usr/lib/python3.4/asyncio/futures.py", line 388, in iter yield self # This tells Task to wait for completion. File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup value = future.result() File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result raise self._exception File "/usr/lib/python3.4/concurrent/futures/thread.py", line 54, in run result = self.fn(*self.args, *self.kwargs) File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/sensor/zwave.py", line 37, in setup_platform add_devices([ZWaveMultilevelSensor(value)]) File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py", line 284, in add_entities ).result() File "/usr/lib/python3.4/concurrent/futures/_base.py", line 402, in result return self.get_result() File "/usr/lib/python3.4/concurrent/futures/_base.py", line 354, in get_result raise self._exception File "/usr/lib/python3.4/asyncio/tasks.py", line 233, in _step result = coro.throw(exc) File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py", line 294, in async_add_entities yield from asyncio.gather(tasks, loop=self.component.hass.loop) File "/usr/lib/python3.4/asyncio/futures.py", line 388, in iter yield self # This tells Task to wait for completion. File "/usr/lib/python3.4/asyncio/tasks.py", line 286, in _wakeup value = future.result() File "/usr/lib/python3.4/asyncio/futures.py", line 277, in result raise self._exception File "/usr/lib/python3.4/asyncio/tasks.py", line 237, in _step result = next(coro) File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py", line 309, in _async_process_entity ret = yield from self.component.async_add_entity(new_entity, self) File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity_component.py", line 189, in async_add_entity yield from entity.async_update_ha_state() File "/usr/local/lib/python3.4/dist-packages/homeassistant/helpers/entity.py", line 213, in async_update_ha_state device_attr = self.device_state_attributes File "/usr/local/lib/python3.4/dist-packages/homeassistant/components/zwave/init.py", line 597, in device_state_attributes battery_level = self._value.node.get_battery_level() File "/usr/local/lib/python3.4/dist-packages/openzwave-0.3.1-py3.4.egg/openzwave/command.py", line 284, in get_battery_level for val in self.get_battery_levels(): File "/usr/local/lib/python3.4/dist-packages/openzwave-0.3.1-py3.4.egg/openzwave/command.py", line 306, in get_battery_levels type='Byte', readonly=True, writeonly=False) File "/usr/local/lib/python3.4/dist-packages/openzwave-0.3.1-py3.4.egg/openzwave/node.py", line 438, in get_values for value in self.values: RuntimeError: dictionary changed size during iteration

State lists from the UI, here you can see all components renamed with _:

cover.fibaro_system_fgrm222_roller_shutter_controller_2_close_2_2 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Close node_id: 2 cover.fibaro_system_fgrm222_roller_shutter_controller_2_close_4_2 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Close node_id: 4 cover.fibaro_system_fgrm222_roller_shutter_controller_2_dec_2_8 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Dec node_id: 2 cover.fibaro_system_fgrm222_roller_shutter_controller_2_dec_4_8 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Dec node_id: 4 cover.fibaro_system_fgrm222_roller_shutter_controller_2_inc_2_7 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Inc node_id: 2 cover.fibaro_system_fgrm222_roller_shutter_controller_2_inc_4_7 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Inc node_id: 4 cover.fibaro_system_fgrm222_roller_shutter_controller_2_level_2_0 unknown friendly_name: Tenda Soggiorno icon: mdi:weather-partlycloudy node_id: 2 cover.fibaro_system_fgrm222_roller_shutter_controller_2_level_4_0 unknown friendly_name: Tenda Cameretta icon: mdi:weather-partlycloudy node_id: 4 cover.fibaro_system_fgrm222_roller_shutter_controller_2_open_2_1 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Open node_id: 2 cover.fibaro_system_fgrm222_roller_shutter_controller_2_open_4_1 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Open node_id: 4 cover.fibaro_system_fgrm222_roller_shutter_controller_2_step_size_2_6 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Step Size node_id: 2 cover.fibaro_system_fgrm222_roller_shutter_controller_2_step_size_4_6 closed friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Step Size node_id: 4 cover.fibaro_system_fgrm222_roller_shutter_controller_2_switch_2_0 unknown friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Switch node_id: 2 cover.fibaro_system_fgrm222_roller_shutter_controller_2_switch_4_0 unknown friendly_name: FIBARO System FGRM222 Roller Shutter Controller 2 Switch node_id: 4

turbokongen commented 7 years ago

The numbering is intentional: https://home-assistant.io/blog/2016/10/22/flash-briefing-updater-hacktoberfest/

The traceback you provide is an error in python-openzwave, and is for the battery_level. It does not affect any critical function in HA.

Please try and remove your zwcfg_[home-id].xml and let the zwave network get rediscovered. The cover level slider will only be visible if the current_position attribute is set. That value is fetched from the level in zwave.

turbokongen commented 7 years ago

@blackgearit Did you try the steps above?

turbokongen commented 7 years ago

Please reopen if still a problem.

blackgearit commented 7 years ago

Really sorry @turbokongen, miss to tell you that it's ok.