AlexxIT / YandexDialogs

Компонент для управления Home Assistant через Яндекс.Диалоги
https://t.me/AlexxIT_SmartHome
141 stars 10 forks source link

Событие yandex_intent триггерится с неверным интентом #19

Open c1tru55 opened 1 year ago

c1tru55 commented 1 year ago

есть кастомный навык и интент для него:

# tv_search
root:
    %lemma
    [найди на телевизоре $room $text]
    [поищи на телевизоре $room $text]

slots:
    room:
        type: Room
        source: $room               
    text:
        source: $text

$room:
    $Room

$text:
    .+

в результате посылается запрос вида:

Request:
{
  "request": {
    "command": "найти на телевизоре в гостиной аватар",
    "original_utterance": "найти на телевизоре в гостиной аватар",
    "nlu": {
      "tokens": [
        "найти",
        "на",
        "телевизоре",
        "в",
        "гостиной",
        "аватар"
      ],
      "entities": [],
      "intents": {
        "YANDEX.BOOK.SEARCH": {
          "slots": {
            "book": {
              "type": "string",
              "tokens": {
                "start": 1,
                "end": 6
              },
              "value": "на телевизоре в гостиной аватар"
            }
          }
        },
        "tv_search": {
          "slots": {
            "text": {
              "type": "YANDEX.STRING",
              "tokens": {
                "start": 5,
                "end": 6
              },
              "value": "аватар"
            },
            "room": {
              "type": "Room",
              "tokens": {
                "start": 3,
                "end": 5
              },
              "value": "livingroom"
            }
          }
        }
      }

но в HA генерится событие только с первым интентом (не моим):

event_type: yandex_intent
data:
  text: найди на телевизоре в гостиной аватар
  command: найди на телевизоре в гостиной аватар
  intent: YANDEX.BOOK.SEARCH
  book: на телевизоре в гостиной аватар
origin: LOCAL
time_fired: "2023-02-18T19:15:48.225861+00:00"
context:
  id: 01GSJZ8CW12AWWDJ8RTK3XQRP1
  parent_id: null
  user_id: null

проблема в этой строчке: https://github.com/AlexxIT/YandexDialogs/blob/171a30dfaa5d86ce8157f925ea01b8f90975ad14/custom_components/yandex_dialogs/__init__.py#L142

AlexxIT commented 1 year ago

Предлагаете два события создавать?