Frequently Asked Questions

Which voice commands can I use to control my devices with Alexa?

Take a look at the example flows which you can import from the Node-RED import menu (Import > Examples > node-red-contrib-virtual-smart-home).

Here are some of the most often used commands:

  • Alexa, switch on / off DEVICE-NAME
  • Alexa, set DEVICE-NAME to X percent
  • Alexa, set DEVICE-NAME to Warm white / Soft white / Daylight white / Cool white / Red / Crimson / Salmon / Orange / Gold / Yellow / Green / Turquoise / Cyan / Sky blue / Blue / Purple / Magenta / Pink / Lavender
  • Alexa, open / close DEVICE-NAME

How can I control devices in a specific room?

You can create rooms in the Alexa app and assign your devices to them. Create a room which groups together an Alexa device (e.g. Echo) and some virtual lights. You can then control all those lights simply by speaking "Alexa, switch off the light" into the Alexa device.

Why do my devices suddenly fail to connect and show up as 'offline'?

If your device was not connected to the VSH backend for more than 30 days its certificate will be revoked. You can fix that by deleting the old connection, creating a new one and linking your virtual devices to the new one. All your devices should then get re-discovered by Alexa.

Another reason could be that you are using an outdated version of VSH. Please update to the latest version (e.g using the Node-RED palette manager).

Why do some of my devices show up as duplicates in the Alexa app?

Your duplicate devices might belong to a vsh-connection that no longer exists. You can delete them manually on the connection page where they probably show up with a shaded background, indicating they belong to another vsh-connection.

I deleted a virtual device but Alexa keeps rediscovering it!

You probably deleted the device in the Alexa app instead of Node-RED. Open the connection page which lists all known devices and click the trash icon next to the device you want to delete.

Why does VSH not work offline?

Alexa lives in the cloud. When you ask Alexa to control one of your devices, your voice is sent to Amazon servers for processing. Amazon's servers then try to make sense of what you said and which skill to invoke. If you said "Alexa, dim the kitchen light to fifty percent!", Alexa will realize that 'kitchen light' belongs to the VSH skill and invoke the VSH backend with a 'directive' containing the command that was understood (e.g. 'SetBrightness'). The VSH skill backend then sends a message to your connected virtual device which triggers an outgoing msg object with the device state for you to make use of. This requires your VSH devices to be online.

What do you do with my data?

The VSH backend only stores metadata about your configured devices needed for VSH to function and your basic profile information provided by Amazon when you enabled the skill. Neither your Amazon password nor your voice prompts or your location is ever shared with VSH. We do not analzye your usage patterns and do not run marketing campaigns.

Where can I see what data is being sent to / received from the backend?

Activate the Debug option on the connection page and observe the output logged to stdout.

Is there a way to persist the state of devices across restarts of Node-RED?

Yes! The device state is stored as 'context' provided by Node-RED, which is kept in memory by default. You can easily change that by adding this snippet to your Node-RED's settings.js file:

contextStorage: {
    default: {
        module: "localfilesystem",
    },
},

In which way is the FREE plan limited?

While you can use the FREE plan free of charge for as long as you want, it is currently limited to 7 virtual devices and doesn't support retrieving device state by Alexa, e.g. commands like "Alexa, what's the temperature in the living room" will fail.

Where can I manage my VSH subscription?

Click the 'manage subscription' button on the vsh-connection page in Node-RED. This option will only be shown when you already have purchased a subscription.

Can you add feature X, please?

I'm always eager to hear your ideas! Please file a ticket.

Where can I ask a question that hasn't been addressed yet?

Check out existing issues on GitHub or file a new ticket.