cancel
Showing results for 
Search instead for 
Did you mean: 

Script Editor: Share your ideas and vote on others' ideas!

Prafulla
Googler
Googler

We built the Google Home script editor to give you more control over your home automations (announcement post). We are still in the early days of the script editor, and we highly value feedback and ideas from our community to shape its future.

You can use this post to:

  • Share ideas that will help you build your next scripted automation
  • Vote on other people's ideas by clicking the "Kudos" button next to the idea

 

How do I submit an idea? Can I submit more than one idea?

To submit an idea, simply click the "Reply" button below this post and add your idea in the following format:

  • Idea: Weather as a starter 
  • Example automation: If it's about to rain today, remind me to carry my umbrella.

We encourage you to submit as many ideas as you like, but please use one comment per idea so that it's easy for others to vote on your ideas.

 

How do I vote for an idea? Can I vote on more than one idea?

To vote for an idea, simply click the "Kudos" button next to the idea that helps you with your use case. Please use your votes thoughtfully so that we can clearly understand what matters to you the most.

 

Will my idea be implemented? Will the top-voted idea be implemented?

We will do our best to prioritize what is important across our entire community and look at feedback across many channels throughout the product cycle. We will very actively use your feedback in our prioritization exercise, but cannot make any guarantees or promises that you'll see your idea/feedback implemented into the product. That said, we will do our best to address the pain points and problems our community is trying to solve.

 

We look forward to hearing your ideas!

Prafulla Rawal, Senior Product Manager, Google Home

 

1 Recommended Answer

Prafulla
Googler
Googler

Hi everyone,

First of all, a huge thank you for your feedback and ideas!  The engagement here has truly exceeded our expectations, and we couldn't be more grateful for your participation.

 

As mentioned above, we cannot make any guarantees or promises that we will implement every idea, but we are actively considering all of this feedback as we prioritize future development.

 

In the meantime, we encourage you to keep sharing your ideas and upvoting the ideas of others.

 

Thank you again for your time and input.

Prafulla Rawal, Senior Product Manager, Google Home

 

View Recommended Answer in original post

382 REPLIES 382

Outside of the script editor this could be used to set the Home / Away state aswell

HatemAbidi
Community Member

Idea: Condition per action
Example automation: I want to valid a condition right before executing a delayed action, the current solution will only valid the condition at the trigger time.
Possible structure: We can add a condition attribute for each action

actions:
- type: time.delay
  for: 30min
- type: device.command.OnOff
 
devices: Light A - Living Room
 
on: true
  condition: # Optional
    type: # Your condition

 

I was looking for this one too. I want to implement auto-off for some switches and lights.

Edit: my use case for auto-off is already supported by using "for" in the starter.

 

sven25
Community Member

Idea: Conditions applying only to certain actions

Example automation: when leaving home, say goodbye to Google, which turns off all the lights (except in the hallway). In case any window is still open (via Aqara window sensors), send a broadcast message to Nest Hub to remind to close the window (maybe even naming the respective window)

Hi sven25, we already suggested this idea above, can you please vote on it.
idea name: Condition per action

Thanks for the hint, obviously I was typing too slowly. 😉 Anyway, I have voted for the post above.

HatemAbidi
Community Member

Idea: Trigger routine from other routines
Example automation: I have a routine that will reset all lights (brightness, color then status) and I want to trigger that routine from other routines
Possible structure: We already have the command

assistant.command.OkGoogle

We can add another optional field to specify the routine

actions:
- type: assistant.command.OkGoogle
 
devices: My Speaker - Room Name
  routine: Reset lights # optional
 

This feature will solve many other issues like the Condition per action, and it will reduce the complexity of writing routines, since we can create reusable routines.

Possible complexity: Infinite reference loop, where a routine A trigger a routine B that will trigger the routine A again.

you may add trigger by use virtual switch in Google Home Playground. For example, you have starter of listen to 'make my coffee', then you can add extra trigger by 'onoff of a virtual switch'

Mwareman
Community Member

Hello:

It would be useful to have connecting to home Wifi as a starter. For example:

when my phone connects to the Google Wifi turn on certain light(s)

then after 30 minutes delay turn light(s) off

 

Mike

 

Hi @Mwareman - May I request you to add this to our ideas post so that other members can vote on it too? Thanks for sharing.

David_K
Platinum Product Expert
Platinum Product Expert

I merged the idea over to the post you referenced 🙂

nathanperkins
Community Member

Idea: Reference device groups instead of individual devices in starters and actions.

How:

Some custom device groups could be created by the operator based on their needs.

  • All lights in the table chandelier.
  • All outlets controlling TV and consoles in child rooms.

