Пользовательский навык Alexa в лямбда-вызове / активация устройств в Умном доме в установленное время?
Я пытаюсь создать навык Alexa, чтобы я мог сказать "Алекса, включи свет в 5 утра на 3 часа", и Алекса включит мое световое устройство (устройство lightwaverf, подключенное через домашний навык lightwaveRF) в течение этого времени,
Я очень новичок в разработке Alexa и создал несколько базовых навыков обучения в AWS lambda. Что я хотел бы знать, как это сделать:
1) получить доступ к устройствам "Умный дом" в моем аккаунте из моего пользовательского навыка (т.е. есть ли способ просто отправить Алексе строковое предложение, т. Е. - "Алекса включает кухонный свет")
2) как запланировать это - то есть я могу использовать setTimeout() или setInterval и т. Д., Чтобы продолжать работать в фоновом режиме в лямбде, чтобы затем включить свет в нужное время.
На данный момент навык, который я создал, создал собственный навык, который принимает время и продолжительность, так как домашние навыки не дают вам этого контроля над диалогом.
Большое спасибо заранее за любую помощь / вклад вообще,
1 ответ
Умный дом не дает вам никакого контроля над тем, что может сказать пользователь. Он может указывать только имя и тип устройства.
Чтобы указать, что пользователь может сказать, требуется пользовательский навык, и пользователь должен вызывать его с помощью фразы вызова навыка (имя навыка).
Я не думаю, что пользовательский навык может напрямую общаться с умным домом. Однако я создал умный умный дом и пользовательский навык, которые используют одни и те же данные, хранящиеся на устройстве. Это позволяет пользовательскому навыку указывать и обновлять параметры, используемые умным домом. Таким образом, пользовательский навык может косвенно общаться с умным домом. Данные могут также храниться и передаваться через DynamoDB, например.