--- layout: page title: "Xiaomi Binary Sensor" description: "Instructions how to setup the Xiaomi binary sensors within Home Assistant." date: 2017-07-21 16:34 sidebar: true comments: false sharing: true footer: true logo: xiaomi.png ha_category: Binary Sensor ha_release: "0.50" ha_iot_class: "Local Polling" --- The `xiaomi` binary sensor platform allows you to get data from your [Xiaomi](http://www.mi.com/en/) binary sensors. The requirement is that you have setup the [`xiaomi` component](/components/xiaomi/). ### {% linkable_title Type of sensors supported %} - Motion - Door / Window - Smoke - Gas - Xiaomi Wireless Button - Xiaomi Cube ### {% linkable_title Automation examples %} #### {% linkable_title Motion %} ```yaml - alias: If there is motion and its dark turn on the gateway light trigger: platform: state entity_id: binary_sensor.motion_sensor_158d000xxxxxc2 from: 'off' to: 'on' condition: condition: numeric_state entity_id: sensor.illumination_34ce00xxxx11 below: 300 action: - service: light.turn_on entity_id: light.gateway_light_34ce00xxxx11 data: brightness: 5 - service: automation.turn_on data: entity_id: automation.MOTION_OFF - alias: If there no motion for 5 minutes turn off the gateway light trigger: platform: state entity_id: binary_sensor.motion_sensor_158d000xxxxxc2 from: 'on' to: 'off' for: minutes: 5 action: - service: light.turn_off entity_id: light.gateway_light_34ce00xxxx11 - service: automation.turn_off data: entity_id: automation.Motion_off ``` #### {% linkable_title Door and/or Window %} ```yaml - alias: If the window is open turn off the radiator trigger: platform: state entity_id: binary_sensor.door_window_sensor_158d000xxxxxc2 from: 'off' to: 'on' action: service: climate.set_operation_mode entity_id: climate.livingroom data: operation_mode: 'Off' - alias: If the window is closed for 5 minutes turn on the radiator again trigger: platform: state entity_id: binary_sensor.door_window_sensor_158d000xxxxxc2 from: 'on' to: 'off' for: minutes: 5 action: service: climate.set_operation_mode entity_id: climate.livingroom data: operation_mode: 'Smart schedule' ``` #### {% linkable_title Smoke %} ```yaml - alias: Send notification on fire alarm trigger: platform: state entity_id: binary_sensor.smoke_sensor_158d0001574899 from: 'off' to: 'on' action: - service: notify.html5 data: title: Fire alarm! message: Fire/Smoke detected! - service: xiaomi.play_ringtone data: gw_mac: xxxxxxxxxxxx ringtone_id: 2 ringtone_vol: 100 ``` #### {% linkable_title Gas %} ```yaml - alias: Send notification on gas alarm trigger: platform: state entity_id: binary_sensor.natgas_sensor_158dxxxxxxxxxx from: 'off' to: 'on' action: - service: notify.html5 data_template: title: Gas alarm! message: 'Gas with a density of {% raw %}{{ states.binary_sensor.natgas_sensor_158dxxxxxxxxxx.attributes.density }}{% endraw %} detected.' ``` #### {% linkable_title Xiaomi Wireless Button %} Available events are `single`, `double`, `hold`, `long_click_press` and `long_click_release`. For Square version (Aqara brand) only `single` and `double` events are supported. Furthermore the space between two clicks to generate a double click must be quite large now. ```yaml - alias: Toggle dining light on single press trigger: platform: event event_type: click event_data: entity_id: binary_sensor.switch_158d000xxxxxc2 click_type: single action: service: switch.toggle entity_id: switch.wall_switch_left_158d000xxxxx01 - alias: Toggle couch light on double click trigger: platform: event event_type: click event_data: entity_id: binary_sensor.switch_158d000xxxxxc2 click_type: double action: service: switch.toggle entity_id: switch.wall_switch_right_158d000xxxxx01 - alias: Let a dog bark on long press trigger: platform: event event_type: click event_data: entity_id: binary_sensor.switch_158d000xxxxxc2 click_type: long_click_press action: service: xiaomi.play_ringtone data: gw_mac: xxxxxxxxxxxx ringtone_id: 8 ringtone_vol: 8 ``` #### {% linkable_title Xiaomi Cube %} Available events are `flip90`, `flip180`, `move`, `tap_twice`, `shake_air`, `swing`, `alert`, `free_fall` and `rotate`. ```yaml - alias: Cube event flip90 trigger: platform: event event_type: cube_action event_data: entity_id: binary_sensor.cube_15xxxxxxxxxxxx action_type: flip90 action: - service: light.turn_on entity_id: light.gateway_light_28xxxxxxxxxx data: color_name: "springgreen" - alias: Cube event flip180 trigger: platform: event event_type: cube_action event_data: entity_id: binary_sensor.cube_15xxxxxxxxxxxx action_type: flip180 action: - service: light.turn_on entity_id: light.gateway_light_28xxxxxxxxxx data: color_name: "darkviolet" - alias: Cube event move trigger: platform: event event_type: cube_action event_data: entity_id: binary_sensor.cube_15xxxxxxxxxxxx action_type: move action: - service: light.turn_on entity_id: light.gateway_light_28xxxxxxxxxx data: color_name: "gold" - alias: Cube event tap_twice trigger: platform: event event_type: cube_action event_data: entity_id: binary_sensor.cube_15xxxxxxxxxxxx action_type: tap_twice action: - service: light.turn_on entity_id: light.gateway_light_28xxxxxxxxxx data: color_name: "deepskyblue" - alias: Cube event shake_air trigger: platform: event event_type: cube_action event_data: entity_id: binary_sensor.cube_15xxxxxxxxxxxx action_type: shake_air action: - service: light.turn_on entity_id: light.gateway_light_28xxxxxxxxxx data: color_name: "blue" ``` #### #### {% linkable_title Aqara Wireless Switch %} The Aqara Wireless Switch is available as single-key and double-key version. Each key behaves like the Wireless Button limited to the click event `single`. The double key version adds a third device called `binary_sensor.wall_switch_both_158xxxxxxxxx12` which reports a click event called `both` if both keys are pressed. ```yaml - alias: Decrease brightness of the gateway light trigger: platform: event event_type: click event_data: entity_id: binary_sensor.wall_switch_left_158xxxxxxxxx12 click_type: single action: service: light.turn_on entity_id: light.gateway_light_34xxxxxxxx13 data_template: brightness: {% raw %}>- {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness %} {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness - 60 >= 10 %} {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness - 60}} {% else %} {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness}} {% endif %} {% else %} 10 {% endif %}{% endraw %} - alias: Increase brightness of the gateway light trigger: platform: event event_type: click event_data: entity_id: binary_sensor.wall_switch_right_158xxxxxxxxx12 click_type: single action: service: light.turn_on entity_id: light.gateway_light_34xxxxxxxx13 data_template: brightness: {% raw %}>- {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness %} {% if states.light.gateway_light_34xxxxxxxx13.attributes.brightness + 60 <= 255 %} {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness + 60}} {% else %} {{states.light.gateway_light_34xxxxxxxx13.attributes.brightness}} {% endif %} {% else %} 10 {% endif %}{% endraw %} - alias: Turn off the gateway light trigger: platform: event event_type: click event_data: entity_id: binary_sensor.wall_switch_both_158xxxxxxxxx12 click_type: both action: service: light.turn_off entity_id: light.gateway_light_34xxxxxxxx13 ```