10 ESP_LOGCONFIG(TAG,
"UART Binary Sensor:");
11 for (
const auto &matcher : this->
matchers_) {
12 LOG_BINARY_SENSOR(
" ",
"Pattern", matcher.sensor);
19 for (
const auto &matcher : this->
matchers_) {
21 if (
progmem_read_byte(&matcher.data[matcher.data_len - 1]) !=
byte || !this->matches_(matcher)) {
25 matcher.sensor->publish_state(
true);
26 matcher.sensor->publish_state(
false);
39 for (
size_t i = 0; i + 1 < matcher.
data_len; i++) {
void push_overwrite(const T &value)
Push a value, overwriting the oldest if full.
void clear()
Clear all elements (reset to empty, keep capacity)
bool matches_(const EventMatcher &matcher) const
StaticVector< EventMatcher, UART_BINARY_SENSOR_COUNT > matchers_
void dump_config() override
FixedRingBuffer< uint8_t, 255 > buffer_
bool read_available(F &&on_byte)
Same as read_available_chunks(), calling on_byte(uint8_t) once per byte.
ESPHOME_LOG_TAG(TAG, "uart.binary_sensor")
uint8_t progmem_read_byte(const uint8_t *addr)