2018-05-13 11:37:02 +02:00
|
|
|
GPIO Binary Sensor
|
|
|
|
==================
|
|
|
|
|
|
|
|
The GPIO Binary Sensor platform allows you to use any input pin on your
|
|
|
|
device as a binary sensor.
|
|
|
|
|
2018-06-01 18:10:00 +02:00
|
|
|
.. figure:: images/gpio-ui.png
|
|
|
|
:align: center
|
|
|
|
:width: 80.0%
|
2018-05-13 11:37:02 +02:00
|
|
|
|
|
|
|
.. code:: yaml
|
|
|
|
|
|
|
|
# Example configuration entry
|
|
|
|
binary_sensor:
|
|
|
|
- platform: gpio
|
|
|
|
pin: D2
|
|
|
|
name: "Living Room Window"
|
|
|
|
device_class: window
|
|
|
|
|
|
|
|
Configuration variables:
|
2018-08-24 22:44:01 +02:00
|
|
|
------------------------
|
2018-05-13 11:37:02 +02:00
|
|
|
|
2018-06-01 18:10:00 +02:00
|
|
|
- **pin** (**Required**, :ref:`Pin Schema <config-pin_schema>`): The pin to periodically check.
|
|
|
|
- **name** (**Required**, string): The name of the binary sensor.
|
|
|
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
|
|
|
- All other options from :ref:`Binary Sensor <config-binary_sensor>`
|
|
|
|
and :ref:`MQTT Component <config-mqtt-component>`.
|
|
|
|
|
2018-06-13 22:38:49 +02:00
|
|
|
.. note::
|
|
|
|
|
|
|
|
For some applications such as reed switches you need to set the pin mode to ``INPUT_PULLUP``
|
|
|
|
like this:
|
|
|
|
|
|
|
|
.. code:: yaml
|
|
|
|
|
|
|
|
binary_sensor:
|
|
|
|
- platform: gpio
|
|
|
|
pin:
|
|
|
|
number: D2
|
|
|
|
mode: INPUT_PULLUP
|
|
|
|
name: ...
|
|
|
|
|
|
|
|
Inverting Values
|
2018-08-24 22:44:01 +02:00
|
|
|
----------------
|
2018-06-13 22:38:49 +02:00
|
|
|
|
|
|
|
Use the ``inverted`` property of the :ref:`Pin Schema <config-pin_schema>` to invert the binary
|
|
|
|
sensor:
|
|
|
|
|
|
|
|
.. code:: yaml
|
|
|
|
|
|
|
|
# Example configuration entry
|
|
|
|
binary_sensor:
|
|
|
|
- platform: gpio
|
|
|
|
pin:
|
|
|
|
number: D2
|
|
|
|
inverted: True
|
|
|
|
name: ...
|
|
|
|
|
|
|
|
Debouncing Values
|
2018-08-24 22:44:01 +02:00
|
|
|
-----------------
|
2018-06-13 22:38:49 +02:00
|
|
|
|
|
|
|
Some binary sensors are a bit unstable and quickly transition between the ON and OFF state while
|
|
|
|
they're pressed. To fix this and debounce the signal, use the :ref:`binary sensor filters <binary_sensor-filters>`:
|
|
|
|
|
|
|
|
.. code:: yaml
|
|
|
|
|
|
|
|
# Example configuration entry
|
|
|
|
binary_sensor:
|
|
|
|
- platform: gpio
|
|
|
|
pin: D2
|
|
|
|
name: ...
|
|
|
|
filters:
|
|
|
|
- delayed_on: 10ms
|
|
|
|
|
|
|
|
Above example will only make the signal go high if the button has stayed high for more than 10ms.
|
|
|
|
Alternatively, below configuration will make the binary sensor publish an ON value immediately, but
|
|
|
|
will wait 10ms before publishing an OFF value:
|
|
|
|
|
|
|
|
.. code:: yaml
|
|
|
|
|
|
|
|
# Example configuration entry
|
|
|
|
binary_sensor:
|
|
|
|
- platform: gpio
|
|
|
|
pin: D2
|
|
|
|
name: ...
|
|
|
|
filters:
|
|
|
|
- delayed_off: 10ms
|
|
|
|
|
2018-06-01 18:10:00 +02:00
|
|
|
See Also
|
2018-08-24 22:44:01 +02:00
|
|
|
--------
|
2018-06-01 18:10:00 +02:00
|
|
|
|
|
|
|
- :doc:`/esphomeyaml/components/binary_sensor/index`
|
|
|
|
- :ref:`config-pin_schema`
|
|
|
|
- :doc:`API Reference </api/binary_sensor/gpio>`
|
2018-06-04 08:17:22 +02:00
|
|
|
- `Edit this page on GitHub <https://github.com/OttoWinter/esphomedocs/blob/current/esphomeyaml/components/binary_sensor/gpio.rst>`__
|