touch MAX

получи максимум — личный блог "тыж программиста"

Отвязка Clear Grass Air monitor от облака и подключение к Home Assistant

Коротко расскажу как отвязать китайский датчик качества воздуха Clear Grass Air monitor от китайских облаков и как подключить его напрямую к Home Assistant

Clear Grass Air monitor можно было и раньше подключить к Home Assistant и получать показания в дашборде, например, с помощью интеграции Xiaomi Miio. Но перед подключением нужно было получать ключ на свой аккаунт Xiaomi, плюс плагин работает не очень стабильно из-за того что зависит от китайских облаков, которые могли быть недоступными.

Относительно недавно производитель Qingping, через обновление прошивки, добавил поддержку Private Cloud. Поддерживаются следующие устройства: Qingping Temp & RH Barometer Pro, Qingping Temp & RH Monitor Pro E, Qingping Wall Socket Thermometer, Qingping CO2 & Temp & RH Monitor, Qingping Indoor Environment Monitor, Qingping Air Monitor, Qingping Air Monitor Lite, Qingping Bluetooth Gateway. После включения Private Cloud устройство станет доступно по открытому протоколу MQTT и появится возможность подключить устройство к своему серверу (за что большое спасибо нашим китайским друзьям).

  • Первым делом нужно обновить прошивку устройства, на самую последнюю доступную
  • Зарегистрировать аккаунт в приложении Qingping+ или Qingping IoT, добавить в приложение свой датчик
  • Войти в настройки устройства и скопировать MAC адрес

Теперь писать письмо китайцам не нужно, сразу оформляйте личный кабинет https://developer.qingping.co/

  • Переходим в раздел https://developer.qingping.co/privatisation/config
  • Добавляем конфигурацию вашего MQTT сервера (это может быть ваш локальный сервер, например, Home Assistant или внешний сервер в сети Интернет)

Host указываем IP адрес или имя сайта с MQTT Сервером

Port порт MQTT сервера

username, password это соответственно логин и пароль

Остальное можно не трогать.

Потом переходим в раздел Devices (список подтягивается из тех устройств которые вы добавили в мобильное приложение) и привязываем созданную конфигурацию вашего сервера к конкретному устройству:

Теперь необходимо перезагрузить ваше устройство. После следующего соединения с сетью, Qingping Air Monitor будет посылать данные на ваш сервер. Отследить эти данные (на MQTT сервере) можно с помощью бесплатного приложения MQTT-Explorer.

Для вывода этих данных в Home Assistant нужно добавить конфигурацию нового устройства в интеграцию MQTT: ниже ВАШ_MAC нужно заменить на MAC адрес без двоеточий

- object_id: AIR_co2
  name: "Датчик CO2"
  state_topic: "qingping/ВАШ_MAC/up"
  device_class: carbon_dioxide
  unique_id: "qingping_dioxide"
  value_template: >-
    {{ value_json.sensorData.0.co2.value 
        if value_json.type=="12" }}
  unit_of_measurement: "ppm"
  device:
    identifiers: ["ВАШ_MAC"]
    name: "Air monitor"
    model: "CGS1"
    manufacturer: "qingping"
- object_id: AIR_temp
  name: "Датчик температуры"
  state_topic: "qingping/ВАШ_MAC/up"
  device_class: temperature
  unique_id: "qingping_temp"
  value_template: >-
    {{ value_json.sensorData.0.temperature.value|round(2)
        if value_json.type=="12" and value_json.sensorData.0.temperature.status==0 }}
  unit_of_measurement: "°C"
  device:
    identifiers: ["ВАШ_MAC"]
    name: "Air monitor"
    model: "CGS1"
    manufacturer: "qingping"
- object_id: AIR_hum
  name: "Датчик влажности"
  state_topic: "qingping/ВАШ_MAC/up"
  device_class: humidity
  unique_id: "qingping_hum"
  value_template: >-
    {{ value_json.sensorData.0.humidity.value|round(2)
        if value_json.type=="12" and value_json.sensorData.0.humidity.status==0 }}
  unit_of_measurement: "%"
  device:
    identifiers: ["ВАШ_MAC"]
    name: "Air monitor"
    model: "CGS1"
    manufacturer: "qingping"
- object_id: AIR_tvoc
  name: "Датчик tvoc"
  state_topic: "qingping/ВАШ_MAC/up"
  device_class: volatile_organic_compounds
  unique_id: "qingping_tvoc"
  value_template: >-
    {{ (value_json.sensorData.0.tvoc.value/218.77)|round(3) 
        if value_json.type=="12" and value_json.sensorData.0.tvoc.status==0 }}
  unit_of_measurement: "µg/m³"
  device:
    identifiers: ["ВАШ_MAC"]
    name: "Air monitor"
    model: "CGS1"
    manufacturer: "qingping"
- object_id: AIR_pm10
  name: "Датчик pm10"
  state_topic: "qingping/ВАШ_MAC/up"
  device_class: pm10
  unique_id: "qingping_pm10"
  value_template: >-
    {{ value_json.sensorData.0.pm10.value 
        if value_json.type=="12" }}
  unit_of_measurement: "µg/m³"
  device:
    identifiers: ["ВАШ_MAC"]
    name: "Air monitor"
    model: "CGS1"
    manufacturer: "qingping"
- object_id: AIR_pm25
  name: "Датчик pm25"
  state_topic: "qingping/ВАШ_MAC/up"
  device_class: pm25
  unique_id: "qingping_pm25"
  value_template: >-
    {{ value_json.sensorData.0.pm25.value 
        if value_json.type=="12" and value_json.sensorData.0.pm25.status==0 }}
  unit_of_measurement: "µg/m³"
  device:
    identifiers: ["ВАШ_MAC"]
    name: "Air monitor"
    model: "CGS1"
    manufacturer: "qingping"

Вся документация по всем доступным полям и управлению устройством лежит тут.

После перезапуска HA у нас появится новое устройство:

Все, теперь ваше устройство не зависит от интернет и облачных сервисов. Мира!

,