Скрещиваем Home Assistant с Blynk
Научимся получать данные в Home Assistant из приложения Blynk.
С помощью RESTful API.
В очередной раз удивляюсь простоте интеграции Home Assistant с различными платформами.
Для интеграции с Blynk нет нативного модуля, но у Blynк есть API.
У Home Assistant есть для работы с API тип rest.
Для данной интеграции нам потребуется токен устройства Blynk.
Узнать токен Blynk можно несколькими способами:
- Наверное он у вас записан, т.к. при использовании библиотеки Blynk он требуется
- Посмотреть на сервер Blynk
- Скопировать из приложения
Получение токена из приложения
Вывод данных температуры с датчика DS18S20 идет в виртуальный пин V15.
Пример запроса с использованием API
curl https://blynk.domain.ru/ВАШ_ТОКЕН/get/V15 ["22.250"]
Видим, что данные возвращаются в JSON.
При этом значение имеет три знака после запятой.
Создадим сенсор в hass для получения данного значения
vi /opt/homeassistant/config/configuration.yaml
- platform: rest resource: https://blynk.domain.ru/ВАШ_ТОКЕН/get/V15 name: Office Temperature value_template: >- {{ value | replace('"','') | replace("[","") | replace("]","") | float | round (1) }} unit_of_measurement: "°C" scan_interval: 300
Где:
- rest — тип сенсора
- resource — строка запроса
- name — ваше имя объекта
- value_template — шаблон вывода, где мы оставляем только число и уменьшаем значение до одной цифры после запятой (round (1))
- unit_of_measurement — единица измерения
- scan_interval — интервал обновления в секундах
Перезапустим hass
service hass restart
Заходим в устройства hass
https://hass.mydomain.ru/config/entities
Видим, что появился новый объект:
Office Temperature sensor.office_temperature Сенсор
Выведем его на панель в виде шкалы
Так же можем использовать полученные значения в своих сценариях.
На этом все:)!
У автора опечатка
Правльно вот так.
sensor:
— platform: rest
resource: https://blynk.domain.ru/ВАШ_ТОКЕН/get/V15
name: Office Temperature
value_template: >-
{{ value | replace(‘»‘,») | replace(«[«,»») | replace(«]»,»») | float | round (1) }}
unit_of_measurement: «°C»
scan_interval: 300
Thank you for the guide above. I am having a problem with the value_template section. The blynk pressure sensor value is being displayed, but it still still shows brackets and quotes and does not show units….ie [«16.600»]. I have tried to change indentation, but the file editor shows errors.
All help appreciated
sensor:
— platform: rest
resource: http://blynk-cloud.com/MYTOKEN/get/V4
name: Water Pressure
value_template: >-
{{value | replace (‘»‘,») | replace («[«, «») | replace («]», «») | float | round (1)}}
unit_of_measurement: «PSI»
scan_interval: 300