Перейти к содержанию

Метеостанция без метеостанции: различия между версиями

Материал из Wiki yaboard
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
{{metadesc|{{PAGENAME}} | Метеостанция с Алисой без датчиков }}
{{metadesc|{{PAGENAME}} | Метеостанция по всему свету с Алисой без датчиков }}
__NOEDITSECTION__
__NOEDITSECTION__
__TOC__
__TOC__
Строка 24: Строка 24:
#*# '''ключ_API''' - полученный в п.2 ключ.
#*# '''ключ_API''' - полученный в п.2 ключ.
# Ставим галочку "Ждать ответ от сервера"
# Ставим галочку "Ждать ответ от сервера"
# Вверху страницы сайта Кузи запоминаем/копируем значение "Код для объединения устройств c этими правилами: '''ххххххххххх'''" (его потребует навык при первом запуске, чтобы убедиться, что вы владелец правил).
# Вверху страницы сайта Кузи запоминаем/копируем значение "Код для объединения устройств c этими правилами: '''ххххххххххх'''" (его потребует навык при первом запуске, чтобы убедиться, что вы владелец правил). Подтвердить надо будет для каждого устройства отдельно (смартфон, ПК итд), кроме колонок.


Всё! Теперь говорим Алисе: '''"Запусти навык Домовенок Кузя"'''; а когда навык запустится - '''"Давление"''' (наша активационная фраза) - и получаем информацию с датчика.
Всё! Теперь говорим Алисе: '''"Запусти навык Домовенок Кузя"'''; а когда навык запустится - '''"Давление"''' (наша активационная фраза) - и получаем информацию с датчика.
Строка 30: Строка 30:


<gallery>
<gallery>
Файл:Meteo1_sensor_id.jpg |Где взять id датчика
Файл:Meteo1_sensor_id.jpg | Где взять id датчика на narodmon.ru
Файл:Meteo2_rule.jpg |Заполнение правила для Кузи
Файл:Meteo2-1-kuzia-get-params.jpg | Заполнение правила на alexstar.ru
Файл:Meteo3_exec.jpg |Результат
Файл:Meteo2-2-kuzia-site-and-code.PNG | Код для объединения устройств
Файл:Meteo2-3-kuzia-pairing-code.PNG | Пример ввода на ПК
Файл:Meteo3_exec.jpg | Наслаждаемся результатом
</gallery>
</gallery>


== Для самых ленивых ==
== Для самых ленивых ==
Строка 110: Строка 113:




Разве это возможно? Да, если на народном мониторинге рядом с нужным вам местом уже находятся чьи-то подходящие датчики!  
Разве это возможно? Да, если на народном мониторинге рядом с нужным вам местом уже находятся чьи-то подходящие датчики! Просто укажите эти датчики в настройках - и можно получать оперативную сводку о погоде.


Просто указываете эти датчики в настройках - и готово!  
Что особенно интересно - можно собирать датчики из любых городов! И собрать целую коллекцию метеосводок)


  P.S. В основу инструкции легли материалы сайта [//alexstar.ru Домовёнка Кузи] и лайфхак из [[//t.me/station_yandex нашего тг-чата]]
  P.S. В основу инструкции легли материалы сайта [//alexstar.ru Домовёнка Кузи], личный опыт и лайфхак из [//t.me/station_yandex нашего тг-чата].




[[Category:Умный дом]]
[[Category:Умный дом]]

Версия от 14:21, 19 февраля 2021


Как известно, на текущий момент датчики поддерживаются Умным домом Яндекса довольно ограниченно (розетки, увлажнители), при этом их показания не озвучиваются. Как быть?

На помощь приходит Кузя ;)

Метеостанция с датчиками и Кузей

Задача решается в несколько несложных действий:

  1. На сайте народного мониторинга создаём приложение (меню "Софт" > "Приложения для проекта"),
  2. Генерируем и берём оттуда "Ключ API" (для полной функциональности необходимо подтвердить email-адрес),
  3. id нужного нам датчика (см. иллюстрации ниже).
  4. Создаём в Кузе (подробнее см, например, [здесь]) новое GET-правило с параметрами:
    • Активационная фраза: Давление
    • Ответ Кузи: Давление {sensors.0.value} (обратите внимание, именно 0, а не id датчика!)
    • URL: https://narodmon.ru/api?cmd=sensorsValues&sensors=id_датчика&uuid=произвольный_id&api_key=ключ_API
      где:
      1. id_датчика - числовой! Если в свойствах вашего датчика ID выглядит как S12345, в строке надо указать только 12345!
      2. произвольный_id - любая уникальная строка, лучше всего любой md5-хэш - и уникально, и не надо мучаться с выбором, и правильно обработается API.
      3. ключ_API - полученный в п.2 ключ.
  5. Ставим галочку "Ждать ответ от сервера"
  6. Вверху страницы сайта Кузи запоминаем/копируем значение "Код для объединения устройств c этими правилами: ххххххххххх" (его потребует навык при первом запуске, чтобы убедиться, что вы владелец правил). Подтвердить надо будет для каждого устройства отдельно (смартфон, ПК итд), кроме колонок.

Всё! Теперь говорим Алисе: "Запусти навык Домовенок Кузя"; а когда навык запустится - "Давление" (наша активационная фраза) - и получаем информацию с датчика.

Для самых ленивых

Введите кулаком по клавиатуре произвольную строку для генерации хэша md5:

  1. <input style="width:80%" type="text" placeholder="Введите произвольную строку" id="source" name="source">
  2. <input style="width:80%" type="text" value="Ваш хэш появится здесь" id="md5_hex" name="md5_hex" readonly="readonly">

Возможные ошибки

Совет по отладке

Если что-то идёт не так, то самый просто способ проверить - это скопировать строку из созданного 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). Сделайте датчик публичным, или обратитесь к его владельцу, если датчик не ваш (об этом подробнее ниже).

Улучшения и расширенные возможности

Несколько датчиков в одном запросе

API narodmon.ru позволяет одной строкой запросить сразу несколько датчиков, просто перечислив их через запятую (без пробелов).

Например, у нас есть датчик S12345, измеряющий температуру, и S67890, измеряющий давление. Дополним строку в поле "URL управления запросом":

https://narodmon.ru/api?cmd=sensorsValues&sensors=12345,67890&uuid=здесь_md5_хэш&api_key=здесь_API_key

...и строку в поле "Ответ Кузи":

{sensors.0.value} по Цельсию, {sensors.1.value} мм ртутного столба

Теперь при запросе Кузя сообщит строку с показаниями обоих датчиков. Если необходимо добавить больше датчиков, расширяйте поля по аналогии, не забывая увеличивать и индексы датчика в ответе Кузи.

Сценарии

Как упростить запуск навыка? Воспользуемся двумя замечательными возможностями:

  • Запуск навыка с немедленным выполнением команды и выходом после неё: "Попроси Домовёнка Кузю Давление";
  • Сценарии Умного дома Яндекса, позволяющие назначить различные действия на условные фразы.

Метеостанция совсем без датчиков?

Разве это возможно? Да, если на народном мониторинге рядом с нужным вам местом уже находятся чьи-то подходящие датчики! Просто укажите эти датчики в настройках - и можно получать оперативную сводку о погоде.

Что особенно интересно - можно собирать датчики из любых городов! И собрать целую коллекцию метеосводок)
P.S. В основу инструкции легли материалы сайта Домовёнка Кузи, личный опыт и лайфхак из нашего тг-чата.