#iot #google-home #google-smart-home
Вопрос:
Вступление:
- был создан проект Google Умный дом
- был настроен прокси — сервер через ngrok для перенаправления запроса Google на мой локальный компьютер
Я разрабатываю проект интернета вещей, который имеет возможность открывать/закрывать блокировку. Мне нужно внедрить интеграцию с Google, чтобы использовать Google Assistant для управления блокировками пользователей. Я внедрил сервер OAuth для Google. Также я внедрил некоторые контроллеры для обработки намерений действий Google: SYNC
, QUERY
и EXECUTE
. Google отправляет запрос с целью СИНХРОНИЗАЦИИ, и приложение отвечает полезной нагрузкой, содержащей список устройств с определенными настройками. Пример:
{
requestId: 'requestIdOfGoogle', // contains in the request body
payload: {
agentUserId: 'userId123', // matches user id inside app system
devices: [
{
id: 1,
type: 'action.devices.types.LOCK', // device type
traits: ['action.devices.traits.LockUnlock'], // feature that has a device
name: {
name: 'Kos Lock'
},
willReportState: true,
roomHint: 'Main Door',
deviceInfo: { // Test data
manufacturer: 'smart-home-inc',
model: 'hs1234',
hwVersion: '3.2',
swVersion: '11.4'
}
}
]
}
}
Затем Google отправляет запросы на мой сервер с QUERY
намерением получить информацию о состоянии устройства, экземпляра
{
requestId: 'requestIdOfGoogle', // contains in the request body
payload: {
devices: {
1: {
status: 'SUCCESS',
online: true,
isLocked: true,
// isJammed - Boolean. Whether the device is currently jammed and therefore its
// locked state cannot be determined.
isJammed: false
}
}
}
}
Но после отправки ответа тестовая блокировка не настроена, и пользователь не может управлять ею с помощью Google Assistant.
введите описание изображения здесь
Я пытался добавить другие черты для блокировки, но это мне не помогло. Также у меня такая же проблема, когда я пытаюсь настроить дверное устройство. Но когда я отправляю в Google Light
устройство, оно успешно работает. Когда вы используете эту LockUnlock
функцию, Google Doc рекомендует настроить дополнительную проверку пользователя, но это необязательно.
Я не понимаю, что делаю неправильно. Если кто-то столкнулся с такой проблемой и решил ее, то не могли бы вы мне помочь, пожалуйста
Предпосылки:
- используйте узел ^14.0.0
- язык программирования —
js
Комментарии:
1. Похоже, что он правильно отображается в приложении. Голосовые команды не работают?
2. Голосовые команды работают. Но я хочу реализовать сенсорное управление из приложения Google Home. Возможно, мне нужно изучить «как настроить приложение Google Home» на стороне пользователя. И это поможет мне решить мою проблему. Но я не уверен. Спасибо, я продолжу свои исследования
Ответ №1:
Сенсорное управление поддерживается не для каждого устройства, а замки не относятся к типу устройств, которыми можно управлять напрямую. Но они все равно будут реагировать на голосовые команды.
Комментарии:
1. Я исследовал стороннее приложение Йельского университета, в котором есть функция блокировки/разблокировки блокировки. Это приложение имеет сенсорное управление для выполнения команды блокировки/разблокировки. Но возможно, приложение Yale зарегистрировало пользовательское устройство с таким же значком блокировки и добавило функцию управления блокировкой из приложения Google Home. Я думаю, что мне нужно исследовать этот способ — зарегистрировать пользовательский тип устройства
2. Это сторонняя компания, которая будет чем-то, что Йель может сделать для своих собственных устройств в своем собственном приложении, но отличается от приложения Google Home.