Node-RED google home integration

@andrei-tatar
Hi
I was trying Thermostat and when I ask: what is the room humidity ?
the answer is always: Sorry I can't reach NEST right now, please try again.
do I miss something
thanks

(https://github.com/andrei-tatar/nora-service/blob/e289be4c570ca7d47ad66f15584755b28afad101/src/http/services/query.service.ts#L51)

another Important thing :slight_smile:

you can only update your thermostat (NEST) by voice.
to clarify, if under NEST it is written (cool/T:25.2/S:24.5) and you change it (through the Flow) to (heat/T:25.2/S:26).
when you ask Google : What is room Temperature?
the answer is: Cooling is set to 24.5 with a current temperature of 25.
to get the correct response you must ask google (voice) first to set "NEST" to any temperature (ex: 26.5 degree).
the answer will be:Heating is set to 26.5 with a current temperature of 25.
what I mean here to update Google response you must always precede it with a SET command.

1 Like

@andrei-tatar

Hi Andrei

Thanks for all the work you have done with this intergration, it's fantastic. I do have one problem however and I haven't been able to find anything in the forum about it. The issue is that I have deleted some device nodes from node red however, they still appear in my google home. I have tried revoking the key however, this didnt work either. Could you please provide some guidance as to how I can remove the devices i am no longer using from google home? alternatively how to remove all devices and start again.

Thanks again for all the work you have done here

Cheers

If you use the same group name the devices should get updated (deleted/added). What happens if you add a new device?
In the worst case scenario, wait 24 hours until the service restarts and at that point it looses all the devices since they're stored in memory.

@andrei-tatar
Hi
I am new in your forum with little knowledge about node-red so pls. help.
I couldn't find anything in the forum about humidity.
also is there an example for thermostat ?
and when I use Room hint and Topic.
thanks

What about humidity? I don't think google home actually uses humidity yet. All info about thermostatHumidityAmbient available is here: Cloud-to-cloud  |  Google Home Developers

Room hint is a hint for google home so it knows the room of the device. It's optional and it can be changed from your Google Home app.
Topic is a property that will be attached to the output messages of the node. It's useful if you process messages from multiple nodes so you can differentiate them based on the topic.

1 Like

Hi could you possibly add alexa integration to NORA?

No. This is only for Google Home. I'm sure there are a lot of alexa integrations.

1 Like

is there any plan for adding FAN ?
https://developers.google.com/actions/smarthome/guides/fan

Thanks again for your great work.
Joe

There is an open issue on github but I didn't have much time lately.

1 Like

on my old HVAC there is only 3 speed High, Medium, Low activated by 3 separate relays.(easy)

also ITEAD Sonoff IFan02 is controled by 3 relays
Here is the Schematic

@andrei-tatar
sorry to disturb you again
recently I found this in gBridge documentation .

Status topic for ambient humidity

Status topic for ambient humidity
Your app should publish data once a change in the ambient humidity is observed, but only if the checkbox “Device is able to report humidity” is checked. It’s unit is % (relative humidity).

It should be formatted as a decimal number with exactly one decimal place, inbetween 0 and 100 (including those).

Example: gBridge/ux/dy/tempset-humidity/set: 57.0 -> Hey Google, what’s the humidity at {thermostat name}? {Thermostat name} has a current humidity reading of 57%


Hey Google, what’s the humidity at {thermostat name}? {Thermostat name} has a current humidity reading of 57%


  • I tried also all other Commands with NORA and they are working fine.

  • Make it warmer/ cooler
  • Raise/ lower the Temperature
  • Raise/ lower the temp x degrees
  • Set the temperature to x degrees
  • How warm is it in here?

Regards
joe

@andrei-tatar
I've been using NORA for a month now and it has been great!

NORA seems to have shut down now though. I'm getting "nora (xxxxx): socket connection error: Error: xhr poll error" in my debugging window. Is there a way to determine if this is on my end or is it a hosting platform problem?

Have you tried restarting node-red? Maybe there's some other issue on your end...
It works fine for me and I see there are 362 users connected.

Hi!

I've been using this pretty flawlessly for months, however I now (at least since yesterday) have a thermostat issue.

I don't actually have thermostats, but I feed in a temperature reading info the nora thermostat node. This worked fine, when you asked google for the temperature in X room, it would respond with "The temperature in room x is y degrees and it is currently off".

Google is no longer responding with this, and is instead saying the device is unavailable. This is weird as if I use the app, I can see the correct temperature reading in it, so it is communicating properly. I wonder have Google changed something?

Here's an example of the response I get, as you can see the temperature is available (and is correct):

Just to point out, that while I can see this in the app, the main use for this is my Google home speakers, which just have the audio response.

Anyone having similar issues? Actually is it still working for anyone else?

Congratulations @andrei-tatar for this great job and disinterested contribution to the community. You'll receive a donation through paypal from me.

Any plans to integrate a door-like node? For open-close actions. It feels very silly in my language to tell to turn on the garage door. I would find logical if one day that door suddently sets on fire. :laughing:

On other side, I've been reading the whole thread and I've seen through the other mates problems with state awareness and action loop.
I would recommend to approach the control services as such, as loosely coupled as possible, and separate each service in a way that you can disable the flow and the house continues to work. I've made mine creating a flow for agnostic message processing, in and out, and storage (has mqtt translation flows before, in a separate node-red instance). It has generic input and output link nodes, that are consumed by the rest of services. For example, the "dashboard" flow has it's widgets connected through links, and the same for the "google integration" flow.
So if dashboard or google sets an action, it flows through the same link to "context" flow where the value is stored and sent. It doesn't matter whats the operator.

I hope I explained myself right. Sorry, but english is not my native language.

Hi folks,

I have a couple questions on how to use this integration, I'm sure they're basic, I just couldn't find an answer.

  1. What is the 'Topic' field for?

  2. Can you use aliases for switches? For example, I can could say: turn on the fan, or turn on the outside fan

Thanks,

I think the open close trait is already implemented for the blinds. But I don't have much spare time... contributions would be greatly appreciated.

topic is a generic node-red concept to identify the source/destination of the messages. It's just appended to the output messages.
Aliases are not used yet.

I'm trying to set up a similar thing with my Node-Red installation. I can inject an artificial temperature using an inject node and -

{"temperature":15}

My temperature arrives as a plain number. How do you format it as per above? Sorry for the newby Node-red question!

In the inject node, select the format JSON and put {"temperature":15} in it
49%20AM

I should clarify, what you've screen-captured is what I'm currently doing to test an input to a node. It's this testing that has established what format the node requires (a JSON object).

I have a 'live' temperature feed that comes from a separate node. The debug just describes it as a number. I need to reformat this number so that the temperature value appears where the '15' is in the screencapture you provided. Then feed that JSON object to the required node.