Some device groups should be provided automatically based on their type and location.

  • All lights in the house
  • All lights in a specific room (Living Room, Kitchen, etc).
  • All outlets (house and room groups).
  • All motion sensors (house and room groups).
  • Etc.

Why:

It's tedious and error-prone to add all devices to an automation individually, especially light bulbs. Introducing a new device to the house means having to review all existing scripts and add to the appropriate device lists.

This enhancement would improve the experience of writing and maintaining any automation which applies to many devices.

Example automation:

  • Turn off all lights in the house when all household members have left.
  • Turn off all lights in a room when that room is not occupied.
  • Text the home owner when any contact sensor or motion sensor is tripped while all household members are away.

Thank you for the idea @nathanperkins. Note that the dynamic room level lighting groups are already supported. You can select all lights of a room using auto-complete. These dynamic light groups get auto-updated when you add / remove lights from a room.

Hi Prafulla,

I don't see the dynamic groups you're talking about. When I type in a room name in devices, I see an auto-complete option for each of the individual devices in that room, but I don't have a way to specify that the script should target all of the lights in a room. So, if I add each of the individual devices to my script, then I introduce a new device in that room, it doesn't seem like my script is going to automatically update to include the new room device.

I want to be able to do something like:

```

devices:
- Kitchen lights
- Living Room lights
```

Or

```
devices:

- All lights
```

Which would automatically include any new devices added to the rooms or the house.

Instead of

```
devices:

- Living Room Light 1
- Living Room Light 2
- Living Room Light 3
- Kitchen Light 1
- Kitchen Light 2
- Kitchen Light 3
```

 

Which I would have to actively maintain whenever a new device is introduced to the house.

If that kind of functionality is already possible, I'd suggest some UI/UX improvements to make it more discoverable.

Thanks for validating @nathanperkins - Looks like this is currently not available. We are investigating this and will update this thread soon.

One way to implement this on all the lights in a room would be to set a command as a an action. Make your command "Turn on all the Kitchen lights". Then when new lights get added to the group, it will toggle all of them:

actions:
- type: assistant.command.OkGoogle
 
devices: My Speaker - Room Name
 
okGoogle: Turn on all the Kitchen lights

Google allows speakers to be grouped and the group is manageable.  I see this request as an extension to this existing grouping ability.  The ability to group devices and keep the settings synchronised among the group would be very helpful.

Cathal_S
Gold Product Expert
Gold Product Expert

Idea:

Facial recognition automations.

 

Example:

  • Broadcast, Hello (face recognized)
  • Adjust heating and lights to your custom preference.
  • Play preferred playlist if it's before 11pm
  • Advise about new shows or episodes that you are subscribed to.
  • Tell you about your schedule for the next day so you can prepare food or, clothes and set alarms.

 

Regards,
Cathal

aldi4swag
Community Member

Idea: Add a possibility to check conditions with a time delay

Example automation:

  • Starter: Window XY is being opened
  • Condition (executed i.e. after 30 minutes) : Window is still open
  • any action

 

 

Hi aldi4swag, we already suggested this idea above, can you please vote on it.
idea name: Condition per action

you can add a 'for' in your starter

nathanperkins
Community Member

Idea: look at script in read-only mode when the routine is started.

Why:

Right now, if the routine is started, then you try to open the script, it says you can stop the routine or go back. It doesn't let you look at the script or copy paste content from it.

I'd like to be able to look at the script in read-only mode and copy content from it.

nathanperkins
Community Member

Idea: Refer to starter (triggered) device in actions.

Why:

Allows writing a single automation definition which can perform a delayed action on whichever device was triggered.

Example:

```

automations:
  starters:
  - type: device.state.OnOff
    state: on
    is: true
    for: 5min
    devices:
    - Device 1
    - Device 2
    - Device 3

actions:
- type: device.command.OnOff
  on: false
  devices: <Triggered Device>

```

If Device 1 is left on for five minutes, then it will perform the defined action on only Device 1.

 

That's the same idea I had in mind when posting my reply. But I really like the "for" option you suggested

If you're talking about the "for: 5min", it's already a supported feature.

Ryan_A
Community Member

Idea: The ability to loop / repeat actions for x iterations or between times
Example automation: Animating your lighting during the holidays or parties. Some light manufacturers have this ability built-in; however, some do not. Also sometimes we have lights from multiple manufacturers and we want to generate a cohesive light sequence. 

Ryan_A
Community Member

Idea: Randomization of values based on simple math or randomized selection from an array of devices or other data.
Example automation: Animating your lighting during the holidays or parties. Randomization will allow us to randomly select a light from the array and then randomly select the color it will display from another array of desired color names/values, or use simple math to randomize RGB values.

