55 lines
1.6 KiB
YAML
55 lines
1.6 KiB
YAML
esphome:
|
|
name: test-text-sensor-raw-state
|
|
|
|
host:
|
|
api:
|
|
batch_delay: 0ms # Disable batching to receive all state updates
|
|
logger:
|
|
level: DEBUG
|
|
|
|
# Text sensor WITHOUT filters - get_raw_state() should return same as state
|
|
text_sensor:
|
|
- platform: template
|
|
name: "No Filter Sensor"
|
|
id: no_filter_sensor
|
|
|
|
# Text sensor WITH filter - get_raw_state() should return original value
|
|
- platform: template
|
|
name: "With Filter Sensor"
|
|
id: with_filter_sensor
|
|
filters:
|
|
- to_upper
|
|
|
|
# Button to publish values and log raw_state vs state
|
|
button:
|
|
- platform: template
|
|
name: "Test No Filter Button"
|
|
id: test_no_filter_button
|
|
on_press:
|
|
- text_sensor.template.publish:
|
|
id: no_filter_sensor
|
|
state: "hello world"
|
|
- delay: 50ms
|
|
# Log both state and get_raw_state() to verify they match
|
|
- logger.log:
|
|
format: "NO_FILTER: state='%s' raw_state='%s'"
|
|
args:
|
|
- id(no_filter_sensor).state.c_str()
|
|
- id(no_filter_sensor).get_raw_state().c_str()
|
|
|
|
- platform: template
|
|
name: "Test With Filter Button"
|
|
id: test_with_filter_button
|
|
on_press:
|
|
- text_sensor.template.publish:
|
|
id: with_filter_sensor
|
|
state: "hello world"
|
|
- delay: 50ms
|
|
# Log both state and get_raw_state() to verify filter works
|
|
# state should be "HELLO WORLD" (filtered), raw_state should be "hello world" (original)
|
|
- logger.log:
|
|
format: "WITH_FILTER: state='%s' raw_state='%s'"
|
|
args:
|
|
- id(with_filter_sensor).state.c_str()
|
|
- id(with_filter_sensor).get_raw_state().c_str()
|