-**on_led** (*Optional*, :ref:`Action <config-action>`): Triggered when the result of ``get_led_state()`` is ready. The LED
state is provided as a boolean variable named ``x``.
-**on_device_information** (*Optional*, :ref:`Action <config-action>`): Triggered when the result of ``get_device_information()``
is ready. The result is provided as a ``std::string`` variable named ``x``.
-**on_slope** (*Optional*, :ref:`Action <config-action>`): Triggered when the result of ``get_slope()`` is ready. The result
is provided as a ``std::string`` variable named ``x``.
-**on_calibration** (*Optional*, :ref:`Action <config-action>`): Triggered when the result of ``get_calibration()`` is ready.
The result is provided as a ``std::string`` variable named ``x``.
-**on_t** (*Optional*, :ref:`Action <config-action>`): Triggered when the result of ``get_t()`` is ready. The result is provided
as a ``std::string`` variable named ``x``.
-**on_custom** (*Optional*, :ref:`Action <config-action>`): Triggered when the result of ``get_custom()`` is ready. The result is provided as a ``std::string`` variable named ``x``.
-``clear_calibration()``: Clears all calibration points.
..code-block:: cpp
id(ph_ezo).clear_calibration();
-``get_led_state()``: Sensor LED state and triggers ``on_led:`` once done
..code-block:: cpp
id(ph_ezo).get_led_state();
-``set_led_state(bool on)``: Sensor LED on or off
..code-block:: cpp
id(ph_ezo).set_led_state(true);
-``send_custom(const std::string &payload, uint16_t delay_ms = 300, bool response_expected = false)``: Runs a custom command. This sends exactly what is in ``payload``. Optionally you can set a ``delay`` and if a response is expected that should be parsed. Defaults to ``false`` for custom commands. Triggers ``on_custom:`` if there's a response.