Регулировка температуры по предустановленному графику


#1

Добрый день. Имеется в наличии контроллер WB5, на котором успешно реализована регулировка контуром отопления. С помощью wb-rules создан виртуальный прибор ‘heater’ , который позволяет включать/отключать регулировку температуры и задавать “желаемую” температуру. Через MQTT клиент на андроид все прекрасно рулится.
Вопрос 1:
Как грамотно реализовать хранение выставленной температуры, чтобы при потере питания не терять значения (в моем понимании какой-то командой писать ее в “энергонезависимую” память)?
Читал про это в описании wb-rules 2.0, но как понимаю это еще не реализовано.
Вопрос 2:
В продолжении как грамотно хранить массив данных (график температуры). Возможно выгружать в некий файл, но как тогда это сделать через wb-rules?
Подскажите в какую сторону копать/гуглить?


#2

Добрый день, An_Khol!

Значение уставки термостата можно хранить в файловой системе контроллера (через функции записи/чтения в файл или вызов внешних команд). Значение может сохраняться в виде retained-сообщения mqtt, но ПО это не гарантирует. Есть возможность хранения температуры в конфигурационном файле. Скриншот с примером (за подробностями можно обратиться на info@contactless.ru):

  1. График температуры хранится (за сконфигурированный период) во встроенной базе (sqlite), но есть простой API для получения данных из базы.

Через mqtt-брокер вы можете сохранять данные во внешней базе данных, для этого не потребуется ничего делать в движке правил. Вот тема на нашем форуме, посвященная этому вопросу.


#3

Пример для хранения уставок температуры в конфигурационном файле выкладывал в https://forum.wirenboard.com/t/demonstraczionnyj-veb-interfejs/430/11


#4

пишу показания датчиков в свой файл, формат sqlite


#5

Почему нельзя выложить данный пример на форум или wiki? Управление клапанами отопления - стандартная задача для всех. А то всем приходится изобретать велосипед заново.


#6

Добрый день.
Написала подробно как вводить уставки. https://forum.wirenboard.com/t/kak-na-wb5-wb6-sozdat-pole-dlya-vvoda-ustavok-i-peredat-znachenie-v-pravila/2180


#7

Большое спасибо за ответы.
Попробовал пример https://forum.wirenboard.com/t/kak-na-wb5-wb6-sozdat-pole-dlya-vvoda-ustavok-i-peredat-znachenie-v-pravila/2180
В принципе понятно.
Такой вопрос: есть ли механизм, чтобы изменять значения в файле конфигурации *.conf через MQTT публикацию, как например мы меняем значения у созданного виртуального прибора?
Более подробно идея такая:
Есть нагревательный прибор, которым мы хотим управлять по суточному графику.
Мы храним суточный график (желаемая температура на каждый час) в нашем файле блабла.conf
Мы можем управлять прибором по MQTT. Хочется чтобы суточный график редактировался не только через Вэб, но и через MQTT запросы.


#8

Я бы делал это так: все оперативные изменения записывал бы в поля виртуального устройства и их бы использовал при работе движка правил. При рестарте считывал бы значения из конфига в поля виртуального устройства. А вот для сохранения последних изменений в конфиге написал бы внешний скрипт, который вызывался бы из правила, срабатывающего при изменении значений у виртуального устройства, и который изменял бы записи в конфиг-файле. При этом есть, конечно, небольшая вероятность попортить конфиг, если запись произойдет не вовремя, когда туда параллельно кто-то пишет, например.