A message has a kind, and the kind decides its topic: answers on <root>/<id>/alexaResponce, the answer after a DeferredResponse on <root>/<id>/deferredResponse (sendAsync()), a ChangeReport on <root>/changeReport with the changed properties apart from the others (context()), DoorbellPress on <root>/event. AlexaDirective gains deferred(), error(type, message), sceneStarted() and sceneStopped(); thermostat error types go out in the namespace of the thermostat. The helpers are add*Prop, the Add*Prop names stay; a temperature keeps its scale (69 FAHRENHEIT, was 20.56 CELSIUS). messageId is a version 4 UUID from the hardware random source, where rand() seeded per second gave two messages one id. basicLight: static RAM 30,540 B (-76), flash 334,981 B (+1,280); 112 host tests (bridge logic 52, messages 19, new). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
20 lines
973 B
INI
20 lines
973 B
INI
; Development project of the library itself. A sketch does not need this file: it gets the library through
|
|
; lib_deps (readme.md, Quick Start).
|
|
;
|
|
; pio test -e native host tests of the bridge logic (src/AlexaBridgeLogic.cpp), of discovery, of dispatch and
|
|
; of the messages (src/AlexaDevice.cpp, src/AlexaCapability.cpp, src/AlexaInterfaces.cpp,
|
|
; src/AlexaStatusMessage.cpp); no board, no broker
|
|
|
|
[platformio]
|
|
default_envs = native
|
|
|
|
[env:native]
|
|
platform = native
|
|
test_framework = unity
|
|
; Only the sources without a hardware dependency are compiled with the tests
|
|
test_build_src = yes
|
|
build_src_filter = -<*> +<AlexaBridgeLogic.cpp> +<AlexaCapability.cpp> +<AlexaDevice.cpp> +<AlexaInterfaces.cpp> +<AlexaLog.cpp> +<AlexaStatusMessage.cpp>
|
|
lib_deps =
|
|
bblanchon/ArduinoJson@^7
|
|
; test/host_arduino holds the Arduino.h of the host: String, Print and Serial
|
|
build_flags = -std=gnu++17 -Wall -Wextra -Itest/host_arduino
|