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> |
||
|---|---|---|
| .. | ||
| BlindControl.js | ||
| ExampleModeController.js | ||
| ExamplePowerController.js | ||
| ExamplePowerControllerDeferred.js | ||
| ExamplePowerControllerWithBrightness.js | ||
| ExamplePowerControllerWithErrors.js | ||
| ExamplePowerControllerWithMomentary.js | ||
| ExampleThermostat.js | ||
| ExampleToggleController.js | ||
| README.md | ||
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 lists what a 1.x program can observe of 2.0.