forked from hardillb/node-red-alexa-home-skill-web
-
-
Notifications
You must be signed in to change notification settings - Fork 8
Home
coldfire84 edited this page Jan 21, 2019
·
47 revisions
A device bridge for use between Alexa, Google Home and Node-Red.
-
Alexa Skill status:
development (support case raised with Amazon ref state polling frequency)
-
Google Home status:
submitted/ under review
Using the hosted instance and want to support ongoing hosting costs/ want to support the ongoing development project, donate:
All interfaces/ capabilities are supported by Alexa whereas only a sub-set are supported by Google Assistant.
The API manages supported devices for you via respective smart home device discovery requests, as a result Node-RED payloads are the same for both Alexa and Google Assistant.
Alexa Interface | Google Trait | Supported Controls | Example Usage | Useful Links |
---|---|---|---|---|
Brightness Control | Brightness | 0-100%, increase, reduce, dim | MQTT Out | Any MQTT-enabled bulb/ smart light |
Channel Control | Not Supported | Any number or name, i.e. 101, BBC 1, Channel 4 | HTTP Out | Any HTTP-enabled endpoint |
Color Control | ColorSetting | Red, Green, Blue, Purple, Yellow etc. | MQTT Out | Any MQTT-enabled bulb/ smart light |
Color Temperature Control | ColorSetting | Warm, Warm White, Incandescent, Soft White, White, Daylight, Daylight White, Cool, Cool White*** | MQTT Out | Any MQTT-enabled bulb/ smart light |
Input Control | Not Supported | HDMI1, HDMI2, HDMI3, HDMI4, phono, audio1, audio2 and "chromecast" | Yamaha Music Cast Amplifier | node-red-contrib-avr-yamaha |
Lock Control | Not Supported | Lock, Unlock | MQTT Out | Any MQTT connected Lock |
Playback Control | Not Supported | Play, Pause, Stop, FastForward, Rewind, StartOver, Next, Previous | Kodi RPC | Http Response Node with Kodi RPC Commands |
Percentage Controller | Not Supported | 0-100%, increase %, decrease % | HTTP Out, MQTT Out | Fans, AC Unit |
Power Control | OnOff | On, Off | MQTT Out | Any MQTT-enabled switch, Socket etc |
Scene Control | Scene | Turn On | Multiple | String together a number of nodes for your scene, i.e. lighting, TV on, ACR on |
Speaker | Not Supported | +/- volume, set to specific number, mute | Yamaha Music Cast Amplifier | node-red-contrib-avr-yamaha |
Speaker (Step) | Not Supported | +/- volume, mute | Yamaha Music Cast Amplifier | node-red-contrib-avr-yamaha |
Temperature Sensor | Not Supported | No commands | N/A | View/ query temperature in any room by voice or Alexa App |
Thermostats Control (Single setpoint only) | TemperatureSetting | Set specific temp**, increase/ decrease | MQTT Out | Any MQTT connected thermostat/HVAC |
Note there are 3 component parts to this service:
- This Web Application/ Associated Databases, Authentication and MQTT services
- An Amazon Lambda function
- A Node-Red contrib
At present this skill is pre-production, but I can extend it to you (alternatively deploy the component parts!).
This project is based extensively on Ben Hardill's Alexa Smart Home API v2 project:
- https://github.com/hardillb/node-red-alexa-home-skill-web
- https://github.com/hardillb/node-red-alexa-home-skill-lambda
- https://github.com/hardillb/node-red-alexa-home-skill-web
With the main changes being:
- Google Assistant support, alongside Alexa
- State Reporting within the Alexa App/ Google Home App itself (see screenshots above for examples)
- Modular NodeJS architecture
- Upgrade to Alexa Home Skill "API v3" (enables Play, Pause, Stop, Volume etc. control)
- Web app/ site upgrade to Bootstrap v4 (with minor UI changes)
- All NodeJS web-app pre-reqs being upgraded to vCurrent (at time of publication)
- Remediation of various, depreciated NodeJS/ Mongoose functions
- Move to MongoDB Sessions vs Express Sessions
- API-driven temperature/ value out of range errors