# Подключение 1-Wire датчиков > Источник: Wiki LightHub (lazyhome.ru), страница «подключение_1-wire_датчиков». Снапшот от 2026-10-02. ## Подключение к контроллеру Подключение производится к клеммам: - X5 - +5В - X4 - GND - X3 - 1wire (см. иллюстрацию на [wiki-странице](https://www.lazyhome.ru/dokuwiki/doku.php?id=подключение_1-wire_датчиков), файл 1wire.png) На рисунке снизу вверх черными точками: 5B, gnd, 1wire. ## Конфигурация контроллера Дополнительная информация по настройке приведена тут [конфигурирование: что такое execobj](https://www.lazyhome.ru/dokuwiki/doku.php?id=конфигурирование#что_такое_execobj) В корне прописываем: ```json "ow":{ "АДРЕС_ДАТЧИКА":{"emit":"Temperature01"} }, ``` АДРЕС_ДАТЧИКА в виде: 282DA307D6013C08 ## MQTT Подписываемся на топик "myhome/s_out/Temperature01" и получаем значения температуры. ## Простой релейный термостат (теплый пол) добавляем ```json "items":{ "local_termostat":[5,24,33] } ``` 5 - тип релейный термостат 24 - номер пина 33 - (опционально) - температура по-умолчанию Добавляем связку между термометром и локальным термостатом ```json "ow":{ "282DA307D6013C08":{"emit":"Temperature01", "item":"local_termostat/val"} }, ``` Настройка завершена Суффикс /val при передаче температуры локальным обьектам можно не добавлять Значение температуры, также, может быть принято с внешних систем или иных контроллеров по MQTT c использованием топика формата /myhome/controller-id/local_termostat/val При отсутствии показаний в течение 10 мин термостат отключается и переходит в аварийный режим, выдавая аварию в топик /alarm Термостат принимает значение температуры через суффикс /set Через командный суффикс /cmd принимаются команды - ON - OFF - AUTO - HEAT - HALT - REST - XON - XOFF Подробнее тут [работа с mqtt: команды, применимые для кондиционера и термостата](https://www.lazyhome.ru/dokuwiki/doku.php?id=работа_с_mqtt#команды_применимые_для_кондиционера_и_термостата) ## Поиск устройств на шине Начиная с v4.3 автоматическое периодическое сканирование шины 1-wire отменено. Датчики опрашиваются последовательно, согласно настройкам в разделе ow Чтобы просканировать шину и узнать адреса вновь подключенных устройств, можно выдать команду search в [CLI интерфейс](../core/cli_interface.md) Результаты сканирования будут выданы в лог ## Сверка с кодом (2026-10-02) Сверено с `lighthub/owTerm.cpp`, `lighthub/owTerm.h`, `lighthub/main.cpp`. - Раздел `"ow"` в корне конфигурации подтвержден: `owArr = aJson.getObjectItem(root, "ow")` (main.cpp:1491). - Формат записи — имя датчика (16-значный шестнадцатеричный адрес, например `282DA307D6013C08`) → execobj с действиями: в коде имя объекта используется как адрес (`SetBytes(dev, 8, addrstr)`, `SetAddr`, owTerm.cpp:102-104, 196), объект передается в `executeCommand` (owTerm.cpp:69), т.е. `emit`/`item` поддерживаются. - Передача значения — через суффикс `/val` (`itemCmd(currentTemp).setSuffix(S_VAL)`, owTerm.cpp:69), что согласуется с wiki (суффикс можно не добавлять — он подставляется сам). - Автоматическое периодическое сканирование шины действительно отменено: `owUpdate()` (сканирование) вызывается только из `owSearch()`, который привязан к CLI-команде `search` (main.cpp:2875, owTerm.cpp:39-42); в цикле `sensors_loop` периодический вызов закомментирован (owTerm.cpp:259). - Результаты сканирования выводятся в лог (`infoSerial`, owTerm.cpp:96-114) — подтверждено. - Опрашиваются последовательно только датчики из раздела `ow` (обход `owArr` в `sensors_loop`, owTerm.cpp:256-288) — подтверждено. - Пин шины задается опцией компиляции `USE_1W_PIN` (owTerm.cpp:134); возможно также использование моста DS2482-100 по I2C (`DS2482_100_I2C_TO_1W_BRIDGE`) — в wiki не описано.