LZW36 + HomeAssistant + NabuCasa + Google Assistant

Hi all. I just got my LZW36 wired up and working (as detail in this post). I followed the instructions here and here. I renamed the three devices to Bedroom Fan, Bedroom Light, and Bedroom Both Controls and all three devices are working well. I would like to be able to control the fan/light using voice (via Google Assistant), but if I ask it to control the light it says, “Okay, turning on three devices.” The fan works with out a problem but anything involving the light, also ends up controlling the fan. I tried disabling the device that control both, but that didn’t work (it gave an error message, and then turned on both the light and fan).

I realize this isn’t really a problem with the device or HomeAssistant but with Google Assistant. Does anyone have any ideas for a work around?

That’s odd, I have had voice control working without much of a problem, also with excluding instance 1 (fan/light) from google.

Do you have your you fan’s “light.somename” instance templated as a fan? What I suspect is happening is google sees both as a “light” because of how the entity is classified.

The setup working for me is to expose only the light-only entity to google and the fan template. Fan template below, adjust entity names to fit your setup.

fan:
  - platform: template
    fans:
      bedroom_fan:
        friendly_name: "Bedroom Fan"
        value_template: >
          {% set s = states('light.bedroom_overhead_fan_dimmer_level') %}
          {{ s if s in ['on', 'off'] else 'off' }}
        speed_template: >
          {% set output = ['Low','Medium','High'] %}
          {% set idx = state_attr('light.bedroom_overhead_fan_dimmer_level_fan', 'brightness') | int // 85 - 1 %}
          {{ output[idx] }}
        turn_on:
          service: homeassistant.turn_on
          entity_id: light.bedroom_overhead_fan_dimmer_level
        turn_off:
          service: homeassistant.turn_off
          entity_id: light.bedroom_overhead_fan_dimmer_level
        set_speed:
          service: light.turn_on
          entity_id: light.bedroom_overhead_fan_dimmer_level
          data_template:
            brightness: >
              {% set mapper = {'Low': 85, 'Medium': 170, 'High': 255} %}
              {{ mapper[speed] }}
        speeds:
          - 'Low'
          - 'Medium'
          - 'High'

I can see this as it might be hearing bedroom lights instead of “Bedroom Light”. Google likes to lump things into groups automatically but sometimes does too good of a job. Make sure they are not grouped into a single item in google home app. I’ve had this happen. You want 3 devices in one room, but not 3 devices in one group.

Make sense?

Thank you @doublepedaldylan. I added the template which then gave me a fan.bedroom_fan entity. I excluded two devices so that only light.bedroom_light, and fan.bedroom_fan are synced to Google. I think that should do it, but will test it when I get home tonight from work.

Tested it and it works (mostly)! Now it’s throwing me an error when I ask to adjust the fan speed using the words High/Medium/Low.

slamhead, did you get this fixed? I am having a similar issue. In the Google Home app, it only shows on/off button and doesn’t have the speed settings. Even the on/off isn’t working for me. I can turn off the fan, but the Home app shows Off for a few seconds, then resets to On even though the fan actually stops. I must have an error in my config.yaml fan template, or in my Google Assistant yaml config.

I did not get it fixed.

Don’t have your setup, but with Google Assistant, ST and a Jasco fan switch, I have to use numbers. Try saying set the xxx to 10, 50 or 90 for the low, medium and high settings.