Size: a a a

Яндекс.Диалоги (сообщество разработчиков)

2021 June 04

D

DeeZ in Яндекс.Диалоги (сообщество разработчиков)
Добрый день.
Подскажите пожалуйста, у устройства с типом термостат кнопка "вкл" должна как то реагировать на нажатия, отображать состояние?
На скрине, например, состояние
devices.capabilities.on_off
value:false

А при нажатии всегда шлется включение.
источник

MK

Mihail Kuzmin in Яндекс.Диалоги (сообщество разработчиков)
Такое может быть, если в параметрах умения стоит retrievable:false
источник

MK

Mihail Kuzmin in Яндекс.Диалоги (сообщество разработчиков)
То есть кнопка не имеет состояния (как на пульте от телевизора)
источник

D

DeeZ in Яндекс.Диалоги (сообщество разработчиков)
"retrievable":true, стоит
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
Устройство сегодня создано или вчера?
источник

D

DeeZ in Яндекс.Диалоги (сообщество разработчиков)
устройство в процессе создания )  Вот так я отвечаю яндексу

    "devices": [
     {
       "id": "1",
       "capabilities": [
         {
           "type": "devices.capabilities.on_off",
           "state": {
             "instance": "on",
             "value": false
           }
         },
         {
           "type": "devices.capabilities.range",
           "state": {
             "instance": "temperature",
             "value": 25
           }
         }
       ],
       "properties": [
         {
           "type": "devices.properties.float",
           "state": {
             "instance": "temperature",
             "value": 19.94
           }
         }
       ]
     }
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
а жсон ответа на /v1.0/user/devices?
источник

D

DeeZ in Яндекс.Диалоги (сообщество разработчиков)
{
 "request_id": "a932f09f-9e8a-4369-882f-68eb75193d75",
 "payload": {
   "user_id": "1",
   "devices": [
     {
       "id": "0",
       "name": "Свет",
       "description": "Свет в спальне",
       "room": "Спальня",
       "type": "devices.types.light",
       "capabilities": [
         {
           "type": "devices.capabilities.on_off",
           "retrievable": true
         }
       ],
       "properties": []
     },
     {
       "id": "1",
       "name": "Пол",
       "description": "",
       "room": "Балкон",
       "type": "devices.types.thermostat",
       "capabilities": [
         {
           "type": "devices.capabilities.on_off",
           "retrievable": true
         },
         {
           "type": "devices.capabilities.range",
           "parameters": {
             "local": "MEM2",
             "instance": "temperature",
             "range": {
               "min": 15,
               "max": 37
             }
           }
         }
       ],
       "properties": [
         {
           "type": "devices.properties.float",
           "parameters": {
             "local": "DS18B20.TEMPERATURE",
             "instance": "temperature",
             "unit": "unit.celsius"
           }
         }
       ]
     }
   ]
 }
}
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
Спасибо, глянем
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
Это недавно был запрос?
источник

D

DeeZ in Яндекс.Диалоги (сообщество разработчиков)
Вполне возможно что это у меня косяк.  мне бы понять просто где проблема )
Переписываю немного под себя yandex2mqtt (зная js на уровне интуиции).
источник

D

DeeZ in Яндекс.Диалоги (сообщество разработчиков)
это было вот сейчас.  Со вкладки тестирование навыка. последний запрос 986848b7-da63-449b-8c04-c37051459983
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
Сходу вижу две ошибки:
1. Неправильно единицы измерения температуры написаны. Должно быть: unit.temperature.celsius
2. range:temperature вообще же их не имеет в вашем json. Вот пример: https://yandex.ru/dev/dialogs/smart-home/doc/concepts/range-instance.html#range-instance__temperature
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
Скорее всего вы в какой-о из первых раз отправили on_off с retrievable:false, но жсон в целом был верный, а потом сделали с этими ошибками и он не проходит валидацию. Об этом разве неет лог-записей в панели справа?
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
Когда нажимаете кнопку обновления списка устройств
источник

D

DeeZ in Яндекс.Диалоги (сообщество разработчиков)
если json не ваалидный то он просто пишет "что то пошло не так" и справа тишина.
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
невалидный в плане не структуры json-а, а содержимого
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
вам точно должно было выводиться уведомление с ошибкой о неправильном unit как минимум
источник

D

DeeZ in Яндекс.Диалоги (сообщество разработчиков)
похоже так и есть. удалил. сейчас там перключатель, спасибо
источник

J🏠

Jack 🏠 in Яндекс.Диалоги (сообщество разработчиков)
А где вы взяли unit.celsius? Если это из какой-то общей компоненты, то лучше автору сообщить
источник