| Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
iot:software:node-red:flows:humidity_correction [2021/08/26 14:23] Николай Солошин [Принудительная коррекция] |
iot:software:node-red:flows:humidity_correction [2022/02/16 21:20] (текущий) Николай Солошин ↷ Операцией перемещения обновлены ссылки |
| Пришла весна, потом пришло лето... и все это подряд, да еще и в один и тот же город Владивосток! Было бы смешно, если не сезонная влажность, которая в этот период на улице может неделями держаться на уровне 100%, а в квартире... Ну, вот сейчас, 67%! | Пришла весна, потом пришло лето... и все это подряд, да еще и в один и тот же город Владивосток! Было бы смешно, если не сезонная влажность, которая в этот период на улице может неделями держаться на уровне 100%, а в квартире... Ну, вот сейчас, 67%! |
| |
| В ванной комнате, как это не печально, тоже... А там установлен [[iot:homebridge:tasmota:sonoff:th|Sonoff TH10]], работающий под Tasmota в автоматическом режиме -- влажность поднялась, он включился, влажность упала -- выключился. Удобно, все привыкли, а тут -- ну не выключается((Естественно, живя в этом славном городе с рождения, это не стало внезапным шоком и было спрогнозировано, что такое скорее всего будет иметь место.)), хоть ты тресни! | В ванной комнате, как это не печально, тоже... А там установлен [[iot:firmware:tasmota:sonoff:th|Sonoff TH10]], работающий под Tasmota в автоматическом режиме -- влажность поднялась, он включился, влажность упала -- выключился. Удобно, все привыкли, а тут -- ну не выключается((Естественно, живя в этом славном городе с рождения, это не стало внезапным шоком и было спрогнозировано, что такое скорее всего будет иметь место.)), хоть ты тресни! |
| |
| Сперва вручную поправил пороги в соответствующем правиле, потом почесал, где обычно чешут, и родил этот поток. 8-) | Сперва вручную поправил пороги в соответствующем правиле, потом почесал, где обычно чешут, и родил этот поток. 8-) |
| ===== Дополнительные подпотоки ===== | ===== Дополнительные подпотоки ===== |
| |
| * [[iot:node-red:subflows:sendmail|Отправка почты]] | * [[iot:software:node-red:subflows:sendmail|Отправка почты]] |
| |
| Этот подпоток входит в состав кода ниже и загружать отдельно его не надо! | Этот подпоток входит в состав кода ниже и загружать отдельно его не надо! |
| Цепочка запускается по таймеру -- сейчас установлено 15 минут, но после тестирования планирую увеличить промежуток до 6-12 часов. Данные получаются и передаются по MQTT. | Цепочка запускается по таймеру -- сейчас установлено 15 минут, но после тестирования планирую увеличить промежуток до 6-12 часов. Данные получаются и передаются по MQTT. |
| |
| Сперва проверяется, включена или выключена вентиляция, т.к. в первом случае ни о какой корректировке порогов влажности не может идти речи. Если включена, ничего не делается, кроме отправки письма с предупреждением. Если выключена, вводятся настройки и сравнивается уровень текущей влажности с предыдущим, если он не выходит за рамки установленной погрешности, опять же, ничего, кроме письма не делается. Если влажность изменилась больше порога погрешности, проверяется уровень порога включения вентиляции на предмет превышения максимального значения в 100% -- если при грядущем изменении порогов он может быть превышен, отправляется соответствующее письмо с предупреждением, если нет, т.е. все нормально и {{ :iot:node-red:flows:146.jpg?linkonly |легендарных 146%}} случайно не выйдет, то подготавливается MQTT-сообщение с новыми порогами и отправляется. Дополнительно, как обычно, отправляется письмо. | ==== Автоматическая коррекция ==== |
| |
| {{:iot:node-red:flows:hum-corr.png?nolink|}} | Сперва проверяется, включена или выключена вентиляция, т.к. в первом случае ни о какой корректировке порогов влажности не может идти речи. Если включена, ничего не делается, кроме отправки письма с предупреждением. Если выключена, вводятся настройки и сравнивается уровень текущей влажности с предыдущим, если он не выходит за рамки установленной погрешности, опять же, ничего, кроме письма не делается. Если влажность изменилась больше порога погрешности, проверяется уровень порога включения вентиляции на предмет превышения максимального значения в 100% -- если при грядущем изменении порогов он может быть превышен, отправляется соответствующее письмо с предупреждением, если нет, т.е. все нормально и {{ iot:software:node-red:flows:146.jpg?linkonly |легендарных 146%}} случайно не выйдет, то подготавливается MQTT-сообщение с новыми порогами и отправляется. Дополнительно, как обычно, отправляется письмо. |
| | |
| | {{iot:software:node-red:flows:hum-corr.png?nolink|}} |
| |
| После полной отладки, можно отключить узел "link out", чтобы было меньше писем, или вовсе подпоток "sendmail", чтобы писем не было вообще. | После полной отладки, можно отключить узел "link out", чтобы было меньше писем, или вовсе подпоток "sendmail", чтобы писем не было вообще. |
| ==== Ручная коррекция ==== | ==== Ручная коррекция ==== |
| |
| Если в web-интерфес модуля [[iot:homebridge:tasmota:sonoff:th#ручной_запуск_корректировки|добавить дополнительную кнопку]] для ручной коррекции, то для ее работы понадобится такая логика: | Если в web-интерфес модуля [[iot:firmware:tasmota:sonoff:th#ручной_запуск_корректировки|добавить дополнительную кнопку]] для ручной коррекции, то для ее работы понадобится такая логика: |
| |
| {{:iot:node-red:flows:hum-bonus.png?nolink|}} | {{iot:software:node-red:flows:hum-bonus.png?nolink|}} |
| |
| Узел "mqtt in" подписывается на соответствующий топик и при смене его статуса включает описанный выше поток минуя таймер. | Узел "mqtt in" подписывается на соответствующий топик и при смене его статуса включает описанный выше поток минуя таймер. |
| //Измененные узлы входят в код, [[#дополнительные_узлы|указанный ниже]] в соответствующем разделе!// | //Измененные узлы входят в код, [[#дополнительные_узлы|указанный ниже]] в соответствующем разделе!// |
| |
| FIXME Аналогичные изменения нужно внести в [[iot:homebridge:config:accessories#две_кнопки|код конфигурации аксессуаров]] Homebridge! | FIXME Аналогичные изменения нужно внести в [[iot:software:homebridge:config:accessories#две_кнопки|код конфигурации аксессуаров]] Homebridge! |
| |
| ==== Принудительная коррекция ==== | ==== Принудительная коррекция ==== |
| Важное дополнение ко всему вышеуказанному -- для правильной работы корректировок в большую сторону((Т.е. когда общая влажность в квартире повышается.)) необходимо заменить узлы "Статус вентиляции" и "Сохранение статуса" [[#дополнительные_узлы_2|этим кодом]]. | Важное дополнение ко всему вышеуказанному -- для правильной работы корректировок в большую сторону((Т.е. когда общая влажность в квартире повышается.)) необходимо заменить узлы "Статус вентиляции" и "Сохранение статуса" [[#дополнительные_узлы_2|этим кодом]]. |
| |
| {{:iot:node-red:flows:update2.png?nolink|}} | {{iot:software:node-red:flows:update2.png?nolink|}} |
| |
| Эта цепочка, помимо своего исконного предназначения, запускает таймер по истечению которого, если вентиляция не выключится автоматически, запустится принудительная коррекция. | Эта цепочка, помимо своего исконного предназначения, запускает таймер, по истечению которого, если вентиляция не выключится автоматически, запустится принудительная коррекция. |
| |
| ===== Код для загрузки ===== | ===== Код для загрузки ===== |
| ==== Итоговый код ==== | ==== Итоговый код ==== |
| |
| {{ :iot:node-red:flows:humidity-correction-final.zip |Этот код}} содержит все изменения и дополнения. Однако, при его использовании, все равно необходимо внести изменения в конфигурацию Tasmota и применить соответствующий конфиг для Homebridge. | {{ iot:software:node-red:flows:humidity-correction-final.zip |Этот код}} содержит все изменения и дополнения указанные выше. Однако, при его использовании, все равно необходимо [[iot:firmware:tasmota:sonoff:th#ручной_запуск_корректировки|внести изменения в конфигурацию Tasmota]] и [[iot:software:homebridge:config:accessories#две_кнопки|применить соответствующий конфиг для Homebridge]]. |