'Initialize the Beaglebone Black binary sensor.'

def __init__(self, pin, params):

    self._pin = pin
    self._name = (params.get(CONF_NAME) or DEVICE_DEFAULT_NAME)
    self._bouncetime = params.get(CONF_BOUNCETIME)
    self._pull_mode = params.get(CONF_PULL_MODE)
    self._invert_logic = params.get(CONF_INVERT_LOGIC)
    bbb_gpio.setup_input(self._pin, self._pull_mode)
    self._state = bbb_gpio.read_input(self._pin)
    def read_gpio(pin):
        'Read    state    from    GPIO.'
        self._state = bbb_gpio.read_input(self._pin)
        self.schedule_update_ha_state()
    bbb_gpio.edge_detect(self._pin, read_gpio, self._bouncetime)