Ryan_A
Community Member

Idea: Get the details about a device (on/off, color, brightness) and react to or store that data for later use.
Example automation: Simple light manipulation when a camera sees movement at night. Get the status of the lights, if off then turn them on and set the max brightness, in a specific color. Wait 1 minute then set the lights back to their original states.

3oris
Community Member

Idea: Be able to query Assistant in a condition and evaluate the result.

Example:

 

metadata:
  name: Check daily
  description: Toggle a device based on Assistant query condition

automations:
  starters:
    - type: time
      at: 07:00

  condition:
    type: assistant.query.OkGoogle
    queryData: "Do I have an appointmet today?"
    answer: startsWith("Yes")

 

 

brambe
Community Member
  • Idea: Person Detection with the doorbells
  • Example automation: A person walks up to your door at night and it triggers the lights to turn on without them having to push the button to do so first like it is now.

Person detection with ANY camera that has that function, like the Nest Cameras, would be my preference.

Cathal_S
Gold Product Expert
Gold Product Expert

Motion detection from Nest cameras is definitely in the pipeline.

Hopefully they include the other types of detection from Nest cameras and also familiar faces would be cool.

 

 

Regards,
Cathal

jlbayle03
Community Member

Hello

 

I just begin to test script editor. Very interesting...

One problem with "device.state.TemperatureControl"

with all google compatible tuya thermometers (found) with this trigger

  starters:
- type: device.state.TemperatureControl
state: temperatureAmbientCelsius
lessThan: 18.5C
device: Frigo Bar - Controle Froid

is refused with message "device.state.TemperatureControl" an unknown name type?

Have you an idea with?

About proposition I think interesting to allow to save e list of actions inside an specific object (for example turn on all first floor lights) and allow to reuse this object inside another script directly. So you can reuse this list of actions without need to re enter all devices and all actions

Hi @jlbayle03 - This is an idea thread to collect ideas from the community. Can I request you to start a new thread in the automation forum with this questions so that our community experts can help you directly? 

Neston
Community Member

Idea: Support adaptive lighting, i.e.,

  • apply actions to lights (adjusting brightness and color temperature) with an "on" starter BEFORE they turn on to avoid flickering
  • allow a slow (e.g., 1min) brightness and color temperature transition/fade when the lights are already on and the change is triggered by a schedule (so that the change is not so noticeable)

Context: I think that adaptive lighting (automatically adjusting brightness and color temperature for lights throughout the day to simulate the circadian rhythm) should be supported natively and not reserved for users capable of writing scripts.

However, to at least be able to get close to a functionality like in Apple HomeKit ("adaptive lighting") or Phlips Hue ("time-based light" lab or "natural light" scene), actions to lights should be applied before they turn on when device.state.OnOff is used as a starter.

Otherwise, if a light is turned off during the day with maximum brightness, it still turns on with maximum brightness at night (for a second or so) even if a routine is supposed to set it to minimum brightness immediately.

I understand this would only be possible when something within the Home ecosystem triggers the light to be turned on (e.g., through the Home app, a voice command, or a connected switch) so that the command can be adjusted by the script rules (adjusting brightness and color temperature) before actually turning on the light. At least in those circumstances it should be possible (the existing behaviour is fine for triggers outside of the ecosystem, e.g., switches not connected to Home but directly to the bulbs).

Spraggle
Community Member

Idea: More Complex scheduler 

Details: the current scheduler can only trigger events in a single 7 day week. Real life is often more complicated than that. My frustrating situation is that I've got 4 different bins that are on 4 different schedules.

One is weekly, two are bi-weekly (but on different weeks) and one is monthly. There is currently no way of dealing with this.

The alternate way of dealing with this is less intuitive, but allowing for an integration with Google Calendar would allow for other more difficult schedules that even a new scheduler couldn't deal with.

Until recently l, I used IFTTT to achieve this, but with its restrictions going down to 2 integrations, it won't work for me any more.

ThierryGuy
Community Member

Idea: condition block will be an answer of the user to assistance's question

example: I want every day at 11pm, automation will close my balcony shutter. but sometimes, there are events that should stop this event, for example, if I have visitors, I would like assistance to approach with the question, if she needs to close the shutter today, the answer will be a condition block.

ex: assistance  "Should I close the balcony shutter?" ; User: "no, I have visitors"

jgolliher
Community Member

Idea: Alarm (and time offset) as a trigger

Example Automation: Gradually turn on my bedroom lights 30 minutes prior to my alarm going off.