Задача: Хочу видеть в Domoticz текущую температуру, значения которой снимаются с помощью утилиты weather.

Сегодня я для себя покажу, каким я способом решил поставленную задачу. Для чего это? А просто так, просто уже на основе этого я смогу что-либо еще таким образом сделать, да и интересно. Делаю через скрипт на Bash который получает значение, приводит его к виду, который отправляется через json запрос в Domoticz.

Шаг №1: Подключаюсь к своему Domoticz

ekzorchik@navy:~$ srv-domoticz

я все еще на версии

Шаг №2: Устанавливаю в систему утилиту weather-util:

Шаг №3: Получать информацию буду с аэропорта домодедово, как ближайшую точку, относящуюся к моему местоположению:

из этого вывода я хочу извлекать:

  • Температуры в градусах
  • Влажность
  • Ощущается, как

Шаг №4: Создаю в Domoticz шаблон на виртуальный сенсор = Dummy:

http://IP&DNS:8080 (http://srv-domoticz) - user&pass - Настройка - Оборудование -

  • Включено: Активировано
  • Имя: Dummy
  • Тип: Dummy (Does nothing, use for virtual switches only)
  • Задержка данных: Отключен

 

Создаю виртуальный датчик с типом "Custom Sensor"

и нажимаю "Добавить"

Затем на основе данного шаблона создаю виртуальный датчик

нажимаю на "Создать виртуальный датчик"

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

  • Имя: Температура Улица
  • Тип датчика: Custom Sensor
  • Метки оси: ° С

и нажимаю "ОК"

Создаю виртуальный датчик с типом "Custom Sensor"

Созданный виртуальный датчик размещается во вкладке "Вспомогательные"

Созданный виртуальный датчик размещается во вкладке "Вспомогательные"

Шаг №5: Чтобы передать значение из скрипта получения температуры, влажности и ощущается как в виртуальный датчик вкладки "Вспомогательные" нужно знать его IDX. Его можно посмотреть если у виртуального датчика с именем "Температура (Улица)" нажать "Редактировать"

у меня idx: 19

либо перейти:

http://IP&DNS:8080 (http://srv-domoticz) - user&pass - Настройка - Устройства

Узнаю IDX виртуального датчика вкладке "Вспомогательные"

после на основе добавленного создаю виртуальный датчик

Шаг №6: Пробую передать произвольное значение в виртуальный датчик через запрос посредством утилиты curl:

Результат:

Отправленное произвольное значение через curl в IDX

Шаг №7: А теперь создаю скрипт который полученный результат получения температура улица на текущий момент присвоит виртуальному датчику по его IDX:

В bash есть опция -x , которая будет показывать вам команды по мере их выполнения (запустите сценарий с bash -x script.sh вместо bash script.sh или ./script.sh)., это покажет вам команды в правильных кавычках и будет более полезно, чем печатать их с помощью echo.

Отлично текущая температура успешно передалась в Domoticz.

Шаг №8: Чтобы скрипт отрабатывал каждый час и тем самым обновлял значение в Domoticz создаю задание в системе Ubuntu 18.04:

Время запуска представляется в таком виде:

Минута час день_месяца месяц день_недели команда

# m h  dom mon dow   command

Символ «*» подразумевает — любое значение

Шаг №9: По такому же принципу выше создаю "Вспомогательный датчик" с типом "Custom Sensor" для "Влажности" и "Ощущается как":

Шаг №10: Ниже история работы скрипт и получаемых значений с боевого Domoticz:

Получаемые значения из утилиты weather в карточки Domoticz

Итого я разобрал данную задачу оформив в шагах как ее реализовать. Правда не так изящно, но все же есть теперь от чего отталкиваться.

На этом я прощаюсь, с уважением автор блога Олло Александр aka ekzorchik.

от ekzorchik