examples: one runnable file per recipe on the 2.0 API, the 1.x files in examples/legacy
Ten recipes: lamp, colour lamp, thermostat, blind, lock (deferred), contact sensor (ChangeReport), scene, doorbell (raise), typed errors, and a plug as an ES module. Each reads ALEX2MQTT_USERNAME, _PASSWORD and _ROOT_TOPIC and names the ones that are missing. The nine examples of 1.5.2 move to examples/legacy unchanged. test/examples.test.js starts every file with node, its broker connection sent to a broker on 127.0.0.1 (test/helpers/loopback.js), discovers the device, sends directives and checks the answers. A legacy file is started and its discovery compared with the answer the 1.5.2 build gave, recorded in test/fixtures/legacy-examples. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
2cbcde563e
commit
8379a65d78
25 changed files with 1705 additions and 0 deletions
12
examples/legacy/README.md
Normal file
12
examples/legacy/README.md
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# Examples of 1.5.2
|
||||
|
||||
The nine examples of alex2node 1.5.2, as they were. They run on 2.0 through its compat layer, which keeps the 1.x
|
||||
API: `registerDevice()`, `addCapability()`, the `Event` and `ReportState` listeners, `getStatusMessage()` and
|
||||
`getErrorMessage()`. `test/examples.test.js` starts each of them and compares its discovery answer with the one
|
||||
1.5.2 gave; 2.0 adds the `Alexa` interface at the end of the capabilities and changes nothing else in them.
|
||||
|
||||
They read `MQTT_USERNAME`, `MQTT_PASSWORD` and `MQTT_ROOT_TOPIC` from the environment or from a `.env` file, with
|
||||
`dotenv`, which is a development dependency of this repository.
|
||||
|
||||
For a new program use the examples one directory up. [docs/wire-changes.md](../../docs/wire-changes.md) lists what
|
||||
a 1.x program can observe of 2.0.
|
||||
Loading…
Add table
Add a link
Reference in a new issue