-**on_led:** : Triggered when the result of ``get_led_state()`` is ready. The LED state is provided as a boolean variable named ``x``.
-**on_device_information:** : Triggered when the result of ``get_device_information()`` is ready. The result is provided as a ``std::string`` variable named ``x``.
-**on_slope:** : Triggered when the result of ``get_slope()`` is ready. The result is provided as a ``std::string`` variable named ``x``.
-**on_calibration:** : Triggered when the result of ``get_calibration()`` is ready. The result is provided as a ``std::string`` variable named ``x``.
-**on_t:** : Triggered when the result of ``get_t()`` is ready. The result is provided as a ``std::string`` variable named ``x``.
-**on_custom:** : Triggered when the result of ``get_custom()`` is ready. The result is provided as a ``std::string`` variable named ``x``.
From :ref:`lambdas <config-lambda>`, you can interact with the sensor in various ways. For any ``get`` command a trigger will be called with the information retrieved from the sensor. See :ref:`evo_callbacks`. For more information on the command specifics, refer to the datasheet.
-``set_i2c(uint8_t address)``: Set I2C address of the device, must be an integer between 1 and 127
..code-block:: cpp
id(ph_ezo).set_i2c(100);
-``get_device_information()``: Sensor retrieves calibration and triggers ``on_device_information:`` once done
..code-block:: cpp
id(ph_ezo).get_device_information();
-``set_sleep()``: Put the device to sleep
..code-block:: cpp
id(ph_ezo).set_sleep();
-``get_state()``: Performs a read on the current sensor.
-``get_calibration()``: Sensor retrieves calibration and triggers ``on_calibration:`` once done
..code-block:: cpp
id(ph_ezo).get_calibration();
-``set_calibration_generic(float value)``: Sets the calibration with no point.
..code-block:: cpp
id(ph_ezo).set_calibration_generic(750.0);
-``set_calibration_point_low(float value)``: Sets the low calibration point.
..code-block:: cpp
id(ph_ezo).set_calibration_point_low(4.00);
-``set_calibration_point_mid(float value)``: Sets the medium calibration point.
..code-block:: cpp
id(ph_ezo).set_calibration_point_mid(7.00);
-``set_calibration_point_high(float value)``: Sets the high calibration point.
..code-block:: cpp
id(ph_ezo).set_calibration_point_low(10.00);
-``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.