u/Brave-Koala

Google Home Automation to run wash cycle overnight on Bosch 800
▲ 2 r/googlehome+1 crossposts

Google Home Automation to run wash cycle overnight on Bosch 800

OK, so I just got a new Bosch Series 800 dishwasher and was pretty disappointed to find out that I have to use an app on my phone to run a delayed wash cycle. We are a Google Home household, so I thought I'd create an automation to take care of this. Not as easy as I thought, but after some work, I got it set up. It was not possible using the Google Home App. I had to create the automation scripts using Google's web-based Home Automation Script Editor tool. Because the Google Home Script Editor does not support a native "delay action" or a "schedule for later tonight" function directly inside a single voice automation, the most effective solution is to use your voice command to turn on a virtual switch (Script #1), which then triggers a time-based automation later (Script #2).

In order for any of this to work, obviously your dishwasher must be connected to your home WiFi and activated in the Home Connect app, and the dishwasher's Remote Start feature must be activated with the Remote Control Level set to Permanent Remote Start.

And before you say anything...yes, I used AI to help me but it still required a lot of tinkering. I apologize for nothing!

Script #1: Queue the Dishwasher using a Virtual Switch

This first script will take your voice command, "run the dishwasher tonight" in my case, and use it to turn on a virtual switch that Script #2 will later check for.

metadata:
  name: Queue Dishwasher Tonight #Name of the script
  description: Turns on the virtual switch when instructed by voice, to queue up tonights programmed cycle, and then acknowledges the command over the Kitchen Speaker.

automations:
  starters:
    - type: assistant.event.OkGoogle #this is the voice command that will initiate the actions below to turn ON the virtual switch
      eventData: query
      is: run the dishwasher tonight

  actions:
    - type: device.command.OnOff #activate the virtual switch, see note in the reddit post below for how to create a virtual switch. 
      devices:
        - Dishwasher Queue - Playground
      on: true
    - type: assistant.command.Broadcast
      message: OK the dishwasher will run tonight at 1 AM. #Google Home response to acknowledge the command was heard. Plays over Kitchen Speaker.
      devices: Kitchen Speaker - Kitchen

Note**:** Before this will work for you, you may need to configure your Google Home account with additional permissions to enable developer features and then create virtual devices. You cannot do this by activating a setting inside the mobile app. Instead, you must register your Google account on the web-based Google Home Developer Console.

Once registered on the developer website, your account unlocks the ability to sync virtual devices directly into your real Google Home mobile app.

Step 1: Initialize Your Developer Project

  1. On a computer, go to the Google Home Developer Console.
  2. Sign in using the exact same Google account you use on your mobile Google Home app.
  3. Click Create a project. Give it a name like My-Home-Testing and click Create.

Step 2: Access the Virtual Device Simulator

Google provides a zero-code web tool specifically for cloud virtual devices called the Google Home Playground.

  1. Go to the Google Home Playground web panel.
  2. Click Sign in with Google and choose your smart home account.
  3. Open your mobile Google Home App, tap the Devices tab, tap the + (Add) button, and select Works with Google.
  4. Search for "Google Home Playground" in the partner list and link it.

Step 3: Spin Up Your Virtual Switch

  1. Return to the web browser on the Google Home Playground Device List panel.
  2. Click the + (Add Device) button.
  3. Set the device type to Switch and name it Dishwasher Queue.
  4. Input Playground in the roomHint field
  5. Click Save.

The virtual switch will then instantly appear in your mobile Google Home App.

Script #2: Run Dishwasher Overnight, if Queued

This is the script that will check if the Virtual Switch was tagged on, and if so, run the dishwasher at your pre-programmed time. I chose 1AM to line up with my energy company's Time of Use plan Super Off Peak window. This script checks every night at 1AM to see if the cycle was queued up to run.

metadata:
  name: Execute Dishwasher At 1AM #Name of the script
  description: Runs the dishwasher at 1 AM if it was queued, then resets the virtual switch.
automations:
  starters: #programmed time to check if the dishwasher was queued, and if it was, then it will execute the dishwasher cycle
    - type: time.schedule
      at: 1:00 AM
  condition:
    type: device.state.OnOff #check Dishwasher Queue virtual switch. If on, then perform the actions below.
    device: Dishwasher Queue - Playground
    state: on
    is: true
  actions:
    # 1. Wake the dishwasher up
    - type: device.command.OnOff
      devices:
        - Dishwasher - Kitchen
      on: true
    # 2. Wait for it to connect to Wi-Fi
    - type: time.delay
      for: 5sec
    # 3. Start the wash cycle
    - type: device.command.StartStop
      devices:
        - Dishwasher - Kitchen
      start: true
    # 4. Clear the Dishwasher Queue virtual switch so that the dishwasher will not run the next night, unless a new voice command is given.
    - type: device.command.OnOff
      devices:
        - Dishwasher Queue - Playground
      on: false

Script #3: Unqueue the Dishwasher (Optional, but Recommended)

I created one more script that allows me to cancel the overnight cycle, if I decide to.

metadata:
  name: UnQueue Dishwasher Tonight #Name of the script
  description: Turns off the virtual switch when instructed by voice, to cancel tonights programmed cycle queue, and then acknowledges the command over the Kitchen Speaker.

automations:
  starters:
    - type: assistant.event.OkGoogle #this is the voice command that will initiate the actions below to turn off the virtual switch
      eventData: query
      is: cancel the dishwasher tonight

  actions:
    - type: device.command.OnOff #deactivate the virtual switch
      devices:
        - Dishwasher Queue - Playground
      on: false
    - type: assistant.command.Broadcast
      message: OK the dishwasher will not run tonight. #Google Home response to acknowledge the command was heard. Plays over Kitchen Speaker.
      devices: Kitchen Speaker - Kitchen

One final note...in addition to Saving the scripts in the Home Automation Script Editor tool, you also need to make sure that Activate is toggled to the on position. Otherwise the script is basically just saved in a draft form.

Hope this helps!

u/Brave-Koala — 13 days ago