Skip to content

Instantly share code, notes, and snippets.

@xbmcnut
Created February 5, 2019 00:40
Show Gist options
  • Save xbmcnut/e238c00ec929e357e46462675dce3988 to your computer and use it in GitHub Desktop.
Save xbmcnut/e238c00ec929e357e46462675dce3988 to your computer and use it in GitHub Desktop.
Package to allow Google TTS to advise of HA states for key devices. Scripts added directly to Cloud config.
script:
speak_garage_status:
alias: 'Ask Google for Garage Status'
sequence:
- delay:
seconds: 2
- service: tts.google_say
entity_id:
- media_player.kitchen_home
- media_player.insignia_speaker
data_template:
message: >-
The garage door is currently {{states('sensor.garage_status')}}
speak_pool_status:
alias: 'Ask Google for Pool Temperature'
sequence:
- delay:
seconds: 2
- service: tts.google_say
entity_id:
- media_player.kitchen_home
- media_player.insignia_speaker
data_template:
message: >-
The pool temperature is currently {{states('sensor.pool_temperature')}} degrees
## Template takes only the time value in 24hr time ##
speak_next_high_tide:
alias: 'Ask Google for next High Tide time'
sequence:
- delay:
seconds: 2
- service: tts.google_say
entity_id:
- media_player.kitchen_home
- media_player.insignia_speaker
data_template:
message: >-
The next high tide is at {{ as_timestamp(states.sensor.onetaunga_bay_tides.attributes.high_tide_time_utc) | timestamp_custom("%H:%M") }}
@xbmcnut
Copy link
Author

xbmcnut commented Aug 23, 2020

Probably best to post on HA forum as everyone gets to benefit from the solution. Personally, I wouldn't involved IFTTT unless you have no other choice as it will add unnecessary delays.

@kmanan
Copy link

kmanan commented Mar 31, 2023

What do you mean by cloud config? Is this added to the config.yaml? Which files am I editing here?

@xbmcnut
Copy link
Author

xbmcnut commented Mar 31, 2023

What do you mean by cloud config? Is this added to the config.yaml? Which files am I editing here?

In configuration.yaml

## Includes ##
automation: !include automations.yaml
binary_sensor: !include_dir_merge_list binary_sensor
cloud: !include cloud.yaml

That points us to a file in your config folder called cloud.yaml and all code above is in there.

@kmanan
Copy link

kmanan commented Apr 2, 2023

What do you mean by cloud config? Is this added to the config.yaml? Which files am I editing here?

In configuration.yaml

## Includes ##
automation: !include automations.yaml
binary_sensor: !include_dir_merge_list binary_sensor
cloud: !include cloud.yaml

That points us to a file in your config folder called cloud.yaml and all code above is in there.

That's helpful, thank you. Any ideas why I am getting this error:

image

Here's my config.yaml:
image

@kmanan
Copy link

kmanan commented Apr 2, 2023

Since I couldn't add cloud.yaml, pasted the script code in script.yaml.

This what my script.yaml looks like:
script:
speak_last_feed:
alias: 'Ask Google for Last Feed'
sequence:
- delay:
seconds: 2
- service: tts.google_say
entity_id:
- media_player.bedroom_speaker
- media_player.kitchen_speaker
- media_player.living_room_speaker
data_template:
message: >-
The last feed was {{ as_timestamp('sensor.last_feeding')}}

This is what my configuration.yaml looks like

Example configuration.yaml entry

google_assistant:
project_id:
service_account: !include SERVICE_ACCOUNT.JSON
report_state: true
exposed_domains:
- switch
- input_boolean
- input_select
- script
- media_player
- sensor
entity_config:
switch.speak_last_feed:
name: speak_last_feed
aliases:
- Last Feed
-

This is the error I am getting:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment