Вывод всей информации из ответа Яндекса в режиме ивентов
andreypolyak opened this issue · 2 comments
В режиме ивентов компонент отправляет в HA ивент с очень куцей информацией о произнесенном:
{
"command": "9 часов 45 минут",
"text": "9 часов 45 минут"
}
Хотя API яндекса выдает намного больше информации, например, время в структурированном виде, как в этом примере:
{
"command": "9 часов 45 минут",
"markup": {
"dangerous_context": false
},
"nlu": {
"entities": [
{
"tokens": {
"end": 2,
"start": 0
},
"type": "YANDEX.DATETIME",
"value": {
"hour": 9,
"hour_is_relative": false,
"minute": 45,
"minute_is_relative": false
}
}
],
"intents": {},
"tokens": [
"9",
"45"
]
},
"original_utterance": "9 часов 45 минут",
"type": "SimpleUtterance"
}
Было бы здорово, если бы компонент выдавал всю информацию из ответа API. Насколько я понимаю, для этого нужно просто изменить вот эту строку с
self.hass.bus.async_fire('yandex_intent', slots)
на
self.hass.bus.async_fire('yandex_intent', request)
Если нужно, могу сделать PR.
Я специально не стал выводить лишнюю информацию, что не усложнять. Просто так уже менять нельзя - готовые автоматизации у пользователей поломаются.
Может тогда в конфиг добавить возможность выбора возвращать ли дополнительную информацию или нет? По умолчанию оставить как сейчас, а для тех, кто установит флажок, выдавать весь ответ?