Чтобы проиллюстрировать пример сценария, который вызвал этот вопрос, примите во внимание следующее:
- Комната чердак, в которой находятся 3 устройства: один источник света, поддерживающий как ColorSpectrum, так и ColorTemperature, один источник света, поддерживающий только ColorTemperature < / em> и один источник света, который поддерживает только ColorSpectrum (все 3 также поддерживают OnOff и Brightness, но это не имеет значения).
- «Установить на чердаке теплый белый цвет» приведет к тому, что два источника света получат значение температуры в Кельвинах, тогда как третий (который не поддерживает ColorTemperature) получит значение цвета rgb / hsv, приблизительно равное правильный оттенок белого.
- И наоборот: «Установить чердак в красный цвет» приведет к тому, что все 3 источника света получат значение цвета rgb / hsv (включая свет, который не поддерживает свойство ColorSpectrum).
Мы не уверены, как источник света, поддерживающий только ColorTemperature, должен реагировать на значение rgb / hsv. Этот последний сценарий - после того, как свет не смог выполнить команду пользователя - оставил нам 3 варианта ответа:
- Ложь и ответь «УСПЕХ» на все 3 лампочки: «Хорошо, меняем 3 лампочки на красный».
- Полностью исключите третий свет из ответа: «Хорошо, меняем 3 световых индикатора на красный».
- Ответьте "notSupported" "ERROR" для третьего индикатора: "Хорошо, замена двух индикаторов на красный. Этот режим недоступен для LIGHT_3".
Вариант 1 явно нежелателен, неверный отзыв хуже, чем его отсутствие.
Вариант 2 эквивалентен 1, хотя кажется странным, что Google Home предполагает, что устройство, не указанное в ответе, было успешно обработано.
Вариант 3 мы также считаем неидеальным, так как мы ожидаем, что пользователю может надоесть слышать, что определенный свет в их комнате не может изменить цвет, когда он, возможно, прекрасно осознает этот факт. Мы бы предпочли ответ: «Хорошо, меняем 2 индикатора на красный». Мы чувствуем, что это ясно показывает, что один индикатор не изменился, без потенциально лишнего сообщения об ошибке.
Итак, наш вопрос: как мы можем это реализовать?
Указанное выше поведение является непреднамеренным (ошибка)?
Есть ли какой-то ответ, о котором мы не знаем, который можно использовать для сообщения Google Home о том, что устройство просто не подходит для указанного выполнения?
Является ли перечисленное выше поведение неприемлемым для других или является результатом ошибки с нашей стороны?
Спасибо за чтение.