Dialogflow configuration

Hi, I am trying to integrate Dialogflow with my HA, but don’t know how to debug it.

I have dialogflow integration and webhooks reaching my Home Assistant. I can see in the log:

2019-10-05 16:41:39 WARNING (MainThread) [homeassistant.components.dialogflow] Unknown intent nazwa_akcji_xx

Which results in:

“This intent is not yet configured within Home Assistant.”

returned from HA to DialogFlow.

my intent_scripts.yaml is inclueded from main file and contains:

nazwa_akcji_xx:
  speech:
    text: I don't know how to handle it yet {{ location }}
  action:
    service: tts.google_translate_say
    data:
      language: pl
      message: Z google przyszlo {{ location }}

So what’s wrong?

UPDATE: awwwright, fixed it. If anyone cares I can update web docs with proper config info.

One more thing, though. How do I get arguments from intents? {{ location }} desont’ work, although such argument exists in intent.

1 Like

Hello,
I’m struggling in setting up dialogflow ( with api v2) in my homeassistant and google home, could you share your scripts, intents ( if used), automation?
It’s not clear what I should put in parameter/entity/value in dialogflow settings…

My goal is something similar:
Me: okay google, what’s the temperature in the living room?
GH: it’s 20°C
better if :
Me: okay google, what’s the temperature in [[room]] ?
GH: the temperature in [[room]] 20°C

EDIT:
after breaking the heaven I realized that I was missing on HA: settings->integration-> + -> dialogflow

1 Like

I’ve written you an email, but since it was from noreply it bumped. Anyway - here’s copy paste without attachment, obviously… Give me any contact to you to get pdfs.

Hmmm… It will be quite hard to explain dialogflow, but I’ll try it when I login again there. Meanwhile here is example of vacuuming

  1. be sure to use haas,io plugin (unless you have public IP and ports forwarded accordingly)

  2. In your configuration.yaml include:

dialogflow:
intent_script: !include intent_scripts.yaml

  1. In my intent_scripts.yaml I have a few of these entries
clean_area:
  action: # obiekt action to tablica, zaawierajaca obiekty z polami "data" i "service"
  - data_template:
      entity_id: >
            {% if (location== "the living room") %}
              script.vacuum_living_room
            {% elif (location== "master bedroom") %}
              script.vacuum_bedroom
            {% elif (location== "ann's bedroom") %}
              script.vacuum_lenas_bedroom
            {% elif (location== "john's bedroom") %}
              script.vacuum_igors_bedroom
            {% elif (location== "bathroom") %}
              script.vacuum_bathroom
            {% elif (location== "small bathroom") %}
              script.vacuum_small_bathroom
            {% elif (location== "corridor") %}
              script.vacuum_corridor
            {% endif %}
    service: script.turn_on
  1. in scripts I gave vacuum_living_room that is used in 3)
vacuum_living_room:
  alias: Vacuum living room
  sequence:
  - data:
      entity_id: vacuum.xiaomi_vacuum_cleaner
      repeats: '1'
      zone: [[17909,30445,24417,35688]]
    service: vacuum.xiaomi_clean_zone
  1. as for intents, which you require - do find some tutorial, as I don’t feel competent enough to give all details.You have to supply your webhook in fulfilment section of dialog flow console, for sure. Then when you have your intents ready, observe what do you get in Home Assistan log. You should set content-type in fullfilment to json.

  2. intents are complicated to explain, but easy when you learn them. For my vacuuming I have “clean” and “clean area” intents. Plus “location_confession” intent that can create a context for “clean” intent. So it works in 3 possible ways"

a) “please clean the living room” (uses clean_area intent)
b) “I’m in the living room” (uses location_confession intent that has location_context as output - defined on top of page in output context) “plase clean this mess” (uses clean intent plus existing Location_context that holds “living room”)
c) “clean here” (uses clean intent, but doesn’t have location_context so it asks “where?” - you define it in “actions and parameters” section)

I’m attaching screenshots in pdf, maybe they will help?

2 Likes

Ok thanks, I figured out something and fixed accordingly, but…
I need every time to say, "Ok google talk to my testing app " then “what’s the temperature” how can I short it? or do you use alexa.

I have installed on docker , I have apublic ip, certificate from let’sencrypt.

your tips are fine, don’t bother on screenshot, many thanks again!

Unfortunately you have to “talk to my app” first, which sucks. But at least you talk to it until you tell it you want to stop.

You can use implicit intents and say something like: Hey google ask “my app” to do something. This will execute the intent “something” directly. I have a pretty detailed project here (LMS Controls) that makes a lot of use of dialogflow (GoogleHome), intents, passing variables and controlling logitech mediaserver. The GitHub for the project also contains all the scripts and the dialogflow project.

Hello There,

I do have the same problem. How did you fix it? any advice would be of great help.

Thanks, Chinnasamy