The ESPHome and Python-client pair creates the path for user-defined API actions to carry more than a name and typed inputs. Brandon Harvey added optional descriptions for actions and descriptions plus examples for each variable, while keeping the existing shorthand configuration available.

The metadata is opt-in, but there is one compatibility edge: on ESP8266, the strings belonging to a single action must total no more than 384 bytes. An unusually long existing action can therefore fail validation until its names are shortened or the action is split; other platforms have no such limit.

A companion aioesphomeapi change carries the new fields into Python clients and defaults them to empty strings for older devices. Home Assistant still needs its follow-up integration change before people see the richer forms shown in the prototype. This is Harvey’s first contribution to aioesphomeapi—welcome, Brandon.