Custom Text Sensor¶
This integration can be used to create custom text sensors in ESPHome using the C++ (Arduino) API.
Please first read Custom Sensor Component guide, the same principles apply here and text sensors are very similar to sensors internally.
The example below is an example of a custom text sensor which constantly publishes the message “Hello World!”.
#include "esphome.h"
class MyCustomTextSensor : public PollingComponent, public TextSensor {
public:
// constructor
MyCustomTextSensor() : PollingComponent(15000) {}
void setup() override {
// This will be called by App.setup()
}
void update() override {
// This will be called every "update_interval" milliseconds.
// Publish state
publish_state("Hello World!");
}
};
(Store this file in your configuration directory, for example my_text_sensor.h
)
And in YAML:
# Example configuration entry
esphome:
includes:
- my_text_sensor.h
text_sensor:
- platform: custom
lambda: |-
auto my_custom_sensor = new MyCustomTextSensor();
App.register_component(my_custom_sensor);
return {my_custom_sensor};
text_sensors:
name: "My Custom Text Sensor"
Configuration variables:
lambda (Required, lambda): The lambda to run for instantiating the text sensor(s).
text_sensors (Required, list): A list of text sensors to initialize. The length here must equal the number of items in the
return
statement of thelambda
.All options from Text Sensor.