Log: one line for whatever is dropped, a level the build lacks is reported, no false alarm for a 1.x handler

Audit of the paths that drop or refuse something. registerEvent() dropped an eleventh
handler and a second one for the same name without a word: the name now gets the new
handler, an eleventh name and a call without a name or a function print an error. A
device that cannot be announced printed two lines, one without its id; it prints one.
setLogLevel() above ALEX2ESP_LOG_MAX prints an error that names the build flag.
"the handler sent no answer" is an error for a handler of onDirective() only: a 1.x
handler may answer from a later loop(), its silence is a line at DEBUG.
getDevice() returning nullptr and printMemoryInfo() are documented; keywords.txt has
the 2.0 names and loses three that were removed.
basicLight: static RAM 30,520 B, flash 333,989 B (+600); ALEX2ESP_LOG_MAX=0 30,496 /
327,953, =3 30,520 / 334,477; five examples, log0 and log3 build with 0 warnings.
Host tests: 135 (dispatch 11 -> 16).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
David 2026-09-28 21:10:19 +00:00
parent 77156ffbe5
commit 6e15226ce0
10 changed files with 216 additions and 26 deletions

View file

@ -10,6 +10,14 @@ Alex2ESP KEYWORD1
Alex2ESPState KEYWORD1
AlexaDevice KEYWORD1
AlexaInterface KEYWORD1
AlexaCapability KEYWORD1
AlexaDirective KEYWORD1
AlexaDirectiveHandler KEYWORD1
AlexaAction KEYWORD1
AlexaState KEYWORD1
AlexaCause KEYWORD1
AlexaErrorType KEYWORD1
AlexaMessageKind KEYWORD1
AlexaInterfaceType KEYWORD1
AlexaInterfaces KEYWORD1
AlexaInterfaceDesc KEYWORD1
@ -21,7 +29,6 @@ AlexaThermostatMode KEYWORD1
ActionMapping KEYWORD1
AlexaActions KEYWORD1
AlexaActionsUtils KEYWORD1
FriendlyName KEYWORD1
DisplayCategory KEYWORD1
DisplayCategoryUtils KEYWORD1
EndpointHealth KEYWORD1
@ -42,6 +49,7 @@ loop KEYWORD2
getState KEYWORD2
getDisconnectReason KEYWORD2
getDevice KEYWORD2
setServer KEYWORD2
setLogLevel KEYWORD2
setTimeSource KEYWORD2
publish KEYWORD2
@ -64,12 +72,24 @@ getSoftwareVersion KEYWORD2
getDeviceJSON KEYWORD2
addCapability KEYWORD2
registerEvent KEYWORD2
onDirective KEYWORD2
findCapability KEYWORD2
getInterfaceType KEYWORD2
response KEYWORD2
stateReport KEYWORD2
deferred KEYWORD2
error KEYWORD2
sceneStarted KEYWORD2
sceneStopped KEYWORD2
isReportState KEYWORD2
changeReport KEYWORD2
doorbellPress KEYWORD2
event KEYWORD2
triggerEvent KEYWORD2
buildStatusMessage KEYWORD2
getType KEYWORD2
getTypeString KEYWORD2
getVersion KEYWORD2
getProps KEYWORD2
setInstance KEYWORD2
addFriendlyName KEYWORD2
isRetrievable KEYWORD2
@ -77,13 +97,27 @@ isProactivelyReported KEYWORD2
setRetrievable KEYWORD2
setProactivelyReported KEYWORD2
addActionMapping KEYWORD2
getJSON KEYWORD2
addStateMapping KEYWORD2
addFriendlyAsset KEYWORD2
setConfiguration KEYWORD2
setNonControllable KEYWORD2
isNonControllable KEYWORD2
getInstance KEYWORD2
getRow KEYWORD2
matches KEYWORD2
AddHealthProp KEYWORD2
AddPowerControllerProp KEYWORD2
AddTemperatureSensorProp KEYWORD2
AddBrightnessControllerProp KEYWORD2
AddColorTemperatureControllerProp KEYWORD2
AddToggleControllerProp KEYWORD2
addHealthProp KEYWORD2
addPowerControllerProp KEYWORD2
addTemperatureSensorProp KEYWORD2
addBrightnessControllerProp KEYWORD2
addColorTemperatureControllerProp KEYWORD2
addToggleControllerProp KEYWORD2
addContextProp KEYWORD2
addColorControllerProp KEYWORD2
addPowerLevelControllerProp KEYWORD2
addPercentageControllerProp KEYWORD2
@ -102,6 +136,12 @@ addProperty KEYWORD2
isValid KEYWORD2
AddContextProp KEYWORD2
send KEYWORD2
sendAsync KEYWORD2
asErrorResponse KEYWORD2
payload KEYWORD2
getKind KEYWORD2
setLevel KEYWORD2
setOutput KEYWORD2
printMemoryInfo KEYWORD2
#######################################
@ -113,6 +153,10 @@ ALEX2ESP_MAX_MESSAGE LITERAL1
ALEX2ESP_MAX_QUEUED_DIRECTIVES LITERAL1
ALEX2ESP_MAX_QUEUED_BYTES LITERAL1
ALEX2ESP_LOG_MAX LITERAL1
ALEX2ESP_MAX_CAPABILITIES LITERAL1
ALEX2ESP_MAX_FRIENDLY_NAMES LITERAL1
ALEX2ESP_MAX_ACTION_MAPPINGS LITERAL1
ALEX2ESP_MAX_STATE_MAPPINGS LITERAL1
ALEX2ESP_VERSION LITERAL1
ALEXA_TIMESTAMP_SIZE LITERAL1
MAX_EVENTS LITERAL1