This is mend to continue conversations and test reports about the integration work for Espressif's ESP-NOW communication protocol into ESPHome.
This espnow component is a small layer above the ESP-NOW protocol that take a small part of the packet validation away from the user to make sure that the packet is coming from a know device and how it should handle the incoming data.
To make thinks easier to implement different protocols above the ESP-NOW protocol. Per packet you can define an app_id and a command code.
My vision about this is that the app_id is a 2 byte predefined code that explains what the app/protocol will do. And the command code can define different actions/command/measuring types etc. depending on the app_id.
For extended needs you also can use it to send and receive raw packet's without packet validation.
Checkout my PR draft at: https://github.com/esphome/esphome/pull/7141
Current espnow setup options: #1329034880004395009 message
Current available actions: #1329034880004395009 message
Current packet access methods: #1329034880004395009 message
Current packet header information: #1329034880004395009 message
Current EspNowApp class methods: #1329034880004395009 message