====== Сенсоры Sensair S8 ====== Сенсоры Sensair S8 достаточно компактны, точны, и удобны в использовании в качестве датчиков CO2 в воздухе Кроме этого, они оборудованы встроенным интерфейсом Modbus RTU, а значит их легко подключить на общую шину и опрашивать контроллером LightHub Сенсор можно напрямую подключить к UART контроллера (с уровнями 3.3 В) но это не слишком целесообразно. В этом случае, один сенсор занимает один порт UART (к которому более ничего не подключишь) и длина проводов для такого подключения ограничена несколькими метрами Целесообразнее использовать шину RS-485. На контроллерах LightHub уже установлен драйвер этой шины. Одна и та же шина может использоваться как для опроса сенсоров так и для управления совместимыми устройствами (диммерами, реле, вентиляцией) а также, взаимодействия с настенными панелями управления. Аналогичный драйвер надо установить у каждого сенсора Sensair. Для электрического сопряжения выходов Sensair с шиной. Для тех, кому не хочется это делать самостоятельно - на Али есть [[http://alli.pub/6gk062|готовая конструкция]] ===== Изменение Slave ID ===== Также, для того, чтобы собрать несколько сенсоров Sensair на одну шину, им надо задать разный Slave ID Это представляет собой некоторый квест, но ознакомившись с материалом ниже, его можно пройти: The default address of the module is 254(0xFE) and the baud rate is 9600 bps. Please refer to the manual below. https://rmtplusstoragesenseair.blob.core.windows.net/docs/Dev/publicerat/TDE2067.pdf Senseair provides UIP5 software for demo purposes. You can download it if needed. https://senseair.com/products/size-counts/s8-lp/ You need to change the slave Modbus address with the non-standard command if multiple sensors would be connected to the same RS485 bus. https://github.com/letscontrolit/ESPEasy/issues/1475 ====== Далее, пример конфига LightHub ====== Пример использует общий широковещательный адрес 254, на который откликается каждое Modbus устройство. Поэтому будет работать только если кроме одного Sensair на шине ничего нет После того, как по инструкции выше (на GitHub) запрограммируете индивидуальный адрес устройства - его надо указать вместо 254 { "mqtt":["esp32","m2m.eclipse.org"], "items": { "sensair1":[14,[254, "sensair", {"co2":{"emit":"co2"}} ] ] }, "modbus": { "sensair":{"baud":9600, "poll":{"irs":[[0,3],21,[25,30]],"regs":[0,1,31],"delay":5000}, "par":{ "co2":{"ir":3}, "meterStat":{"ir":0}, "alarmStat":{"ir":1}, "outStat":{"ir":0}, "pwm":{"ir":21}, "typeid":{"ir":25,"type":"u32"}, "mapver":{"ir":27}, "fwver":{"ir":28}, "sensorid":{"ir":29,"type":"u32"}, "ack":{"reg":0}, "command":{"reg":1}, "abc":{"reg":31} } } } }