How to use MiBoxer RGB+CCT Remote Zigbee 3.0 (FUT089Z) with HASS? Getting no zha_event

Resolved problem by purchasing a different zigbee remote and it works perfectly!

Colin

Ow, mind sharing which zigbee remote ??

I was able to get this working with zigbee2mqtt.

Add this to your main configuration.yaml

mqtt:
  sensor:
    - name: "Miboxer_brightness"
      state_topic: "zigbee2mqtt/MiBoxer"
      value_template: >
        {% if ( value_json | regex_search('action_level') )  %}
          {{ value_json.action_level | int }}
        {% else %}
          {{ this.state | int }}
        {% endif %}
      
        
    - name: "MiBoxer_ColorTemp"
      state_topic: "zigbee2mqtt/MiBoxer"
      value_template: >
        {% if ( value_json | regex_search('action_color_temperature') )  %}
          {{ value_json.action_color_temperature | int }}
        {% else %}
          {{ this.state | int }}
        {% endif %}
        
    - name: "MiBoxer_WheelHue"
      state_topic: "zigbee2mqtt/MiBoxer"
      value_template: >
        {% if ( value_json | regex_search('move_to_hue_and_saturation') )  %}
          {{ value_json.action_hue | int }}
        {% else %}
          {{ this.state | int }}
        {% endif %}

Then use this for a blueprint, everything works except the group keys 1-7

blueprint:
  name: Synchronize MiBoxer Remote
  description: Synchronize the sensors of MiBoxer FUT089Z Remote
  domain: automation
  input:
    entity_1:
      name: Select Miboxer Remote
      selector:
        entity:
          multiple: false
    entity_2:
      name: Select Light
      selector:
        entity:
          multiple: false
    entity_3:
      name: Select Brightness Sensor
      selector:
        entity:
          multiple: false   
    entity_4:
      name: Select Color Temp Slider
      selector:
        entity:
          multiple: false
    entity_5:
      name: Select Color Wheel
      selector:
        entity:
          multiple: false 

  source_url: https://gist.github.com/fireboy1919/997c80db37de30da76f67c5daeaba27b
mode: restart
max_exceeded: silent
variables:
  entity_1: !input entity_1
  entity_2: !input entity_2
  entity_3: !input entity_3
  entity_4: !input entity_4
  entity_5: !input entity_5

trigger:
- platform: state
  entity_id: !input entity_1
- platform: state
  entity_id: !input entity_1
  attribute: brightness
- platform: state
  entity_id: !input entity_2
- platform: state
  entity_id: !input entity_2
  attribute: brightness

condition: []
action:
- choose:
  - conditions:
      condition: template
      value_template: '{{ is_state(trigger.to_state.entity_id, ''on'') }}'
    sequence:
    - service: light.turn_on
      data:
        entity_id: '{% if trigger.from_state.entity_id == entity_1 %} {{ entity_2
          }} {% else %} {{ entity_1 }} {% endif %}'
          
  - conditions:
      condition: template
      value_template: '{{ is_state(trigger.to_state.entity_id, ''off'') }}'
    sequence:
    - service: light.turn_off
      data:
        entity_id: '{% if trigger.from_state.entity_id == entity_1 %} {{ entity_2
          }} {% else %} {{ entity_1 }} {% endif %}'
          
  - conditions:
      condition: template
      value_template: '{{ is_state(trigger.to_state.entity_id, ''brightness_move_to_level'') }}'
    sequence:
    - service: light.turn_on
      data:
        brightness: '{{ states(entity_3) | int }}'
        entity_id: '{% if trigger.from_state.entity_id == entity_1 %} {{ entity_2
          }} {% else %} {{ entity_1 }} {% endif %}'
          
  - conditions:
      condition: template
      value_template: '{{ is_state(trigger.to_state.entity_id, ''color_temperature_move'') }}'
    sequence:
    - service: light.turn_on
      data:
        brightness: '{{ states(entity_3) | int }}'
        color_temp: '{{ states(entity_4) | int }}'
        entity_id: '{% if trigger.from_state.entity_id == entity_1 %} {{ entity_2
          }} {% else %} {{ entity_1 }} {% endif %}'
    
  - conditions:
      condition: template
      value_template: '{{ is_state(trigger.to_state.entity_id, ''move_to_hue_and_saturation'') }}'
    sequence:
    - service: light.turn_on
      data:
        brightness: '{{ states(entity_3) | int }}'
        hs_color:
        - '{{ states(entity_5) | int }}'
        - 100
        entity_id: '{% if trigger.from_state.entity_id == entity_1 %} {{ entity_2
          }} {% else %} {{ entity_1 }} {% endif %}'

I didn’t manage to receive any useful commands in Home Assistant, but I could bind my Hue (Zigbee/Bluetooth) lamps to both Home Assistant (SkyConnect) and the remote.

What I did:

  1. Bind the Hue lamp to my phone with the Hue app
  2. Do a factory reset of the lamp
  3. Bind the Hue lamp to Home Assistant (“Add device” under zigbee)
  4. Bind the MiBoxer remote to Home Assistant (by pressing ON + OFF for over 5 seconds on the remote, while HA is still looking for new devices)
  5. Bind the MiBoxer to the Hue lamp (by pressing “|” on the remote for over 5 seconds for the preferred group)

Now my kids can control their light, while HA can control it too.

Hi, thanks for the clear steps.

However can you explain why you have to bind and then reset again the hue lamps with the Hue app first? Is this done just to reset the lamp in order to make it bind to HA?

If you’re not using HA but just the Hue app, would it be possible to bind the MiBoxer remote to a Hue lamp?
Pressing ON + OFF for over 5 seconds on the remote while the Hue app is looking for new devices (a dimmer switch with off button) doesn’t work.
The Hue Infuse lamps don’t respond to binding to the MiBoxer remote by pressing the “|” on the remote. My Lidl lamps, connected to the same Hue Bridge however DO bind this way. I don’t understand why!?

Any thoughts?