Google Assistant Sensors

Having built my 2 different LoRA connected temperature/humidity sensors I was looking for something other than the Graphana instance that shows the trends.

Being able to ask Google Assistant the temperature in a room seemed like a good idea and an excuse to add the relatively new Sensor device type my Google Assistant Bridge for Node-RED.

I’m exposing 2 options for the Sensor to start with, Temperature and Humidity. I might look at adding Air Quality later.

Once the virtual device is setup, you can feed data in the Google Home Graph using a flow similar to the following

The join node is set to combine the 2 incoming MQTT messages into a single object based on their topics. The function node then builds the right payload to pass to the Google Home output node and finally it feeds it through an RBE node just to make sure we only send updates when the data changes.

msg.payload = {
  params: {
    temperatureAmbientCelsius: msg.payload["bedroom/temp"],
    humidityAmbientPercent: Math.round(msg.payload["bedroom/humidity"])
  }
}

4 thoughts on “Google Assistant Sensors”

  1. Hi,
    I have problems with
    1) sensor
    BME280 sensor (named senseur extérieur) with data in node-red sends the proper message to Google Home… The device is present in Google Home… but cannot get the readings. “lis Senseur extérieur” – “excusez-moi ,je ne comprends pas”,
    2) fan..
    “Lights and switches” work fine, could not get the Fan to work. Does “fan” need some translation ? (minimum, moyen, maximum)

    1. Please ask question on the Node-RED Slack or raise issues on GitHub, blog comments really are not the best place to work on problems.

      As for the sensor, you have to ask for the specific sensor reading, not just just the generic sensor state. e.g. if the sensor is in the kitchen and supports temperature and humidity then you would ask “Hey Google, what’s the temperature in the kitchen” not “Hey Google, what is the sensor reading”

      And yes the fan probably needs translations for French, but that should be handled via GitHub

Leave a Reply to hardillb Cancel reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.