mega_hacs icon indicating copy to clipboard operation
mega_hacs copied to clipboard

SCD4x

Open xenus206 opened this issue 1 year ago • 6 comments

Подробное описание есть на сайте контроллера. https://ab-log.ru/smart-house/ethernet/MegaD-2561-SCD4x

Спасибо.

xenus206 avatar Apr 23 '23 11:04 xenus206

Добрый день. Нужно добавить сенсор sdc4x. Пока что временно я попробовал добавить

в файл: custom_components/mega/i2c.py .... i2c_classes = { 'scd4x': [ DeviceType(None, None, 'ch0'), ], 'htu21d': [ ..... в файл: configuration.yaml #sch40x mega sensor template: sensor: name: "Kithen_CO2" unit_of_measurement: "ppm" state: > {% set sdc40_json = { "carbon_dioxide": states('sensor.mega_10_scd4x_ch0').split("/")[0].split(":")[1] } %} {{ sdc40_json.carbon_dioxide }} availability: "{{ ai_number(states('sensor.mega_10_scd4x_humidity')) }}" name: "Kitchen_temp" unit_of_measurement: "°C" state: > {% set sdc40_json = { "carbon_dioxide": states('sensor.mega_10_scd4x_ch0').split("/")[1].split(":")[1] } %} {{ sdc40_json.carbon_dioxide }} availability: "{{ ai_number(states('sensor.mega_10_scd4x_humidity')) }}" name: "Kitchen_hum" unit_of_measurement: "%" state: > {% set sdc40_json = { "carbon_dioxide": states('sensor.mega_10_scd4x_ch0').split("/")[2].split(":")[1] } %} {{ sdc40_json.carbon_dioxide }} availability: "{{ ai_number(states('sensor.mega_10_scd4x_humidity')) }}"

iliorik avatar Jun 28 '23 09:06 iliorik

Поддерживаю этот запрос! Датчик измеряет CO2, температуру и влажность и возвращает данные в формате: CO2:969/temp:25.88/hum:60.55.

При этом:

Сенсор обновляет данные каждые 5 секунд. Если все же произвести повторной запрос ранее, чем через 5 секунд после предыдущего, датчик вернет статус "busy".

Как еще один способ временного решения проблемы (без необходимости править файл интеграции) можно опрашивать датчик напрямую средствами HA (RESTful Sensor). Адрес resourse проще всего скопировать прямо из интерфейса контроллера. Проверки на "busy" тут нет.

# Wallmount sensor SCD4x - no support in megaD integration
rest:
  - resource: "http://MEGAD_IP/PASSWORD/?pt=PORT&scl=SCL_PORT&i2c_dev=scd4x"
    sensor:
      - name: "SCD4x_CO2"
        device_class: carbon_dioxide
        value_template: "{{ value.split('/')[0].split(':')[1] }}"
        unit_of_measurement: "ppm"
      - name: "SCD4x_temp"
        device_class: temperature
        value_template: "{{ value.split('/')[1].split(':')[1] }}"
        unit_of_measurement: "°C"
      - name: "SCD4x_hum"
        device_class: humidity
        value_template: "{{ value.split('/')[2].split(':')[1] }}"
        unit_of_measurement: "%"

pavelplus avatar Jul 02 '23 21:07 pavelplus

Поддерживаю, ситуация аналогичная

3AXAPOB avatar Jul 06 '23 14:07 3AXAPOB

Приветствую! Если кто-то сможет прислать исходники страницы i2c scan с порта на котором установлен этот датчик - я смогу оперативно его добавить. Пока "на ощупь" добавил в 1.1.8b2 Может не совпасть значение типа и единиц измерения, тк на сайте нет подробного описания с точки зрения i2c api.

andvikt avatar Oct 11 '23 06:10 andvikt

Приветствую! Если кто-то сможет прислать исходники страницы i2c scan с порта на котором установлен этот датчик - я смогу оперативно его добавить. Пока "на ощупь" добавил в 1.1.8b2 Может не совпасть значение типа и единиц измерения, тк на сайте нет подробного описания с точки зрения i2c api.

"на ощупь" не работает.

<html><head><meta name="color-scheme" content="light dark"></head><body><div class="line-gutter-backdrop"></div><form autocomplete="off"><label class="line-wrap-control">Переносить строки<input type="checkbox" aria-label="Переносить строки"></label></form><table><tbody><tr><td class="line-number" value="1"></td><td class="line-content">CO2:891/temp:24.05/hum:39.64<span class="html-end-of-file"></span></td></tr></tbody></table></body></html>

semkyskov avatar Oct 21 '23 09:10 semkyskov

Присоединяюсь к просьбе.

Исходники страницы i2c scan: Там у нас 2 страницы получается: 0.html image

1.html (сами значения) image

1.zip

mrumskiy avatar Dec 17 '23 22:12 mrumskiy