mega_hacs
mega_hacs copied to clipboard
SCD4x
Подробное описание есть на сайте контроллера. https://ab-log.ru/smart-house/ethernet/MegaD-2561-SCD4x
Спасибо.
Добрый день. Нужно добавить сенсор 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')) }}"
Поддерживаю этот запрос! Датчик измеряет 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: "%"
Поддерживаю, ситуация аналогичная
Приветствую! Если кто-то сможет прислать исходники страницы i2c scan с порта на котором установлен этот датчик - я смогу оперативно его добавить. Пока "на ощупь" добавил в 1.1.8b2 Может не совпасть значение типа и единиц измерения, тк на сайте нет подробного описания с точки зрения i2c api.
Приветствую! Если кто-то сможет прислать исходники страницы 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>
Присоединяюсь к просьбе.
Исходники страницы i2c scan:
Там у нас 2 страницы получается:
0.html
1.html (сами значения)