Не стоит благодарности. У вас количественное регулирование отопления, которое с точки зрения логики (вкл./выкл.) довольно несложно осуществляется. Еще бы вам как-то температуру подачи котла изменять (не вручную), вот тогда бы была бы полная свобода в управлении.
Касательно целесообразности покомнатного регулирования вопрос дискуссионный. Есть мнение, что держать сильно разную температуру в жилых помещениях (больше 3-х градусов) нехорошо. Законы физики в виде конвекции никто не отменял. Начнут гулять сквозняки. Хотя самому на практике проверять справедливость этого мнения пока возможность не представилась.
Ничто не мешает уже сейчас поместить готовые HTML-блоки на сцены. Они будут спокойно работать не хуже, чем в меню.
На сценах, например, на плане этажа бывает дефицит места. Да и вряд целесообразно держать элементы управления системой отопления в постоянном доступе всеми желающими. Чьи-то шаловливые ручки даже без умысла обязательно заденут ту или иную кнопку, когда это совсем не требуется. Поэтому можно отображать HTML-блок с управлением элементами отопления не постоянно, а по мере необходимости.
Делается это несложно. Добавляем в класс системы отопление новое свойство, которое будет отвечать за видимость HTML-блоков по каждому объекту. Назовем его, к примеру "Visibility_1". (Такой же HTML-блок по этому же объекту может быть помещен и на другие сцены, и чтобы при отображении/скрытии его на одной сцене не происходило неожиданного отображения/скрытия его на другой сцене, для второй и последующих сцен надо будет заводить свои свойства, отвечающие за видимость: "Visibility_2", "Visibility_3" и т.д.)
Заводим на сцене небольшую индикатор-кнопку, при нажатии на которую будет отображаться/скрываться наш HTML-блок.
- Opera Снимок_2021-05-08_220226_127.0.0.1.png (26.72 КБ) 2681 просмотр
- Opera Снимок_2021-05-08_220109_127.0.0.1.png (43.21 КБ) 2681 просмотр
Эту кнопку тоже можно завести HTML-блоком.
Код: Выделить всё
<style type="text/css">
.gorizontalno {
display: inline-block
}
.button:active {
transform: scale(0.9, 0.9);
}
</style>
<div class="gorizontalno">
<div class="button">
<div style='display:%RadiatorBranch_01.Status|"block;none"%'><img src="\cms\scenes\styles\switch\i_warm_on.png" width="16" height="16"></font></div>
<div style='display:%RadiatorBranch_01.Status|"none;block"%'><img src="\cms\scenes\styles\switch\i_warm_on.png" width="16" height="16" style="background-color: yellow;"></div>
</div>
</div>
Добавляем какое-нибудь состояние (например, default).
В пункте "Выполнить при клике" указываем
Код, присваивающий свойству "Visibility_1" значение "0" или "1".
Код: Выделить всё
if (gg('RadiatorBranch_01.Visibility_1') != 1) {
sg('RadiatorBranch_01.Visibility_1', 1);
} else {
sg('RadiatorBranch_01.Visibility_1', 0);
}
Теперь, собственно, наш отображаемый/скрываемый HTML-блок. Заводим у него два состояния: "visible" и "hidden". Указываем для состояний
простые условия отображения. Для "visible" это будет "Visibility_1" = 1. А для "hidden" я всегда писал "<>1". Однако сейчас почему-то так не заработало. Заработало если указать "= пустое значение".
- Opera Снимок_2021-05-08_220325_127.0.0.1.png (15.82 КБ) 2681 просмотр
Еще можно придумать сбор разной статистики. Например, если вы у объектов насосов включили историю у свойства "Status", то отслеживать интенсивность использования насосов можно не только на графиках или заглядывая непосредственно в историю свойства. Думается, что несложно будет организовать почти любую аналитику. Например, подсчитывать, сколько раз включался насос за последние сутки или как долго работал насос за это время.
Много всего можно придумать. Главное понять, что было бы интересно и полезно знать/наблюдать.