Custom Google Home actions for NORA

I have Nora deployed in my home automation setup and it works well. To further expand this I'm considering the following and was wondering whether this is possible.

I'm controlling some lights via the light scheduler node. The light scheduler node takes control inputs: on/off/auto (and some others). Auto controls the output based on the schedule set, On/off overrides the schedule and either sends the 'on' payload or 'off' payload respectively.

What I would like to do is to issue a voice command such as "override light A" which sends an 'on' payload to the light scheduler to override the schedule. Could this be setup?

Had some successes with the help of @NotEnoughTECH (txs!).

Love it. My Node-RED instance runs in the cloud and I found webhookrelay.com (excerpt from their site "Webhook Relay allows anyone to receive, transform webhooks and expose web services to the internet without having public IP or configuring NAT/firewall in a secure way"). This creates a Node-RED node called 'webhookrelay'. You configure it with your own credentials and once this is done you can deal with the payload in Node-RED.

This almost feels like the holy grail of adding a voice interface to any custom commands needed. For my first use case as mentioned I implemented I have lights controlled via the scheduler node and unless I interact via a dashboard to override the schedule I'm stuck and can't submit any override commands. While I have a dashboard, this voice interface just gives me another - more convenient - channel. While you won't (and can't) implement everything through voice you probably get away with 80%. Normal operation is probably handled via rules etc. but this is a nice touch when you need to override normal operations and don't want to use the dashboard

You should be able to use Nora Scene Node for this. "Turn On Light A Override"

1 Like

So you define a scene in Google Assistant with this name? The actions would be limited to Google actions, right?

Correct, so the correct scene language looks like "start" or "activate". You could use a virtual Switch if you wanted to use "on" or "off". Then you would use a flow to create your overide,

Ok, will try this. Sounds easy enough. The only challenge of a virtual switch option could be that it would have to appear in the Google Assistant app and while you can't do any harm it's more the fact that it "doesn't belong there" as its a means to an end.
If you try it without the virtual switch what device would Google Assistant talk to?

Depends because then it gives you the ability to control the override through the app vs. though voice. I just put mine (I did a virtual switch to control a group of devices) in the same room as the physical devices I was controlling

Oh ok. I see what you mean. Given I need two commands in Node-RED ('on' and 'auto') I have done the following:

  • Setup the virtual switch (NORA switch) - switch A
  • Setup two scenes in Google Assistant
    a. with the action "Set switch A to auto" and send command switch A off (for the off payload)
    b. with the action "Set switch A to on" and send command switch A on (for the on payload)

With this I can override in the Google Home app or with the voice command. Works a treat! Txs again for this alternate way. This way I don't have to utilise IFTTT

2 Likes