2.0.0
Directives and answers travel over MQTT alone, the session is reopened with a wait of 1 to 60 s, interfaces are rows in program memory, a device has capabilities with instances, names and semantics, one handler takes the directive with the device in hand, and the messages beside a Response are there: ErrorResponse, DeferredResponse, ChangeReport, scene and doorbell events. A 1.x sketch compiles as it is; the readme says what changes for it. Light on a D1 mini: static RAM 30,616 B (1.1.0: 52,768), flash 332,705 B (1.1.0: 350,885). 148 host tests, 17 sketches build without a warning. On 2026-09-28, with a board and a real Alexa account: nine interfaces driven, a deferred answer, an ErrorResponse, a ChangeReport and a doorbell press; the session scenarios on a scripted broker, loss of Wi-Fi included. Voice commands were not tested yet. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
f9c787a67a
commit
f4297e6fce
7 changed files with 15 additions and 16 deletions
10
readme.md
10
readme.md
|
|
@ -411,7 +411,7 @@ The last column says whether Alexa discovered and drove the interface **from thi
|
|||
| `ThermostatController` | 3.2 | targetSetpoint, lowerSetpoint, upperSetpoint, thermostatMode | `addThermostatSetpointProp`, `addThermostatLowerSetpointProp`, `addThermostatUpperSetpointProp` (both: `addThermostatDualSetpointProp(lower, upper)`), `addThermostatModeProp` | Thermostat | no |
|
||||
| `TemperatureSensor` | 3 | temperature | `addTemperatureSensorProp(value, scale)` | TemperatureSensor | no |
|
||||
| `HumiditySensor` | 3 | relativeHumidity | `addHumiditySensorProp` | | no |
|
||||
| `LockController` | 3 | lockState | `addLockControllerProp` | Lock | no |
|
||||
| `LockController` | 3 | lockState | `addLockControllerProp` | Lock | yes |
|
||||
| `ContactSensor` | 3 | detectionState | `addContactSensorProp` | ContactSensor | no |
|
||||
| `MotionSensor` | 3 | detectionState | `addMotionSensorProp` | | no |
|
||||
| `TimeHoldController` | 3 | holdStartTime, holdEndTime | `addProperty` | | no |
|
||||
|
|
@ -422,12 +422,12 @@ The last column says whether Alexa discovered and drove the interface **from thi
|
|||
| `InventoryLevelSensor` | 3 | level | `addProperty` | | no |
|
||||
| `PlaybackController` | 3 | `"properties": {}` | | | no |
|
||||
| `WakeOnLANController` | 3 | `"properties": {}` | | | no |
|
||||
| `SceneController` | 3 | no `properties` object | | Scene | no |
|
||||
| `DoorbellEventSource` | 3 | no `properties` object | | Doorbell | no |
|
||||
| `SceneController` | 3 | no `properties` object | | Scene | yes |
|
||||
| `DoorbellEventSource` | 3 | no `properties` object | | Doorbell | yes |
|
||||
| `StepSpeaker` | 3 | no `properties` object | | | no |
|
||||
| `SimpleEventSource` | 1.0 | no `properties` object | | | no |
|
||||
|
||||
The six interfaces with "yes" were driven with another sketch than the examples, which have not run on a board yet. The directives were answered within 0.2 to 0.4 s, and a directive that was delivered twice was answered once. Voice commands have not been tried.
|
||||
The interfaces with "yes" were driven on a Wemos D1 mini with other sketches than the examples, which have not run on a board yet. The directives were answered within 0.2 to 0.4 s, and a directive that was delivered twice was answered once. The lock answered after a DeferredResponse, nine seconds after the directive; the scene was started and stopped; the press of the doorbell was accepted by Alexa. A ChangeReport of a lamp and an ErrorResponse reached Alexa as well. Voice commands have not been tried.
|
||||
|
||||
The Alex2MQTT service itself has carried more than that. With its Node.js client, alex2node 1.5.2, on the same day: Power, Brightness, Color, ColorTemperature, Percentage, PowerLevel, Thermostat, Range, Mode, Toggle, Lock and Scene, deferred responses, ErrorResponse, ReportState, and ChangeReports for contact, motion, lock, temperature and power. So the way from the broker to Alexa is tried for these; what this library sends for them is checked by the host tests only.
|
||||
|
||||
|
|
@ -683,7 +683,7 @@ What changes for a 1.x sketch that is compiled against 2.0:
|
|||
- ESP8266 only. The library has never been compiled for an ESP32.
|
||||
- The session is MQTT over TCP on port 1883, without TLS.
|
||||
- Reports are published with QoS 0 and sent once. An event or a change while there is no session with the broker is not sent later; `send()` returns `false` and the sketch decides.
|
||||
- Tried with Alexa from this library: the six interfaces marked in [Interface Types](#interface-types). Not tried from this library: `ColorController`, `ThermostatController`, `LockController` and the deferred answer, `SceneController`, the ErrorResponse, the ChangeReports, `DoorbellPress` and every interface without an example. Voice commands have not been tried.
|
||||
- Tried with Alexa from this library: the nine interfaces marked in [Interface Types](#interface-types), the deferred answer, the ErrorResponse, a ChangeReport and `DoorbellPress`. Not tried from this library: `ColorController`, `ThermostatController`, the sensors and every interface without an example. Voice commands have not been tried.
|
||||
- The examples are compiled, with 0 warnings, and what each announces in discovery is checked by the host tests. They have not run on a board and have not been built with the Arduino IDE.
|
||||
- The library keeps no state of the devices. What a device is set to is a variable of the sketch and starts from its initial value after a reset.
|
||||
- 28 of the interfaces of Alexa have a row. The others cannot be announced.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue