Я создал систему домашней автоматизации, которая контролирует мои 3 зоны нагрева, горячую воду, некоторые источники света, полив теплиц и т. Д. Это бэкенд на питоне, интерфейс apache / web и т. Д.
Я занимался интеграцией с alexa, она отлично работает и все работает, но немного неэффективно. Я использовал Flask-ask на заднем конце Raspberry Pi.
На данный момент у каждого устройства / зоны есть номер зоны, и его можно увеличить на определенное количество минут при определенной температуре (если это зона нагрева)
Диалог имеет вид: (мое имя вызова «контроль»), проверьте www.totalcontrol9000.co.uk, если вам интересно .... У меня есть только один в моем доме и друзья получил один.
Я: "Алекса, спроси контроль"
Алекса: «Добро пожаловать, вы можете увеличить зону, отменить повышение или запросить текущую температуру».
me: «пожалуйста, увеличьте зону 3 на 30 минут при 21 градусе».
Алекса: «Вы просили увеличить основную жилую зону на 30
минут при 21 градусе, это правильно? "
я: "Да"
Алекса: «ваш импульс активирован, до свидания.»
Так что все это отлично работает ... но довольно многословно, и мне нужно запомнить номера зон. Я мог бы урезать слова, но на самом деле я хотел настроить некоторые стандартные / предустановленные команды повышения.
Например, когда я прихожу с работы и в доме холодно, я всегда просто на час повышаюсь в зоне 1 при 20 градусах ...
У меня вопрос, как я могу установить новое намерение, которое передает значения слотов по умолчанию .... например:
Я: «Алекса - спроси контроль».
Алекса: "Добро пожаловать ......"
Я: " Холодно " (это новое намерение, которое вызывает ту же функцию в моем коде, что и команда полного ускорения выше)
Алекса: «Вы просили увеличить основную жилую зону на 60 минут при 20 градусах, это правильно?»
Я не могу найти способ установить значения слотов по умолчанию в высказывании. (intent = "Cold", интервал зоны = 1, интервал времени = 20, интервал длительности = 60)
Я мог бы написать новую функцию на бэкэнде, но я бы предпочел иметь возможность создавать новые функции, которые будут вставлять в существующую функцию в коде непосредственно с конца alexa, тогда у меня было бы гораздо больше гибкости. я мог бы просто сказать «поливать зеленый дом», «мне нужна горячая вода», «в саду слишком темно» и т. д., чтобы усилить различные зоны в течение разных периодов.
большое спасибо за любую информацию.
G