-
-
Notifications
You must be signed in to change notification settings - Fork 8
Home
A device bridge for use between Alexa, Google Home and Node-Red.
- Alexa Skill status: development (you need to request access)
- Google Home status: development (you need to request access)
All device types are supported by Alexa, only specific devices-types are supported by Google Home. The API manages supported devices for you via respective smart home device discovery requests. More details below.
Using the hosted instance and want to support ongoing hosting costs/ want to support the ongoing development project, donate:
Alexa Interface | Google Home Trait | Supported Controls | Example Usage | Useful Links |
---|---|---|---|---|
Brightness Control | action.devices.traits.Brightness | 0-100%, increase, reduce, dim | MQTT Out | Any MQTT-enabled bulb/ smart light |
Channel Control | None | Any number or name, i.e. 101, BBC 1, Channel 4 | HTTP Out | Any HTTP-enabled endpoint |
Color Control | action.devices.traits.ColorSetting | Red, Green, Blue, Purple, Yellow etc. | MQTT Out | Any MQTT-enabled bulb/ smart light |
Color Temperature Control | action.devices.traits.ColorSetting | Warm, Warm White, Incandescent, Soft White, White, Daylight, Daylight White, Cool, Cool White*** | MQTT Out | Any MQTT-enabled bulb/ smart light |
Input Control | None | HDMI1, HDMI2, HDMI3, HDMI4, phono, audio1, audio2 and "chromecast" | Yamaha Music Cast Amplifier | node-red-contrib-avr-yamaha |
Lock Control | None | Lock, Unlock | MQTT Out | Any MQTT connected Lock |
Playback Control | None | Play, Pause, Stop, FastForward, Rewind, StartOver, Next, Previous | Kodi RPC | Http Response Node with Kodi RPC Commands |
Percentage Controller | None | 0-100%, increase %, decrease % | HTTP Out, MQTT Out | Fans, AC Unit |
Power Control | action.devices.traits.OnOff | On, Off | MQTT Out | Any MQTT-enabled switch, Socket etc |
Scene Control | action.devices.traits.Scene | Turn On | Multiple | String together a number of nodes for your scene, i.e. lighting, TV on, ACR on |
Speaker | None | +/- volume, set to specific number, mute | Yamaha Music Cast Amplifier | node-red-contrib-avr-yamaha |
Speaker (Step) | None | +/- volume, mute | Yamaha Music Cast Amplifier | node-red-contrib-avr-yamaha |
Temperature Sensor | None | No commands | N/A | View/ query temperature in any room by voice or Alexa App |
Thermostats Control (Single setpoint only) | action.devices.traits.TemperatureSetting | Set specific temp**, increase/ decrease | MQTT Out | Any MQTT connected thermostat/HVAC |
* Scene Control and Thermostat Control cannot co-exist with other capabilities.
** Min/ max temperature range set on Thermostat device at time of creation, bridge will not process commands outside of these values.
*** Color Temperature range set on device at creation (in Kelvin), bridge will not process commands outside of these values.
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 Home support, alongside Alexa
- State Reporting within the Alexa App itself (see screenshots above for examples)
- 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
- Remediation of various, depreciated NodeJS/ Mongoose functions
- Move to MongoDB Sessions vs Express Sessions
- API-driven temperature/ value out of range errors