Ранее, в октябре прошлого года, SLS занимался управлением газовым котлом, и до сих пор продолжает заниматься тем же. Нынче будет описан второй экземпляр, который ничем не управляет, а работает в «прозрачном» режиме с целью наблюдения за происходящим в недрах огненного чудовища Buderus Logomax U072.
Основные моменты подключения и работы с SLS раскрыты в предыдущей заметке, поэтому здесь лишь о том, как действовать по поводу внешнего ПО.
Предварительно надо понимать, что «прозрачный» режим работы требует поддержки стороннего приложения OpenTherm Monitor и, следовательно, это приложение необходимо куда-то установить: лучший вариант — виртуальная машина linux. Или на малинку, где у вас удобно располагается Home Assistant/Open HAB/Domoticz, etc. Приложение будет забирать данные с SLS и удобочитаемом виде шарить их разными способами: отправлять на MQTT брокер, показывать на собственном сервере или отдавать по TCP соединению. Причем для такого случая в Hоme Assistant есть интеграция, которая обещает работать с монитором напрямую. Мне свое обещание она не исполнила: отваливалась постоянно, но может у кого и получится. Я не особо переживаю — привык работать исключительно с MQTT.
Итак, последовательность действий.
В init файл SLS добавляем две строки:
thermo.beginOpenTherm(true)
thermo.beginOpenThermMonitor()
Перегрузите SLS и на том с ним все
На виртуальной (или еще какой) машине действуем следующим образом:
# Создаем директорию для скачивания файла и переходим в нее.
# Посмотрите на сайте правильный файл для своей системы: https://otgw.tclcode.com/download.html#utilities
sudo mkdir /opt/opentherm
cd /opt/opentherm
# Скачиваем OpenTherm Monitor
wget https://otgw.tclcode.com/download/otmonitor-x64
# Делаем файл исполняемым
chmod +x otmonitor-x64
# Для запуска монитора нужен файл конфигурации
sudo mkdir /etc/otmonitor
sudo nano /etc/otmonitor/otmonitor.conf
# Конфигурационный файл делаем таким.
#### Внимательно смотрите на IP-адреса ####
############ otmonitor.conf ###############
web {
enable true
port 8085
nopass true
}
connection {
type tcp
enable true
host 192.168.1.147
port 25238
}
mqtt {
enable true
broker 192.168.1.125
port 1883
devicetype central_heating
deviceid otmonitor
format unformatted
}
server {
enable true
port 7686
relay true
}
########################
# Теперь можно попробовать запустить монитор
nohup ./otmonitor-x64 --daemon -f /etc/otmonitor/otmonitor.conf &
Кино, по адресу установки и порту 8085 (определен в конфигурационном файле) должно получиться такое:


Вкладка Connection и вкладка MQTT должны показывать наличие соединения.

И TCP соединение, к которому можно (пытаться) логиниться Home Assistant:


Если все получилось (а что тут может не получиться?) — делаем из происходящего демона и обеспечиваем его запуск при загрузке:
sudo nano /lib/systemd/system/runotmonitor.service
######## runotmonitor.service #########
[Unit]
Description=OTMonitor Service
After=multi-user.target
[Service]
Type=idle
ExecStart=/opt/opentherm/otmonitor-x64 --daemon -f /opt/otmonitor.conf
[Install]
WantedBy=multi-user.target
########################################
# Сохраняем файл и добавляем его в автозагрузку
sudo chmod 644 /lib/systemd/system/runotmonitor.service
sudo systemctl daemon-reload
sudo systemctl enable runotmonitor.service
… и оно должно появиться в MQTT брокере:

А что дальше делать — вы и сами знаете:

