Метеостанция без метеостанции: различия между версиями
Содержание
Нет описания правки |
Нет описания правки |
||
| Строка 6: | Строка 6: | ||
Как известно, на текущий момент датчики поддерживаются Умным домом Яндекса довольно ограниченно (розетки, увлажнители), при этом их показания не озвучиваются. Как быть? | Как известно, на текущий момент датчики поддерживаются Умным домом Яндекса довольно ограниченно (розетки, увлажнители), при этом их показания не озвучиваются. Как быть? | ||
На помощь приходит Кузя) | На помощь приходит Кузя ;) | ||
| Строка 13: | Строка 13: | ||
Задача решается в несколько несложных действий: | Задача решается в несколько несложных действий: | ||
# На [https://narodmon.ru сайте народного мониторинга] создаём приложение (меню "Софт" > "Приложения для проекта"), | # На [https://narodmon.ru сайте народного мониторинга] создаём '''приложение''' (меню "Софт" > "Приложения для проекта"), | ||
# | # Генерируем и берём оттуда "'''Ключ API'''" (для полной функциональности необходимо подтвердить email-адрес), | ||
# Создаём в Кузе (подробнее см, например, [[https://wiki.yaboard.com/w/Алиса,_Ардуино_и_Blynk_-_делаем_собственное_устройство#.D0.9A.D1.83.D0.B7.D1.8F здесь]]) новое GET-правило с параметрами: | # '''id''' нужного нам датчика (см. иллюстрации ниже). | ||
# Создаём в Кузе (подробнее см, например, [[https://wiki.yaboard.com/w/Алиса,_Ардуино_и_Blynk_-_делаем_собственное_устройство#.D0.9A.D1.83.D0.B7.D1.8F здесь]]) новое '''GET'''-правило с параметрами: | |||
#* Активационная фраза: Давление | #* Активационная фраза: Давление | ||
#* Ответ Алисы: Давление {sensors.0.value} | #* Ответ Алисы: Давление {sensors.0.value} | ||
#* URL: <nowiki>https://narodmon.ru/api?cmd=sensorsValues&sensors=</nowiki>''' | #* URL: <nowiki>https://narodmon.ru/api?cmd=sensorsValues&sensors=</nowiki>'''id_датчика'''&uuid='''произвольный_id'''&api_key='''ключ_API'''<br>где: | ||
#* '''id_датчика - числовой!''' Если в свойствах вашего датчика ID выглядит как S12345, в строке надо указать только 12345! | |||
#* '''произвольный_id''' - любая уникальная строка, лучше всего '''любой md5-хэш''' - и уникально, и не надо мучаться с выбором, и правильно обработается API. | |||
#* '''ключ_API''' - полученный в п.2 ключ. | |||
# Ставим галочку "Ждать ответ от сервера" | # Ставим галочку "Ждать ответ от сервера" | ||
Последним важным шагом вверху страницы сайта Кузи запоминаем или копируем значение "Код для объединения устройств c этими правилами: '''ххххххххххх'''", его потребует навык при первом запуске (чтобы дополнительно убедиться, что именно вы владелец этих правил). | |||
Всё! Теперь говорим Алисе: '''"Запусти навык Домовенок Кузя"'''; а когда навык запустится - '''"Давление"''' (наша активационная фраза) - и получаем информацию с датчика. | Всё! Теперь говорим Алисе: '''"Запусти навык Домовенок Кузя"'''; а когда навык запустится - '''"Давление"''' (наша активационная фраза) - и получаем информацию с датчика. | ||
| Строка 31: | Строка 31: | ||
<gallery> | <gallery> | ||
Файл:Meteo1_sensor_id.jpg |Где взять | Файл:Meteo1_sensor_id.jpg |Где взять id датчика | ||
Файл:Meteo2_rule.jpg |Заполнение правила для Кузи | Файл:Meteo2_rule.jpg |Заполнение правила для Кузи | ||
Файл:Meteo3_exec.jpg |Результат | Файл:Meteo3_exec.jpg |Результат | ||
| Строка 37: | Строка 37: | ||
== | == Возможные ошибки == | ||
=== Совет по отладке === | |||
Если что-то идёт не так, то самый просто способ проверить - это скопировать строку из созданного GET-правила в браузер и открыть её там, как обычный сайт. На странице вы увидите то, что присылает Кузе сервис narodmon, и сможете использовать его для поиска ошибки или улучшения информативности ответа. | |||
Например, строка запуска: | |||
https://narodmon.ru/api?cmd=sensorsValues&sensors=12345&uuid=здесь_md5_хэш&api_key=здесь_API_key | |||
Пример ответа в браузере, когда всё хорошо: | |||
{"sensors":[{"id":12345,"type":1,"value":0.3,"time":1613728808,"changed":1613728808,"trend":0}]} | |||
Пример ответа в браузере, когда всё плохо: | |||
{"error":"UUID_INCORRECT","errno":400} | |||
Теперь об этой и других ошибках подробнее: | |||
=== В браузере выводится сообщение об ошибке === | |||
{"error":"Недопустимое значение id","errno":400} | |||
Скорее всего, вы невнимательно указали датчик вместе с буквенным префиксом (например, S12345). | |||
{"error":"UUID_INCORRECT","errno":400} | |||
Возможно, вы указали слишком короткую строку, или содержащую некорректные символы. | |||
Вернитесь к началу инструкции: мы не зря советовали взять '''хэш md5''', он работает гарантированно, и не требует никаких усилий для его создания. | |||
=== Ошибок нет, датчик передаёт значения, но не озвучивается === | |||
Возможно, ответ в браузере при этом будет выглядеть как {"sensors":[]} | |||
Запрошенный датчик не опубликован (имеет статус приватного на narodmon). Сделайте датчик публичным, или обратитесь к его владельцу, если датчик не ваш (об этом подробнее ниже). | |||
== Улучшения и расширенные возможности == | |||
=== Несколько датчиков в одном запросе === | |||
=== Сценарии === | |||
Версия от 10:13, 19 февраля 2021
Как известно, на текущий момент датчики поддерживаются Умным домом Яндекса довольно ограниченно (розетки, увлажнители), при этом их показания не озвучиваются. Как быть?
На помощь приходит Кузя ;)
Метеостанция с датчиками и Кузей
Задача решается в несколько несложных действий:
- На сайте народного мониторинга создаём приложение (меню "Софт" > "Приложения для проекта"),
- Генерируем и берём оттуда "Ключ API" (для полной функциональности необходимо подтвердить email-адрес),
- id нужного нам датчика (см. иллюстрации ниже).
- Создаём в Кузе (подробнее см, например, [здесь]) новое GET-правило с параметрами:
- Активационная фраза: Давление
- Ответ Алисы: Давление {sensors.0.value}
- URL: https://narodmon.ru/api?cmd=sensorsValues&sensors=id_датчика&uuid=произвольный_id&api_key=ключ_API
где: - id_датчика - числовой! Если в свойствах вашего датчика ID выглядит как S12345, в строке надо указать только 12345!
- произвольный_id - любая уникальная строка, лучше всего любой md5-хэш - и уникально, и не надо мучаться с выбором, и правильно обработается API.
- ключ_API - полученный в п.2 ключ.
- Ставим галочку "Ждать ответ от сервера"
Последним важным шагом вверху страницы сайта Кузи запоминаем или копируем значение "Код для объединения устройств c этими правилами: ххххххххххх", его потребует навык при первом запуске (чтобы дополнительно убедиться, что именно вы владелец этих правил).
Всё! Теперь говорим Алисе: "Запусти навык Домовенок Кузя"; а когда навык запустится - "Давление" (наша активационная фраза) - и получаем информацию с датчика.
-
Где взять id датчика
-
Заполнение правила для Кузи
-
Результат
Возможные ошибки
Совет по отладке
Если что-то идёт не так, то самый просто способ проверить - это скопировать строку из созданного GET-правила в браузер и открыть её там, как обычный сайт. На странице вы увидите то, что присылает Кузе сервис narodmon, и сможете использовать его для поиска ошибки или улучшения информативности ответа.
Например, строка запуска:
https://narodmon.ru/api?cmd=sensorsValues&sensors=12345&uuid=здесь_md5_хэш&api_key=здесь_API_key
Пример ответа в браузере, когда всё хорошо:
{"sensors":[{"id":12345,"type":1,"value":0.3,"time":1613728808,"changed":1613728808,"trend":0}]}
Пример ответа в браузере, когда всё плохо:
{"error":"UUID_INCORRECT","errno":400}
Теперь об этой и других ошибках подробнее:
В браузере выводится сообщение об ошибке
{"error":"Недопустимое значение id","errno":400}
Скорее всего, вы невнимательно указали датчик вместе с буквенным префиксом (например, S12345).
{"error":"UUID_INCORRECT","errno":400}
Возможно, вы указали слишком короткую строку, или содержащую некорректные символы. Вернитесь к началу инструкции: мы не зря советовали взять хэш md5, он работает гарантированно, и не требует никаких усилий для его создания.
Ошибок нет, датчик передаёт значения, но не озвучивается
Возможно, ответ в браузере при этом будет выглядеть как {"sensors":[]}
Запрошенный датчик не опубликован (имеет статус приватного на narodmon). Сделайте датчик публичным, или обратитесь к его владельцу, если датчик не ваш (об этом подробнее ниже).
Улучшения и расширенные возможности
Несколько датчиков в одном запросе
Сценарии
Как упростить запуск навыка? Воспользуемся двумя замечательными возможностями:
- Запуск навыка с немедленным выполнением команды и выходом после неё: "Попроси Домовёнка Кузю Давление";
- Сценарии Умного дома Яндекса, позволяющие назначить различные действия на условные фразы.
-
Пример сценария для запроса температуры
Метеостанция совсем без датчиков?
Разве это возможно? Да, если на народном мониторинге рядом с нужным вам местом уже находятся чьи-то подходящие датчики!
Просто указываете эти датчики в настройках - и готово!
P.S. В основу инструкции легли материалы сайта Домовёнка Кузи и лайфхак из [нашего тг-чата]