0.80: Lovelace updates, webhooks, TRÅDFRI switches

I really love the work that has been done for the webhooks. Just in case anyone is wondering how to use it:

Rugular data:

automation:
  trigger:
    platform: webhook
    webhook_id: test
  action:
    service: logbook.log
    data_template:
      name: testlog
      message: >
        {{ trigger.data.a }}

And call it from Python like this:

import requests
requests.post("http://192.168.1.123:8123/api/webhook/test", data={"a":1})

JSON encoded:

automation:
  trigger:
    platform: webhook
    webhook_id: test
  action:
    service: logbook.log
    data_template:
      name: testlog
      message: >
        {{ trigger.json.a }}

And call it from Python like this:

import requests
import json
requests.post("http://192.168.1.123:8123/api/webhook/test", data=json.dumps({"a":1}), headers={"Content-type":"application/json"})
12 Likes

Same errors occurring here.

Using the new Google Assistant auth, it says in the instructions that you need to “relink your test app” - does this also mean that I lose all of my google assistant settings and need to recreate all my device information in the google assistant app?

Yes you will need to reassign the devices to rooms again once you have re authenticated google assistant using the new setup unless you having been using the entity config value room, which would automatically assign the device.

after update to hassio 0.80.0 I lost posibility to create Automation.
On top of that, I cannot modify via editor those which currently exist, each time screen is empty

2 Likes

I have these (rooms) defined in the configuration file. When I unlink and relink, everything is then automatically in the right rooms.

For immediate relief, check your config directory and see if you still have an automations.yaml. If so, you can break up each of your automations in that file, and cut-n-paste each into a unique named .yaml file in the automations directory. Also, include this line in your configuration.yaml

automation old: !include_dir_merge_list automations

1 Like

That’s not what the Config Validator thinks

project_id: hass-000000
api_key: 000000000000000000000000000000000000
expose_by_default: false
exposed_domains:
  - script
exclude_entities:
  - script.pushbullet
  - script.radio538
  - script.stop_bedroom_music_devices
entity_config:
  switch.bedside_lamp_bar:
    expose: true
    name: Bedside Lamp Bar
    aliases:
     - headboard light
    room: Kev's Bedroom
  script.dab:
    expose: true
    room: Kev's Bedroom

Additionally it’s no longer mentioned in the documentation https://www.home-assistant.io/components/google_assistant/

Cant you just put those three entities in your entity config and state expose: false instead of using exclude?

Can this webhook be used in the flic hub? afraid I don’t know much about webhooks and how to make it work :confused:

evohome component doesn’t work.
The log: Invalid config for [evohome]: expected a dictionary for dictionary value @ data[‘evohome’]. Got [OrderedDict([(‘username’, ‘username’), (‘password’, ‘password’)])]. (See /home/homeassistant/.homeassistant/configuration.yaml, line 231). Please check the docs at https://home-assistant.io/components/evohome/

2 Likes

Not 100% sure what all that means (presumably on the main entity configuration?), but sounds like a no - want them accessible in HASS front end / via the API (through Taskr) but not from Google Assistant (as they either don’t work (Radio538) or aren’t useful)

Additionally, one interesting thing, is that in the updated Google Home app if you try and control one of the aliased devices using the alias (“headboard light”) nothing happens in HASS

I can second this.

Yea so why can’t you do this, all this does is stop it from been exposed to google assistant instead of using exclude entity:

expose_by_default: false
exposed_domains:
  - script

entity_config:
  
  script.pushbullet:
    expose: false

  script.radio583:
    expose: false

  script.stop_bedroom_music_devices:
    expose: false

For those migrating their google assistant component to version 0.80 there is an additional step.

You need to change the fulfillment url under build -> create action and remove the ?api_password part of the url and change it to https://[YOUR HOME ASSISTANT URL:PORT]/api/google_assistant

If you don’t change the url you get 404 error when you try to link the test account.

I’ve had 2 crashes within 6 hours with 0.80.0 for unknown reason.
Anyone else?

Mine won’t start at all after a requested HA restart. I can ssh to the PI but I can’t get HA running anymore.

Hi all,

Should the aqara vibration sensor work on 0.80? The documentation now list it as supported and there’s even a automation example. Unfortunately, mine didn’t show up on interface :-(.

The IFTTT example is not working for me…
I was able to initiate a trigger but can NOT use the data passed in the trigger.

I verified that the data I send appears in the trigger (on the DB table)
but it seems like the trigger additional data can not be parsed within the automation:

Passing the following in IFTTT:

{ "action": "testme","a":"This is A","b":"Something else" }

Automation action:

      - service: notify.mainnotification
        data:
          message: '{{ trigger.event.data.a }}'
          title: '{{ trigger.event.data.b }}'

Log Error:

ServiceCall notify.mainnotification (c:e470d168c107459c9890a499f4ef35eb): message=<homeassistant.helpers.template.Template object at 0x6d647970>, title=<homeassistant.helpers.template.Template object at 0x6d647650>>
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/template.py", line 132, in async_render
    return self._compiled.render(kwargs).strip()
  File "/usr/local/lib/python3.6/site-packages/jinja2/asyncsupport.py", line 76, in render
    return original_render(self, *args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/jinja2/environment.py", line 1008, in render
    return self.environment.handle_exception(exc_info, True)
  File "/usr/local/lib/python3.6/site-packages/jinja2/environment.py", line 780, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.6/site-packages/jinja2/_compat.py", line 37, in reraise
    raise value.with_traceback(tb)
  File "<template>", line 1, in top-level template code
  File "/usr/local/lib/python3.6/site-packages/jinja2/sandbox.py", line 385, in getattr
    value = getattr(obj, attribute)
jinja2.exceptions.UndefinedError: 'trigger' is undefined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/homeassistant/core.py", line 1177, in _event_to_service_call
    await service_handler.func(service_call)
  File "/usr/local/lib/python3.6/site-packages/homeassistant/components/notify/__init__.py", line 106, in async_notify_message
    kwargs[ATTR_TITLE] = title.async_render()
  File "/usr/local/lib/python3.6/site-packages/homeassistant/helpers/template.py", line 134, in async_render
    raise TemplateError(err)
homeassistant.exceptions.TemplateError: UndefinedError: 'trigger' is undefined

After migrating my google assistant component (local) to version 0.80 and re-linking the app in Google-Assistant on my mobile phone, a brief message is displayed on my phone saying something like “successfully linked your [test] application_name”, but the devices do not show up in Google-Assistant. In the list of “Linked Devices” my “[test] application_name” does not show up, but it is on top of the list of “Add new” devices.

I can repeat trying to add the app, it seems to go through with the “successfully linked” message, but it really does not do it.

Any ideas? I tried chrome and firefox on my phone, emptied cache, set up google home on a spare mobile device and retried, etc, but no luck.