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

Aqara button #20

Open
RiRomain opened this issue Apr 7, 2018 · 5 comments
Open

Aqara button #20

RiRomain opened this issue Apr 7, 2018 · 5 comments

Comments

@RiRomain
Copy link

RiRomain commented Apr 7, 2018

As of now, it's not possible to use all the function of the aqara push button.

Either it's configured as a sensor and the single click doesn't work.

sensor:
  - platform: zigate
    name: 'aqara_push_button'
    address: 401501
    default_state: 'state'

Or as a toggle switch and the multi click doesn't work

switch:
  - platform: zigate
    name: 'aqara_push_button'
    address: f5c901
    autotoggle_delay: 2
    default_state: 'state'
    type: 'toggle'

As a sensor, the single click doesn't work because the state is set from Closed/Taken off/Press back to Open/Release button too fast for home-assistant to see the state change.

I added a log entry in function update_attributes and in function state to make this behavior easy to recognize.
In update_attributes, we make a call to self.schedule_update_ha_state but the state updates all happened after the attributes have already been reset to Open/Release button

2018-04-07 14:12:23 DEBUG (MainThread) [zigate] --------------------------------------
2018-04-07 14:12:23 DEBUG (MainThread) [zigate] RESPONSE 8102 : Attribute Report / Response
2018-04-07 14:12:23 INFO (MainThread) [zigate]   * General: On/Off
2018-04-07 14:12:23 INFO (MainThread) [zigate]   * Closed/Taken off/Press
2018-04-07 14:12:23 INFO (MainThread) [zigate]   FROM ADDRESS      : b'4015'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Source EndPoint : b'01'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Cluster ID      : b'0006'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Attribute ID    : b'0000'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Attribute type  : b'10'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Attribute size  : 1
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Attribute data  : b'00'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   # encoded : b'018102120210021e6e2a4015021102100216021002100210100210021102108a03'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   # decoded : 0181 02 00 0E 6E 2A 40 15 01 00 06 00 00 00 10 00 01 00 8A03
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   (@timestamp : 14:12:23)
2018-04-07 14:12:23 WARNING (SyncWorker_3) [custom_components.sensor.zigate] Property update: last seen: 2018-04-07 14:12:23
2018-04-07 14:12:23 WARNING (SyncWorker_4) [custom_components.sensor.zigate] Property update: state: on-press
2018-04-07 14:12:23 DEBUG (MainThread) [zigate] --------------------------------------
2018-04-07 14:12:23 DEBUG (MainThread) [zigate] RESPONSE 8102 : Attribute Report / Response
2018-04-07 14:12:23 INFO (MainThread) [zigate]   * General: On/Off
2018-04-07 14:12:23 INFO (MainThread) [zigate]   * Open/Release button
2018-04-07 14:12:23 INFO (MainThread) [zigate]   FROM ADDRESS      : b'4015'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Source EndPoint : b'01'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Cluster ID      : b'0006'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Attribute ID    : b'0000'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Attribute type  : b'10'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Attribute size  : 1
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   - Attribute data  : b'01'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   # encoded : b'018102120210021e6f2a4015021102100216021002100210100210021102118a03'
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   # decoded : 0181 02 00 0E 6F 2A 40 15 01 00 06 00 00 00 10 00 01 01 8A03
2018-04-07 14:12:23 DEBUG (MainThread) [zigate]   (@timestamp : 14:12:23)
2018-04-07 14:12:23 WARNING (SyncWorker_5) [custom_components.sensor.zigate] Property update: last seen: 2018-04-07 14:12:23
2018-04-07 14:12:23 WARNING (SyncWorker_2) [custom_components.sensor.zigate] Property update: state: off-release
2018-04-07 14:12:23 WARNING (MainThread) [custom_components.sensor.zigate] Returning state
2018-04-07 14:12:23 WARNING (MainThread) [custom_components.sensor.zigate] Returning state
2018-04-07 14:12:23 WARNING (MainThread) [custom_components.sensor.zigate] Returning state
2018-04-07 14:12:23 WARNING (MainThread) [custom_components.sensor.zigate] Returning state

I've tried to modify update_attributes to call schedule_update_ha_state(True) instead of schedule_update_ha_state() and therefore force the update. But without success.

schedule_update_ha_state(force_refresh=False)[source]
Schedule an update ha state change task.

Is there another way to force Home-Assistant to register this very short state change? Or what is the best way to handle those push button?

@elric91
Copy link
Owner

elric91 commented Apr 9, 2018

Multi click is normally handled by the button itself and should send a cluster : 0006/ attribute : 8000 event (not 0006/0000) as in your example (so one event only, and you should have the number of clicks in the attribute data').

Can you confirm that you have no event 0006 / 8000 in your log ?

@RiRomain
Copy link
Author

RiRomain commented Apr 9, 2018

Multi click is recognised, the problem is that the single click is not recognize when configured as a sensor. The pressed and released signal arriving too fast after another.

@RiRomain
Copy link
Author

RiRomain commented Apr 9, 2018

I'll add the multi click log entry tomorrow:-)

@mvdkleijn
Copy link

@RiRomain is this still an issue and does it also affect the round v1 xiaomi buttons? I've got single click working as a toggle, but would like to be able to use both single and multi click.

@RiRomain
Copy link
Author

Yes, it's still an issue. Mine is the square aqara button.

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

3 participants