Wrong device triggered by google assistant

Hi,

  • “Ok Google turn on airco” works fine
  • “OK Google, turn off airco” triggers another device.

Air conditioner is done via broadlink IR broadcaster (it’s an old aircon). It very very basic - I can only have switch toggle

Heating is done by evohome (I have smart thermostats on all my radiators) - evohome in my house has no air conditionning.

When I trigger google - the “on” order works to trigger my airco device, but the “off” order sets the climate to “off” on the thermostats.

Help please?

# in configuration.yaml
- platform: broadlink
  host: 192.168.86.52
  mac: 34:ea:34:b3:08:31
  switches:
    ac_on_off:
     friendly_name: "Zolder Cooling Machine"
     command_on: "JgBoAAABJJIUNhM2ExETERMQFBATERM2FBAUNRQ2ExETERMQFBATERM2FBATNhQQFBATERMRExETEBQ2ExETEBQQFBATERMRFBATEBMRExETERMRExETEBMRExETERMRExAUEBQQExETAA0F"
     command_off: "JgBoAAABJJIUNhM2ExETERMQFBATERM2FBAUNRQ2ExETERMQFBATERM2FBATNhQQFBATERMRExETEBQ2ExETEBQQFBATERMRFBATEBMRExETERMRExETEBMRExETERMRExAUEBQQExETAA0F"

# in scripts.yaml
# I have an input bolean used to set the status on/off softly so I can run automation on it.  I use it on automation to cool down when too hot but also when I manually trigger from google
'1590664611918':
  alias: Cooling On
  sequence:
  - data: {}
    entity_id: switch.ac_on_off
    service: switch.toggle
  - data: {}
    entity_id: input_boolean.aircostatus
    service: input_boolean.turn_on
'1590667430220':
  alias: Cooling Off
  sequence:
  - data: {}
    entity_id: switch.ac_on_off
    service: switch.toggle
  - data: {}
    entity_id: input_boolean.aircostatus
    service: input_boolean.turn_off

# in automation.yaml
- id: cooling_on_automation
  alias: Cooling On
  description: ''
  trigger:
  - entity_id: input_boolean.airco
    from: 'off'
    platform: state
    to: 'on'
  condition: []
  action:
    entity_id: input_boolean.airco
    service: input_boolean.turn_on
  - data: {}
    service: script.1590664611918
- id: cooling_off_automation
  alias: Cooling Off
  description: ''
  trigger:
  - entity_id: input_boolean.airco
    from: 'on'
    platform: state
    to: 'off'
  condition: []
  action:
  - data: {}
    entity_id: input_boolean.airco
    service: input_boolean.turn_off
  - data: {}
    service: script.1590667430220

Instead of using an automation, use a template switch. Only expose the template switch to google. You’ll still need your scripts for on/off.

switch:
- platform: template
  switches:
    airco:
      friendly_name: Airco
      value_template: "{{ is_state('input_boolean.aircostatus', 'on') }}"
      turn_on:
        service: script.1590664611918
      turn_off:
        service: script.1590667430220

Yep, that worked! Google is still very precious on how I pronounce “airco” but it works. Thanks.

1 Like