Binary Sensor ============= .. cpp:namespace:: binary_sensor In esphomelib, every component that exposes a binary state, is a :cpp:class:`BinarySensor`. To create your own binary sensor, simply subclass :cpp:class:`BinarySensor` and call :cpp:func:`BinarySensor::publish_state` to tell the frontend that you have a new state. Inversion is automatically done for you when publishing state and can be changed by the user with :cpp:func:`BinarySensor::set_inverted`. Supported Binary Sensors ------------------------ .. toctree:: :glob: * Example Usage ------------- .. code-block:: cpp // Basic App.register_binary_sensor(custom_binary_sensor); // GPIO Binary Sensor App.make_gpio_binary_sensor("Window Open", 36); .. cpp:namespace:: nullptr See :cpp:func:`Application::register_binary_sensor` and :cpp:func:`Application::make_gpio_binary_sensor`. API Reference ------------- .. cpp:namespace:: nullptr BinarySensor ************ .. doxygenclass:: binary_sensor::BinarySensor :members: :protected-members: :undoc-members: MQTTBinarySensorComponent ************************* .. doxygenclass:: binary_sensor::MQTTBinarySensorComponent :members: :protected-members: :undoc-members: Filters ******* .. doxygenclass:: binary_sensor::Filter :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::DelayedOnFilter :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::DelayedOffFilter :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::HeartbeatFilter :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::InvertFilter :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::LambdaFilter :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::UniqueFilter :members: :protected-members: :undoc-members: Triggers ******** .. doxygenclass:: binary_sensor::PressTrigger :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::ReleaseTrigger :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::ClickTrigger :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::DoubleClickTrigger :members: :protected-members: :undoc-members: .. doxygenclass:: binary_sensor::MultiClickTrigger :members: :protected-members: :undoc-members: