zigpy / bellows

A Python 3 project to implement EZSP for EmberZNet devices
GNU General Public License v3.0
177 stars 87 forks source link

Implement support for Philips Hue remote #31

Closed mjg59 closed 6 years ago

mjg59 commented 7 years ago

I'm trying to add support for a Philips Hue dimmer remote to HASS. I've done the following so far:

I then get a binary sensor device in HASS. However, hitting buttons never calls the cluster_command() method and I see no debug output from bellows. zha and bellows debug output:

Jul 04 16:59:32 alloneword hass[2557]: INFO:homeassistant.loader:Loaded zha from homeassistant.components.zha
Jul 04 16:59:34 alloneword hass[2557]: INFO:homeassistant.setup:Setting up zha
Jul 04 16:59:34 alloneword hass[2557]: DEBUG:bellows.zigbee.appdb:Loading application state from /root/.homeassistant/zigbee.db
Jul 04 16:59:34 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x1a\xc08\xbc~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:RSTACK frame: b'\xc1\x02\x0b\nR~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command version
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x00B!\xa8P\xed,~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x01B\xa1\xa8P(\x05\xe6\x7fb~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x81`Y~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 0 (version) received
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setConfigurationValue
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b"}1C!\xfbX(\x15\xc3'~"
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x12C\xa1\xfbT\xfbs~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x82P:~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 83 (setConfigurationValue) received
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setConfigurationValue
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'"@!\xfbY/\x15"o~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'#@\xa1\xfbT\xc6\x10~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x83@\x1b~'
Jul 04 16:59:35 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 83 (setConfigurationValue) received
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setConfigurationValue
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'3A!\xfby+\x15\xa2\xd7~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'4A\xa1\xfbT\xd3*~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x840\xfc~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 83 (setConfigurationValue) received
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setConfigurationValue
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'DF!\xfby+\x15\xf7\xb3~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'EF\xa1\xfbT5\xd0~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x85 \xdd~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 83 (setConfigurationValue) received
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setConfigurationValue
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'UG!\xfb}^)\x15\xde\xfb~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'VG\xa1\xfbT\xa9\xec~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x86\x10\xbe~'
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 83 (setConfigurationValue) received
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setConfigurationValue
Jul 04 16:59:43 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'fD!\xfbM(\x15>\xd0~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'gD\xa1\xfbT\x94\x8f~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x87\x00\x9f~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 83 (setConfigurationValue) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setConfigurationValue
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'wE!\xfbU\xd5\x15{5~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'pE\xa1\xfbT\x81\xb5~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x80px~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 83 (setConfigurationValue) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command networkInit
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x00J!\xbf=O~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x01J\xa5\xbfT\xffD~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x81`Y~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 23 (networkInit) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x11J\xb1\xb1\xc4\xc4\x0b~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x82P:~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 25 (stackStatusHandler) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command getNetworkParameters
Jul 04 16:59:44 alloneword hass[2557]: WARNING:homeassistant.setup:Setup of zha is taking over 10 seconds.
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x12K!\x80;\x0c~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'"K\xa1\x80T+R\x91\xc8\xb8`\xfcH\x91\xc3M\x94A\'\xab\xed\xcegs\x02\xc1\xa2m~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x83@\x1b~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 40 (getNetworkParameters) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setPolicy
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'#H!\xfdQz\xe4\x17~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'3H\xa1\xfdT\xed/~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x840\xfc~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 85 (setPolicy) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setPolicy
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'4I!\xfdRK\xef\xa2~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'DI\xa1\xfdT\xe1\xc9~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x85 \xdd~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 85 (setPolicy) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command setPolicy
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'EN!\xfdT+NJ~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'UN\xa1\xfdT\x1e\xef~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x86\x10\xbe~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 85 (setPolicy) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command getNodeId
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'VO!\x8f\xb2N~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'fO\xa1\x8fT*d\x82~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x87\x00\x9f~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 39 (getNodeId) received
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command getEui64
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'gL!\x8e\xa1b~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'wL\xa1\x8e\xac%\x06\xb9Y\xfbG%?x~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x80px~'
Jul 04 16:59:44 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 38 (getEui64) received
Jul 04 16:59:44 alloneword hass[2557]: INFO:homeassistant.core:Bus:Handling <Event service_registered[L]: domain=zha, service=permit>
Jul 04 16:59:44 alloneword hass[2557]: INFO:homeassistant.setup:Setup of domain zha took 10.4 seconds.
Jul 04 16:59:44 alloneword hass[2557]: INFO:homeassistant.core:Bus:Handling <Event component_loaded[L]: component=zha>
Jul 04 16:59:57 alloneword hass[2557]: DEBUG:homeassistant.components.websocket_api:WS 2821654892: Sending {'success': True, 'result': {'time_zone': 'America/Los_Angeles', 'longitude': -122.2759, 'elevation': 16, 'whitelist_external_dirs': {'/root/.homeassistant/www'}, 'unit_system': {'temperature': '°C', 'volume': 'L', 'length': 'km', 'mass': 'g'}, 'location_name': 'Home', 'version': '0.48.0', 'components': {'sun', 'binary_sensor', 'history', 'websocket_api', 'neato', 'sensor.yr', 'light.avion', 'sensor.mqtt', 'switch.wemo', 'automation', 'light.lifx', 'light.decora', 'conversation', 'emulated_hue', 'camera.neato', 'group', 'light.wemo', 'recorder', 'http', 'binary_sensor.mqtt', 'frontend', 'switch', 'api', 'switch.mqtt', 'camera', 'switch.neato', 'updater', 'sensor', 'logbook', 'discovery', 'light.flux_led', 'mqtt', 'wemo', 'sensor.broadlink', 'light', 'sensor.neato', 'zha', 'logger', 'sensor.darksky'}, 'config_dir': '/root/.homeassistant', 'latitude': 37.8058}, 'id': 7, 'type': 'result'}
Jul 04 16:59:57 alloneword hass[2557]: redDict([('description', 'Number between 0 and 255 indicating brightness of the effect. Leave this out to maintain the current brightness of each participating light'), ('example', 120)])), ('period', OrderedDict([('description', 'Duration (in seconds) between color changes (default 60)'), ('example', 180)])), ('change', OrderedDict([('description', 'Hue movement per period, in degrees on a color wheel (ranges from 0 to 360, default 20)'), ('example', 45)])), ('spread', OrderedDict([('description', 'Maximum hue difference between participating lights, in degrees on a color wheel (ranges from 0 to 360, default 30)'), ('example', 0)])), ('power_on', OrderedDict([('description', 'Powered off lights are temporarily turned on during the effect (default True)'), ('example', False)]))]), 'description': 'Run an effect with looping colors.'}}, 'homeassistant': {'turn_off': {'fields': {}, 'description': ''}, 'toggle': {'fields': {}, 'description': ''}, 'stop': {'fields': {}, 'description': ''}, 'turn_on': {'fields': {}, 'description': ''}, 'restart': {'fields': {}, 'description': ''}, 'check_config': {'fields': {}, 'description': ''}, 'reload_core_config': {'fields': {}, 'description': ''}}, 'conversation': {'process': {'fields': {}, 'description': ''}}, 'logger': {'set_level': {'fields': {}, 'description': 'Set log level for components.'}}, 'zha': {'permit': {'fields': {'duration': {'example': '60', 'description': 'Time to permit joins, in seconds'}}, 'description': 'Allow nodes to join the Zigbee network'}}, 'logbook': {'log': {'fields': {}, 'description': ''}}, 'camera': {'enable_motion_detection': {'fields': OrderedDict([('entity_id', OrderedDict([('description', 'Name(s) of entities to enable motion detection'), ('example', 'camera.living_room_camera')]))]), 'description': 'Enable the motion detection in a camera'}, 'disable_motion_detection': {'fields': OrderedDict([('entity_id', OrderedDict([('description', 'Name(s) of entities to disable motion detection'), ('example', 'camera.living_room_camera')]))]), 'descriptio
Jul 04 17:00:24 alloneword hass[2557]: DEBUG:homeassistant.components.websocket_api:WS 2821654892: Received {'domain': 'zha', 'id': 10, 'service': 'permit', 'type': 'call_service', 'service_data': {}}
Jul 04 17:00:24 alloneword hass[2557]: INFO:homeassistant.core:Bus:Handling <Event call_service[L]: domain=zha, service=permit, service_call_id=3060232428-11, service_data=>
Jul 04 17:00:24 alloneword hass[2557]: INFO:homeassistant.components.zha:Permitting joins for 60s
Jul 04 17:00:24 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command permitJoining
Jul 04 17:00:24 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'pM!\x8ah\xf3\x9b~'
Jul 04 17:00:24 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x00M\xa1\x8aT"\x98~'
Jul 04 17:00:24 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x81`Y~'
Jul 04 17:00:24 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 34 (permitJoining) received
Jul 04 17:00:25 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b"\x10M\xb1\x8bT+\xd3\xa9\xd8\xc3S'\xab\xdd\x85I\x98\xf1\xe2~"
Jul 04 17:00:25 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x82P:~'
Jul 04 17:00:25 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 35 (childJoinHandler) received
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b' M\xb1\x8c\x921\x94\xe5@\x96K\xad\xbdU\x93I\x9cN4\xa3~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x83@\x1b~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 36 (trustCenterJoinHandler) received
Jul 04 17:00:26 alloneword hass[2557]: INFO:bellows.zigbee.application:Device 0x1bc6 (00:17:88:01:02:19:57:81) joined the network
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'0M\xb1\xedP*\x15\xa1Y\x94J-\xaaU\x92\xdfc\xf0\xe1\xb0\x121k\x8b;\xdd\xe2\xde\xe5|>/\xfc\xcd^%\xe1~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x840\xfc~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 69 (incomingMessageHandler) received
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.zigbee.zdo:[0x1bc6:zdo] ZDO request 0x0013: [7110, 00:17:88:01:02:19:57:81, 128]
Jul 04 17:00:26 alloneword hass[2557]: INFO:bellows.zigbee.device:[0x1bc6] Discovering endpoints
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command sendUnicast
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x04R!\x9cT\xec\x0e\xb2Y\x91J%\xaa\x15\x93I\x9cO&\xa8\xec\x08|WE~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'AR\xa1\x9cT\x87\xc2\x9f~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x85 \xdd~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 52 (sendUnicast) received
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'QR\xb1\x97T\xec\x0e\xb2Y\x91J%\xaa\x15\x93I\x9c\xe3&\xab\xed\xe0a~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x86\x10\xbe~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 63 (messageSentHandler) received
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'aR\xb1\xedT*\x15\xb7\xd9\x94Je\xabU\x92\xdec\xf3\xe1\xb0\x121`\x8a\xfd\x00x\x8b\xfd|~(~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x87\x00\x9f~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 69 (incomingMessageHandler) received
Jul 04 17:00:26 alloneword hass[2557]: INFO:bellows.zigbee.device:[0x1bc6] Discovered endpoints: [1, 2]
Jul 04 17:00:26 alloneword hass[2557]: INFO:bellows.zigbee.endpoint:[0x1bc6:1] Discovering endpoint information
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command sendUnicast
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x17S!\x9cT\xec\x0e\xb2Y\x90J%\xaa\x15\x93I\x9cL%\xaf\xef\x08|\x8ag\x1b~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'rS\xa1\x9cT\x84\xb9\xc1~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x80px~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 52 (sendUnicast) received
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x02S\xb1\x97T\xec\x0e\xb2Y\x90J%\xaa\x15\x93I\x9c\xe0%\xab\xed\xef\xab~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x81`Y~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 63 (messageSentHandler) received
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x12S\xb1\xedT*\x15\xb6\xd9\x94Je\xabU\x92\xd1c\xf5\xe1\xb0\x121|\x89\xfd\x00x\x9f\xfd \xff\x97\xe3\xcf\xdfo\x8f\xf9\xc7\xdb\xd6\xd2m\x8c@#\xa1\xecs;\xeb$~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x82P:~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 69 (incomingMessageHandler) received
Jul 04 17:00:26 alloneword hass[2557]: INFO:bellows.zigbee.endpoint:[0x1bc6:1] Discovered endpoint information: <SimpleDescriptor endpoint=1 profile=49246 device_type=2096 device_version=2 input_clusters=[0] output_clusters=[0, 3, 4, 6, 8, 5]>
Jul 04 17:00:26 alloneword hass[2557]: INFO:bellows.zigbee.endpoint:[0x1bc6:2] Discovering endpoint information
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command sendUnicast
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'"P!\x9cT\xec\x0e\xb2Y\x90J%\xaa\x15\x93I\x9cM$\xaf\xee\x08|\x89X\xea~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'#P\xa1\x9cT\x85r\x06~'
Jul 04 17:00:26 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x83@\x1b~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 52 (sendUnicast) received
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'3P\xb1\x97T\xec\x0e\xb2Y\x90J%\xaa\x15\x93I\x9c\xe1$\xab\xed\xa6z~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x840\xfc~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 63 (messageSentHandler) received
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'CP\xb1\xedT*\x15\xb6\xd9\x94Je\xabU\x92\xd0c\xf6\xe1\xb0\x121~\x88\xfd\x00x\x9d\xfez>\xab\xeb\xcd\xdbo\x8f\xfe\xc7\xd8\xd5\xddi\x8c\xba"\xb0\xec\xd4M~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x85 \xdd~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 69 (incomingMessageHandler) received
Jul 04 17:00:27 alloneword hass[2557]: INFO:bellows.zigbee.endpoint:[0x1bc6:2] Discovered endpoint information: <SimpleDescriptor endpoint=2 profile=260 device_type=12 device_version=0 input_clusters=[0, 1, 3, 15, 64512] output_clusters=[25]>
Jul 04 17:00:27 alloneword hass[2557]: WARNING:bellows.zigbee.zcl:Unknown cluster 64512
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': set()}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': set()}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': {8, 768, 4, 5, 6}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': {8, 768, 4, 5, 6}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': {8, 768, 4, 5, 6}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': {8, 768, 4, 5, 6}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': {8, 768, 4, 5, 6}, 'binary_sensor': set()}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': {8, 768, 4, 5, 6}, 'binary_sensor': {1, 3, 15}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': {8, 768, 4, 5, 6}, 'binary_sensor': {1, 3, 15}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {4, 5, 6}, 'light': {768, 4096, 4, 5, 6, 8}, 'binary_sensor': {1, 3, 15}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {8, 4096, 4, 5, 6}, 'light': {768, 4096, 4, 5, 6, 8}, 'binary_sensor': {1, 3, 15}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {8, 4096, 4, 5, 6}, 'light': {768, 4096, 4, 5, 6, 8}, 'binary_sensor': {1, 3, 15}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {8, 4096, 4, 5, 6}, 'light': {768, 4096, 4, 5, 6, 8}, 'binary_sensor': {1, 3, 15}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {8, 4096, 4, 5, 6}, 'light': {768, 4096, 4, 5, 6, 8}, 'binary_sensor': {1, 3, 15}}
Jul 04 17:00:27 alloneword hass[2557]: INFO:homeassistant.components.zha.const:COMPONENT CLUSTERS is {'switch': {8, 4096, 4, 5, 6}, 'light': {768, 4096, 4, 5, 6, 8}, 'binary_sensor': {1, 3, 15}}
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:homeassistant.components.zha:IN ZHA ASYNC INIT - {0: <bellows.zigbee.zdo.ZDO object at 0xa56dde6c>, 1: <bellows.zigbee.endpoint.Endpoint object at 0xa587080c>, 2: <bellows.zigbee.endpoint.Endpoint object at 0xa56ddd0c>}
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command sendUnicast
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'5Q!\x9cT\xec\x0e\xec\x99\x94J$\xab\x15\x93I\x9cJ#\xac\xed\xcag\x8f\xfd\xc3c\x02\xc0~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'TQ\xa1\x9cT\x9a\xb6T~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x86\x10\xbe~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 52 (sendUnicast) received
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'dQ\xb1\x97T\xec\x0e\xec\x99\x94J$\xab\x15\x93I\x9c\xfe#\xab\xed.\xad~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x87\x00\x9f~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 63 (messageSentHandler) received
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'tQ\xb1\xedT.\x14\xb2Y\x95K%\xabU\x92\xd3c\x8e\xe1\xb0\x121}\x93\xf9\xc7g\x89\xfc<8\xf7\x83\xa4\xb2\x06\xff\x8c\xc2\xdb\xd5\x90o\xde\x11o\x99\xdeFq*~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x80px~'
Jul 04 17:00:27 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 69 (incomingMessageHandler) received
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:1
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:2
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:4
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:7
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command sendUnicast
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'@V!\x9cT\xec\x0e\xb6X\x94J\'\xa8\x15\x93I\x9cK"\xac\xed\xcbg\x8f\xfd\xc3c\xb3q~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x05V\xa1\x9cT\x9b\xf4\x95~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x81`Y~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 52 (sendUnicast) received
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'\x15V\xb1\x97T\xec\x0e\xb6X\x94J\'\xa8\x15\x93I\x9c\xff"\xab\xedl\xbf~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x82P:~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 63 (messageSentHandler) received
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'%V\xb1\xedT.\x14\xb2Y\x96H%\xabU\x92\xd2c\xf1\xe1\xb0\x121}\x93\xf8\xc7g\x89\xfc<8\xf7\x83\xa4\xb2\x06\xff\x8c\xc2\xdb\xd5\x90o\xde\x11o\x99\xdeF\x087~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x83@\x1b~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 69 (incomingMessageHandler) received
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:1
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:2
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:3
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:4
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:6
Jul 04 17:00:28 alloneword hass[2557]: INFO:homeassistant.core:Bus:Handling <Event platform_discovered[L]: service=load_platform.binary_sensor, discovered=discovery_key=00:17:88:01:02:19:57:81-2, platform=zha>
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:7
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:7
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:7
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:7
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.zha:7
Jul 04 17:00:28 alloneword hass[2557]: INFO:homeassistant.loader:Loaded binary_sensor.zha from homeassistant.components.binary_sensor.zha
Jul 04 17:00:28 alloneword hass[2557]: INFO:homeassistant.components.binary_sensor:Setting up binary_sensor.zha
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.binary_sensor.zha:BINARY SENSOR ZHA FOUND
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.binary_sensor.zha:[<bellows.zigbee.zcl.clusters.general.PowerConfiguration object at 0xa56d33ec>, <bellows.zigbee.zcl.clusters.general.Identify object at 0xa8636f0c>, <bellows.zigbee.zcl.clusters.general.BinaryInput object at 0xa8299e4c>]
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.binary_sensor.zha:FOUND BINARY INPUT
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.binary_sensor.zha:<bellows.zigbee.zcl.clusters.general.BinaryInput object at 0xa8299e4c>
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:homeassistant.components.binary_sensor.zha:{'endpoint': <bellows.zigbee.endpoint.Endpoint object at 0xa56ddd0c>, 'clusters': [<bellows.zigbee.zcl.clusters.general.PowerConfiguration object at 0xa56d33ec>, <bellows.zigbee.zcl.clusters.general.Identify object at 0xa8636f0c>, <bellows.zigbee.zcl.clusters.general.BinaryInput object at 0xa8299e4c>], 'new_join': True, 'model': 'RWL020', 'manufacturer': 'Philips'}
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.ezsp:Send command sendUnicast
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'SW!\x9cT\xec\x0e\xb2Y\xb5J%\xaa\x15\x93I\x9cH!\xbd\xebO0\x92\xff\xc7\xeb\x9e\xfc|0\xa7\xe85\xd1|\x84\xff\xa8\xd6\xd5\xd31\xf1~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'6W\xa1\x9cT\x98\x8f\xcb~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x840\xfc~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 52 (sendUnicast) received
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'FW\xb1\x97T\xec\x0e\xb2Y\xb5J%\xaa\x15\x93I\x9c\xfc!\xab\xed\xad\xfe~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x85 \xdd~'
Jul 04 17:00:28 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 63 (messageSentHandler) received
Jul 04 17:00:29 alloneword hass[2557]: DEBUG:bellows.uart:Data frame: b'VW\xb1\xedT*\x15\x93\xd9\x94J%\xabU\x92\xd5c\xf0\xe1\xb0\x121e\x8d\xfd\xd2\\~'
Jul 04 17:00:29 alloneword hass[2557]: DEBUG:bellows.uart:Sending: b'\x86\x10\xbe~'
Jul 04 17:00:29 alloneword hass[2557]: DEBUG:bellows.ezsp:Application frame 69 (incomingMessageHandler) received
mjg59 commented 7 years ago

bellows devices gives:

Device:
  NWK: 0x1bc6
  IEEE: 00:17:88:01:02:19:57:81
  Endpoints:
    1: profile=0xc05e, device_type=DeviceType.SCENE_CONTROLLER
      Input Clusters:
        Basic (0)
    2: profile=0x104, device_type=DeviceType.SIMPLE_SENSOR
      Input Clusters:
        Basic (0)
        Power Configuration (1)
        Identify (3)
        Binary Input (Basic) (15)
        Manufacturer Specific (64512)
rcloran commented 7 years ago

You may be interested in:

The main thing you missed is the difference between input and output clusters. Those branches include the changes for that (I'm waiting on some other merges to home-assistant before I can request a merge of the input/output cluster split).

The remote works fine when it is first connected. I've presented it as a binary sensor with a level. If you leave the remote for a while without using it, it fails to properly reconnect to the network. I haven't figured out what needs to be done for that to work.

mjg59 commented 7 years ago

Thanks! I have root on a Hue hub, so I'll see if I can dump the Zigbee traffic there.

rcloran commented 7 years ago

That may be useful, but it'll almost certainly use the zll profile, and the differences between zll and zha may be important.

I did some research yesterday, and it looks like it needs some changes in the way that bellows configures the radio to handle rejoins, but I haven't figured out exactly what from the docs yet.

scottcmace commented 6 years ago

I'm fairly new to zigbee, but I'm not understanding exactly what's missing here... after today's "Smart"things outage, I'm renewing my push to get everything on Home Assistant... and I rely on these Hue buttons a little too much.

So, as above, bellows finds the device, sees that its a "SCENE_CONTROLLER", adds it to the database, and then this is where with my Cree bulbs I saw HASS setting up the device... I see nothing past the Hue buttons joining the network. The device types match the zll.py file, and the output clusters line up as well, so where is the next step taking place beyond it joining the network?

untergeek commented 6 years ago

@scottcmace

after today's "Smart"things outage, I'm renewing my push to get everything on Home Assistant...

I don't have Hue buttons, but I'm with you on that push. I just unplugged my SmartThings hub last night. Best feeling ever!

scottcmace commented 6 years ago

So, is the problem that the device type isn't in the table, or is it that HA doesn't know how to handle a device of this type?

This is my single biggest hurdle at this point... these infernal buttons.

egorian commented 6 years ago

I'm on the same boat with a Lutron Bulb Remote, it get registered on Bellows but after that, buttons events doesn't appear to be registered.

Device: NWK: 0x1e96 IEEE: ff:ff:00:0f:e7:ff:96:dd Endpoints: 1: profile=0xc05e, device_type=DeviceType.CONTROLLER Input Clusters: Basic (0) LightLink (4096) Manufacturer Specific (64580) Manufacturer Specific (65280) Output Clusters: Basic (0) Identify (3) Groups (4) Scenes (5) On/Off (6) Level control (8) LightLink (4096) Manufacturer Specific (65280)

rcloran commented 6 years ago

Please re-open in the new zigpy project (https://github.com/zigpy/zigpy) if this is still an issue. There appears to be no way to move issues between projects.

Since these remotes are all implemented differently, I think the only sensible approach is to add proper support for custom device type handlers outside of zigpy, and implement each of them separately.