И так начнём) …
Сначала почему мой выбор - Tasmota ?
Она импонирует мне своей -децентрализацией. Даже если «ляжет» ПО верхнего уровня такие как допустим Homed), Home Assistant, MQTT Broker, Алиса и т.д , пока жива локальная сеть - всегда можно будет управлять устройством по вэб. А также использовать на момент восстановления функционала, встроенные сценарии, таймеры и т.д То есть, всё не превратится в один момент в тыкву , как минимум превратится в паттисон)
Начнем с настройки Тасмоты , установить последнее ПО можно на страничке https://tasmota.github.io/install/ в принципе базовой версии достаточно.
Далее настраиваем на странице “Configure Module”, GPIO контроллера к которым подключены счетчики воды, реле, датчики и т.д

На странице “Configure MQTT” настраиваем подключение к брокеру ( у меня брокер с паролем )

Нажав на вкладку "Console” вводим команды, и подтверждаем Enter :
Timezone +3:00
- часовой пояс
TelePeriod 300
– через какой промежуток тасмота будет выдавать данные в брокер , в секундах.
SetOption26 1
- адресация реле (даже если на данный момент не используете , то лучше ввести эту команду чтобы потом не думать почему не работают реле))
Latitude
, Longitude
– координаты Вашей местности для сценариев (от заката до рассвета и т.д)
SetOption24 1
– давление в мм рт.ст
HOMEd – Custom – добавляем устройство ( соответственно в этом устройстве надо будет поменять имя tasmota_xxxx на имя своего устройства ) и Вуаля.
Для отслеживания состояния устройства, добавляем в CUSTOM устройство в полях:
Availability topic: tele/tasmota_xxxx /LWT
Availability pattern: {{ online if value == Online else offline }}
{
"exposes": [
"humidity",
"temperature",
"pressure",
"temperature_2"
],
"real": true,
"options": {
"pressure": {
"unit": "mmHg"
}
},
"bindings": {
"humidity": {
"inPattern": "{{ json.BME280.Humidity }}",
"inTopic": "tele/tasmota_8317DD/SENSOR"
},
"pressure": {
"inPattern": "{{ json.BME280.Pressure }}",
"inTopic": "tele/tasmota_8317DD/SENSOR"
},
"temperature": {
"inPattern": "{{ json.BME280.Temperature }}",
"inTopic": "tele/tasmota_8317DD/SENSOR"
},
"temperature_2": {
"inPattern": "{{ json.BME280.DewPoint }}",
"inTopic": "tele/tasmota_8317DD/SENSOR"
}
}
}