Changelog and test counts for the doorbell and scene announcement
The entry under Fixed of 2.0.0, and 148 host tests (36 of discovery) in the
readme and the changelog. They belong to c3d02f4, whose edit of these two
files did not apply.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
c3d02f462e
commit
50467ced28
2 changed files with 3 additions and 2 deletions
|
|
@ -23,7 +23,7 @@ While it was written this version was numbered 1.2.0, which was never released.
|
||||||
- `AlexaCapability::isValid()`, `false` after a setter has refused what it was given. A capability that is not valid is left out of discovery with an error; before, it was announced without what had been refused.
|
- `AlexaCapability::isValid()`, `false` after a setter has refused what it was given. A capability that is not valid is left out of discovery with an error; before, it was announced without what had been refused.
|
||||||
- `AlexaInterfaceType::HUMIDITY_SENSOR` with its row, `AlexaInterfaces::HumiditySensor`. `AlexaDevice::getInterfaceType(namespace)`.
|
- `AlexaInterfaceType::HUMIDITY_SENSOR` with its row, `AlexaInterfaces::HumiditySensor`. `AlexaDevice::getInterfaceType(namespace)`.
|
||||||
- Examples as Arduino sketches, one folder per kind of device, each with its own endpoint id and a Wi-Fi connection that gives up waiting after 30 s: `Light`, `DimmableLight`, `ColorTemperatureLight`, `ColorLight`, `TemperatureSensor`, `ContactSensor`, `Blind`, `Thermostat`, `Lock`, `Scene`, `Doorbell` and `MultiDevice`. `examples/README.md` says what each does and what it takes of RAM and flash.
|
- Examples as Arduino sketches, one folder per kind of device, each with its own endpoint id and a Wi-Fi connection that gives up waiting after 30 s: `Light`, `DimmableLight`, `ColorTemperatureLight`, `ColorLight`, `TemperatureSensor`, `ContactSensor`, `Blind`, `Thermostat`, `Lock`, `Scene`, `Doorbell` and `MultiDevice`. `examples/README.md` says what each does and what it takes of RAM and flash.
|
||||||
- Host tests, `pio test -e native`: 147 tests, 52 of the receive and publish logic (reassembly of fragments, the directives that wait for `loop()`, repeated directives, the size limits, a heap without room, the wait between reconnects, topics, time stamps, the message id), 35 of discovery (the discovery object of every example of 1.x against what 1.1.0 announced, the 28 rows against the interface pages, a type without a row, the discovery objects of a range, a mode and a toggle controller, a scene and a doorbell, what a capability refuses and that it is left out afterwards, the states and the asset ids), 16 of dispatch (the device and the capability a directive reaches, one handler for two devices, the handlers of 1.x, one that answers later, a second handler for a name and one more than a device keeps, a capability more than a device holds, the answers to a directive for a capability the device lacks and to one without a handler, the log level above what the build has and the level that prints nothing), 32 of the messages (every kind against the JSON and the topic it is published with, every report helper against the JSON of its property, values outside of their range, the names of 1.x, the scale of a temperature, what `send()` and `sendAsync()` refuse) and 12 of the examples (what each announces in discovery). No board is needed.
|
- Host tests, `pio test -e native`: 148 tests, 52 of the receive and publish logic (reassembly of fragments, the directives that wait for `loop()`, repeated directives, the size limits, a heap without room, the wait between reconnects, topics, time stamps, the message id), 36 of discovery (the discovery object of every example of 1.x against what 1.1.0 announced, the 28 rows against the interface pages, a type without a row, the discovery objects of a range, a mode and a toggle controller, a scene and a doorbell, what a capability refuses and that it is left out afterwards, the states and the asset ids), 16 of dispatch (the device and the capability a directive reaches, one handler for two devices, the handlers of 1.x, one that answers later, a second handler for a name and one more than a device keeps, a capability more than a device holds, the answers to a directive for a capability the device lacks and to one without a handler, the log level above what the build has and the level that prints nothing), 32 of the messages (every kind against the JSON and the topic it is published with, every report helper against the JSON of its property, values outside of their range, the names of 1.x, the scale of a temperature, what `send()` and `sendAsync()` refuse) and 12 of the examples (what each announces in discovery). No board is needed.
|
||||||
- `CHANGELOG.md`. The readme has the MQTT contract, the log lines, the memory figures and the migration from 1.x.
|
- `CHANGELOG.md`. The readme has the MQTT contract, the log lines, the memory figures and the migration from 1.x.
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
@ -64,6 +64,7 @@ While it was written this version was numbered 1.2.0, which was never released.
|
||||||
|
|
||||||
### Fixed
|
### Fixed
|
||||||
|
|
||||||
|
- A doorbell is announced with `"proactivelyReported": true` and a scene with `"supportsDeactivation"`, beside the name of the interface as their pages have it. `setSupportsDeactivation(true)` is for a scene that can be undone. Without the first, Alexa accepted the discovery, did not list the doorbell and answered its `DoorbellPress` with an error (seen with a board on 2026-09-28).
|
||||||
- A temperature is reported in the scale it is given in: `AddTemperatureSensorProp(TemperatureSensorScale::FAHRENHEIT, 69)` reports 69 `FAHRENHEIT`, where 1.1.0 reported 20.56 `CELSIUS`. `TemperatureSensorScale::KELVIN` is new.
|
- A temperature is reported in the scale it is given in: `AddTemperatureSensorProp(TemperatureSensorScale::FAHRENHEIT, 69)` reports 69 `FAHRENHEIT`, where 1.1.0 reported 20.56 `CELSIUS`. `TemperatureSensorScale::KELVIN` is new.
|
||||||
- `messageId` is a UUID of version 4 from the random source of the hardware. 1.1.0 sent 37 characters from `rand()`, seeded with the time in seconds: two messages of one second had the same id.
|
- `messageId` is a UUID of version 4 from the random source of the hardware. 1.1.0 sent 37 characters from `rand()`, seeded with the time in seconds: two messages of one second had the same id.
|
||||||
- `registerEvent()` with a name that has a handler replaces the handler; 1.1.0 kept the first and never called the second. An eleventh name (`MAX_EVENTS` is 10), and a call without a name or a function, is refused with an error; 1.1.0 dropped the eleventh without a word.
|
- `registerEvent()` with a name that has a handler replaces the handler; 1.1.0 kept the first and never called the second. An eleventh name (`MAX_EVENTS` is 10), and a call without a name or a function, is refused with an error; 1.1.0 dropped the eleventh without a word.
|
||||||
|
|
|
||||||
|
|
@ -693,7 +693,7 @@ What changes for a 1.x sketch that is compiled against 2.0:
|
||||||
|
|
||||||
## Tests
|
## Tests
|
||||||
|
|
||||||
`pio test -e native` in the repository runs 147 host tests: 52 of the receive and publish logic, 35 of discovery, 16 of dispatch, 32 of the messages and 12 of the examples (what each announces in discovery). No board and no broker is needed. The `platformio.ini` of the repository is for these tests; a sketch does not need it.
|
`pio test -e native` in the repository runs 148 host tests: 52 of the receive and publish logic, 36 of discovery, 16 of dispatch, 32 of the messages and 12 of the examples (what each announces in discovery). No board and no broker is needed. The `platformio.ini` of the repository is for these tests; a sketch does not need it.
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue