Binary sensor for Input board

Binary sensor

GPIO Inputs used in input board, presented as Binary sensor in Home Assistant. It sends mqtt messages for actions pressed, released.

Example config

  - id: IN_30
    pin: P8_35
    kind: sensor
        - action: mqtt
          topic: boneiohome2/cmd/cover/kitchen/set
          action_mqtt_msg: 'ON'
        - action: cover
          pin: kitchen
          action_cover: stop

Configuration variables:

  • id (Optional, string, default: value of {pin}) - uniquely identifies this device in MQTT and Home Assistant.
  • pin (Required, string) - GPIO id of Beaglebone board eg P9_33.
  • gpio_mode (Optional, string, default: gpio, allowed_values: ['gpio', 'gpio_pu', 'gpio_pd', 'gpio_input']) - How to run this gpio. gpio means default gpio mode. gpio_pu = gpio pull up, gpio_pd = gpio pull down, gpio_input - to be checked.
  • detection_type (Optional, string, default: new, allowed_values: ['new', 'old']) - There are 2 detector algorithms in dev version. Old consumes more CPU, but we got feedback that it works for everyone. new is more optimized, but needed users to test it. To get it done we introduced this option.
  • clear_message (Optional, boolean, default: False) - Decide if after press/release callback send empty message to mqtt. Same as Zigbee2Mqtt is doing in button actions. Till 0.6.x it was true by default.
  • bounce_time (Optional, timeperiod, default: 25 ms) - bounce time for GPIO to invoke callback. Use if default doesn’t work for you. Making it to high might break click events functions for switch kind.
  • show_in_ha (Optional, boolean, default: True) - Send autodiscovery message to Home Assistant.
  • device_class (Optional, string, allowed_values: ['battery', 'battery_charging', 'carbon_monoxide', 'cold', 'connectivity', 'door', 'garage_door', 'gas', 'heat', 'light', 'lock', 'moisture', 'motion', 'moving', 'occupancy', 'opening', 'plug', 'power', 'presence', 'problem', 'running', 'safety', 'smoke', 'sound', 'tamper', 'vibration', 'window']) - Type of device to see in Home Assistant.
  • inverted (Optional, boolean, default: False) - Invert value of sensor input displayed in MQTT.
  • kind (Optional, string, default: switch, allowed_values: ['switch', 'sensor']) - Type of device to send to Home Assistant. This kind indicate actions you can use.
  • actions (Optional, dictionary) - dictionary of predefined actions ([pressed, released]).


  • pressed (Optional, list): list of actions to use if sensor is pressed.
  • released (Optional, list): list of actions to use if sensor is released.

Action variables for action list

  • action (Optional, string, default: output, allowed_values: ['mqtt', 'output', 'cover']) - action type. Output and cover means that command is send directly to output relay or cover. This mode doesn’t need network to work. Mqtt mean that there is extra action send to mqtt. For example you can directly control second boneIO!
  • pin (Optional, string) - output pin id to perform action on. Use only with action type output or cover.
  • topic (Optional, string) - topic to use if mqtt action is chosen
  • action_cover (Optional, string, allowed_values: ['toggle', 'open', 'close', 'stop', 'toggle_open', 'toggle_close']) - action to perform on cover type action. toggle is actions between open/close. toggle_open means actions between open/stop, toggle_close means actions between close/stop.
  • action_output (Optional, string, allowed_values: ['toggle', 'on', 'off']) - action to perform on output type action.
  • action_mqtt_msg (Optional, string) - message to send to mqtt topic if action is mqtt.