[logger] fix on_message (#9642)

Co-authored-by: Samuel Sieb <samuel@sieb.net>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
This commit is contained in:
Samuel Sieb 2025-07-17 20:08:18 -07:00 committed by GitHub
parent a18ddd1169
commit 4bd0561ba3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 2 deletions

View File

@ -193,7 +193,7 @@ def validate_local_no_higher_than_global(value):
Logger = logger_ns.class_("Logger", cg.Component) Logger = logger_ns.class_("Logger", cg.Component)
LoggerMessageTrigger = logger_ns.class_( LoggerMessageTrigger = logger_ns.class_(
"LoggerMessageTrigger", "LoggerMessageTrigger",
automation.Trigger.template(cg.int_, cg.const_char_ptr, cg.const_char_ptr), automation.Trigger.template(cg.uint8, cg.const_char_ptr, cg.const_char_ptr),
) )
@ -390,7 +390,7 @@ async def to_code(config):
await automation.build_automation( await automation.build_automation(
trigger, trigger,
[ [
(cg.int_, "level"), (cg.uint8, "level"),
(cg.const_char_ptr, "tag"), (cg.const_char_ptr, "tag"),
(cg.const_char_ptr, "message"), (cg.const_char_ptr, "message"),
], ],

View File

@ -0,0 +1,18 @@
logger:
id: logger_id
level: DEBUG
on_message:
- level: DEBUG
then:
- lambda: |-
ESP_LOGD("test", "Got message level %d: %s - %s", level, tag, message);
- level: WARN
then:
- lambda: |-
ESP_LOGW("test", "Warning level %d from %s", level, tag);
- level: ERROR
then:
- lambda: |-
// Test that level is uint8_t by using it in calculations
uint8_t adjusted_level = level + 1;
ESP_LOGE("test", "Error with adjusted level %d", adjusted_level);