Управление батареями отопления по датчикам температуры



  • Добрый, день, помогите настроить.

    Скачал с вашего сайта сценарий управления отоплением по датчику температуры.

    Привязал к сценарию датчик температуры и батарею через пункт "Запуск для устройств".

    Но скрипт работает как то неправильно.

    При показании температуры ниже установочной не происходит включение батареи.

    Еле в ручном режиме включить батарею то при достижении установки температуры происходит отключение батареи, но при понижении температуры ниже установочной не происходит включение батареи.

    Возможно где то ошибка в скрипте или настроек датчиков.

    Скрипт не менял но на всякий случай приложил ниже.

    /**

    • @name Отопление по датчику температуры

    • @desc Сценарий работает при включеном режиме АВТО

    • При снижении температуры ниже порогового значения на 0.5 градуса батарея включается,

    • при достижении порогового значения - отключается.

    • В качестве порога берется уставка с датчика температуры (defval)

    */

    const bat = Device("ActorD", "Батарея");

    const dt = Device("SensorA", "Датчик температуры");

    const script = {

    check() {

    return bat.auto && ( !bat.dval&&(dt.aval <= dt.defval-0.5) || bat.dval&&(dt.aval >= dt.defval));

    },

    start() {

    if (!bat.dval) {

    this.do(bat, "on");

    } else {

    this.do(bat, "off");

    }

    }

    };



  • Добрый день.

    Сценарий неправильно работает, так как в последней версии реализован механизм временного отключения auto (как в Berry), а сценарии на сайте не поправили 😞

    Что исправить, чтобы сценарий заработал:

    Вариант 1. Без использования auto

    Убрать bat.auto из условия. Также убрать галочку для устройства "Есть автоматический режим".

    Вариант 2: С использованием auto.

    Поставить галочку для устройства "Есть автоматический режим". Команды on/off заменить на aon/aoff

    В этом случае сценарий будет срабатывать, только если для устройства установлен режим auto

    Немного подробнее про механизм auto.

    Флаг аuto можно переключать интерактивно.

    Также auto временно сбрасывается при ручном управлении (с выключателя, интерактивно) и затем восстанавливается через заданное время.
    lamp_auto.jpg

    При временном отключении auto на иконке устройства появляются "часики", а на вкладке параметров видно, когда auto будет восстановлен.

    Если установить времена в 0, то авто отключаться не будет.
    lamp_reauto.jpg

    Команды on/off также рассматриваются как ручное управление, то есть auto временно сбрасывается.

    Команды "aon" и "aoff" отличаются только тем, что не сбрасывают auto.

    В принципе, в сценариях можно всегда использовать aon, aoff, независимо от наличия флага auto у устройства



  • Добрый день.

    Решил пойти по второму варианту

    Поправил скрипт получилось так

    /**

    • @name Отопление по датчику температуры

    • @desc Сценарий работает при включеном режиме АВТО

    • При снижении температуры ниже порогового значения на 0.5 градуса батарея включается,

    • при достижении порогового значения - отключается.

    • В качестве порога берется уставка с датчика температуры (defval)

    */

    const bat = Device("ActorD", "Батарея");

    const dt = Device("SensorA", "Датчик температуры");

    const script = {

    check() {

    return bat.auto && ( !bat.dval&&(dt.aval <= dt.defval-0.5) || bat.dval&&(dt.aval >= dt.defval));

    },

    start() {

    if (!bat.dval) {

    this.do(bat, "aon");

    } else {

    this.do(bat, "aoff");

    }

    }

    };

    Режим работы радиатора АВТО

    Что наверно делаю не так. Опять не работает.

    Температура на датчике температуры ниже заданной, батарея не включается.

    Запускаю отладчик, вижу что условие не выполняется.

    02.07 11:04:23.953 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:04:25.053 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:04:26.153 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:04:27.253 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:04:30.533 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:04:32.723 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:04:36.005 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:04:45.823 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:06:42.473 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:06:43.573 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:06:44.673 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:06:45.773 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:06:47.963 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    Скрипт не запускается.

    Повышаю температуру на датчике выше установленной.

    2.07 11:07:54.533 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:07:56.713 S1(RADIATOR1,STEMP1) Check(STEMP1) => true

    02.07 11:07:56.714 S1(RADIATOR1,STEMP1) Started

    02.07 11:07:56.715 S1(RADIATOR1,STEMP1) do RADIATOR1 aoff

    02.07 11:07:56.717 S1(RADIATOR1,STEMP1) Stopped

    02.07 11:08:01.073 S1(RADIATOR1,STEMP1) Check(STEMP1) => true

    02.07 11:08:01.074 S1(RADIATOR1,STEMP1) Started

    02.07 11:08:01.075 S1(RADIATOR1,STEMP1) do RADIATOR1 aoff

    02.07 11:08:01.077 S1(RADIATOR1,STEMP1) Stopped

    02.07 11:08:08.713 S1(RADIATOR1,STEMP1) Check(STEMP1) => true

    02.07 11:08:08.714 S1(RADIATOR1,STEMP1) Started

    02.07 11:08:08.715 S1(RADIATOR1,STEMP1) do RADIATOR1 aoff

    02.07 11:08:08.718 S1(RADIATOR1,STEMP1) Stopped

    Скрипт запускается батарея не включается.

    При понижении температуры видим что условие не выполнено

    .07 11:12:03.157 S1(RADIATOR1,STEMP1) Stopped

    02.07 11:12:04.243 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:12:06.435 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    02.07 11:12:08.613 S1(RADIATOR1,STEMP1) Check(STEMP1) => false

    Наверно ошибка в условии или что делаю не правильно



  • @intrapro:

    Добрый день.

    Сценарий неправильно работает, так как в последней версии реализован механизм временного отключения auto (как в Berry), а сценарии на сайте не поправили 😞

    Что исправить, чтобы сценарий заработал:

    Вариант 1. Без использования auto

    Убрать bat.auto из условия. Также убрать галочку для устройства "Есть автоматический режим".

    Вариант 2: С использованием auto.

    Поставить галочку для устройства "Есть автоматический режим". Команды on/off заменить на aon/aoff

    В этом случае сценарий будет срабатывать, только если для устройства установлен режим auto

    Немного подробнее про механизм auto.

    Флаг аuto можно переключать интерактивно.

    Также auto временно сбрасывается при ручном управлении (с выключателя, интерактивно) и затем восстанавливается через заданное время.

    lamp_auto.jpg

    При временном отключении auto на иконке устройства появляются "часики", а на вкладке параметров видно, когда auto будет восстановлен.

    Если установить времена в 0, то авто отключаться не будет.

    lamp_reauto.jpg

    Команды on/off также рассматриваются как ручное управление, то есть auto временно сбрасывается.

    Команды "aon" и "aoff" отличаются только тем, что не сбрасывают auto.

    В принципе, в сценариях можно всегда использовать aon, aoff, независимо от наличия флага auto у устройства

    Как перейти в интерфейс (правое меню), который на скриншоте?



  • Долгое нажатие на иконке



  • @flex_x:

    Добрый день.

    Решил пойти по второму варианту

    Скрипт не запускается.

    Наверно ошибка в условии или что делаю не правильно

    Добрый день.

    Попробуйте тогда так:

    const script = {
      check() {
        return bat.auto && ( (bat.dval==0)&&(dt.aval <= dt.defval-0.5) || (bat.dval>0)&&(dt.aval >= dt.defval));
      },
    
      start() {
        if (bat.dval==0) {
          this.do(bat, "aon");
        } else {
          this.do(bat, "aoff");
        }
      }
    };
    
    
    

    У Вас устройства к какому плагину подключены?



  • Добрый день.

    Плагин Raspberry 1-Wire GPIO4 манифест от 27.06.2018 14:41:26 для датчика температуры

    Плагин Raspberry GPIO манифест от 27.06.2018 14:42:02 для батареи.

    Скрипт изменил по Вашей рекомендации.

    Заработала после перезагрузки системы

    Огромное спасибо.



  • Добрый день!

    У меня немного офтоп, но тема самая близкая.

    Есть датчики влажности с уставкой, по умолчанию вставлено 20%, при перемещении ползунка все работает, но после перезагрузки сервера ползунок вновь на 20%. Как сделать так, чтобы значение уставки запоминалось после перезагрузки сервера?



  • @homa:

    Как сделать так, чтобы значение уставки запоминалось после перезагрузки сервера?

    Да, был такой баг. Исправлено в версии 4.2.1, сейчас уставки должны сохраняться



  • А по чему у меня боковое окно почти пустое?
    Снимок.PNG



  • Вышлите нам проект. Посмотрим.

    <email email="support@intrahouse.ru">support@intrahouse.ru</email>



  • @zahar69:

    А по чему у меня боковое окно почти пустое?

    У батареи 2 кнопки вкл. и выкл. Это правильно.

    Непонятно почему у вас в боковом окне неправильно отображается кнопки вкладок.

    Мы посмотрели присланный проект. Все работает как надо.

    Прошу сообщить, какой браузер используете.



  • Это браузер :mrgreen:



  • установил сценарий отопления https://ih-systems.com/ru/scen-climate1/. не пойму где можно устанавливать температуру заданую. не вижу регулятора где установить заданую температуру

    Разобрался, в настройках температурного датчика нужно поставить галочку дефолтное значение и тогда появляется бегунок с настройкой температуры

    Подскажите как внести настройки в сценарий что бы в ночное время по расписанию понижалась температура, если нет движения определеное время в помещении то тоже понижалась температура. но что бы была возможность устанавливать время включения ночного режима и время включения.



  • у меня 9 зон отопления (батарей), делится на 2 этажа (1 этаж- 4 зоны, 2 этаж- 5 зон), на каждом этаже есть двигатель который качает по этажу воду и 9 датчиков температуры.

    задача: вывести в скрипт все зоны отопления которые управляются температурными датчиками, если на 2 этаже все зоны перекрыты то насос который качает воду по этажу тоже должен останавливатся и когда хотябы в одной зоне открывается сервопривод то насос должен запускатся, аналогично на 1 этаже.

    еще есть пожелание: создать 2 режима работы системы отопления: эконом, стандарт (эконом это ночное время). в меню хочу чтобы можно было устанавливать от и до какого времени устанавливается ночной режим. чтобы система работала в автоматическом режиме.

    хто может взятся помочь?



  • @amgstone:

    у меня 9 зон отопления (батарей), делится на 2 этажа (1 этаж- 4 зоны, 2 этаж- 5 зон), на каждом этаже есть двигатель который качает по этажу воду и 9 датчиков температуры.

    задача: вывести в скрипт все зоны отопления которые управляются температурными датчиками, если на 2 этаже все зоны перекрыты то насос который качает воду по этажу тоже должен останавливатся и когда хотябы в одной зоне открывается сервопривод то насос должен запускатся, аналогично на 1 этаже.

    еще есть пожелание: создать 2 режима работы системы отопления: эконом, стандарт (эконом это ночное время). в меню хочу чтобы можно было устанавливать от и до какого времени устанавливается ночной режим. чтобы система работала в автоматическом режиме.

    хто может взятся помочь?

    Гидравлику кто проектировал?

    Если зоны подключены к гребенке, на которой установлены клапана, то.

    Клапан открывается 2-3 минуты после подачи на него напряжения.

    А система считает его "открытым" сразу после подачи на клапан напряжения.

    И включит насос, который погонит жижу в фактически закрытый клапан. Что сильно сократит срок его полезного использования.

    Чтобы такого не случалось, предусматривают байпас в гидравлической схеме.

    Он есть?

    А скрипт примерно такой

    Актуаторы - это клапана (зоны)

    Если хотябы одно в ON (логическое "или") - тогда после 120 сек включает насос.

    Если все off (логическое "и") - тогда выключает насос



  • а по второму пункту (режимы и их переключения)

    не пользуйтесь полем установки по умолчанию.

    Создайте виртуальные устройства для режима, температурной уставки каждого режима (чтобы помнить свои установки, если они меняются) и поле текущей уставки для каждого помещения.

    В зависимости от значения "режима" назначайте скриптом температуру текущей уставки, скопировав ее из уставки режима.

    И сравнивая температуру датчика с температурой уставки управляйте отопителями в других скриптах.

    Отдельно, в третьем скрипте, можно по таймеру (дневному, недельному) менять значение режима. Остальные скрипты сами по изменению отработают.

    По датчику движения режимы переключать тоже можно, но сомневаюсь в целесообразности, т.к. у отопления высокая инертность. Заметная телу логика будет примерно такая - "после последнего движения часа 3 не включать экономичный режим".



  • @Erik:

    @amgstone:

    у меня 9 зон отопления (батарей), делится на 2 этажа (1 этаж- 4 зоны, 2 этаж- 5 зон), на каждом этаже есть двигатель который качает по этажу воду и 9 датчиков температуры.

    задача: вывести в скрипт все зоны отопления которые управляются температурными датчиками, если на 2 этаже все зоны перекрыты то насос который качает воду по этажу тоже должен останавливатся и когда хотябы в одной зоне открывается сервопривод то насос должен запускатся, аналогично на 1 этаже.

    еще есть пожелание: создать 2 режима работы системы отопления: эконом, стандарт (эконом это ночное время). в меню хочу чтобы можно было устанавливать от и до какого времени устанавливается ночной режим. чтобы система работала в автоматическом режиме.

    хто может взятся помочь?

    Гидравлику кто проектировал?

    Если зоны подключены к гребенке, на которой установлены клапана, то.

    Клапан открывается 2-3 минуты после подачи на него напряжения.

    А система считает его "открытым" сразу после подачи на клапан напряжения.

    И включит насос, который погонит жижу в фактически закрытый клапан. Что сильно сократит срок его полезного использования.

    Чтобы такого не случалось, предусматривают байпас в гидравлической схеме.

    Он есть?

    А скрипт примерно такой

    Актуаторы - это клапана (зоны)

    Если хотябы одно в ON (логическое "или") - тогда после 120 сек включает насос.

    Если все off (логическое "и") - тогда выключает насос

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

    И в Вашей схеме нету температурных датчиком температуры, как их добавить в схему?



  • @amgstone:

    И в Вашей схеме нету температурных датчиком температуры, как их добавить в схему?

    такие конструкции для каждого клапана

    https://ih-systems.com/ru/scen-climate1/

    только вместо батареи в примере делаете свой клапан.

    И уставку тоже сделайте своим устройством "текущая уставка"



  • @amgstone:

    а эконом и комфорт в каждой зоне прописывать в меню можно создать, время включения и выключения этого режима, ну чтобы в ночное время переходил на эконом режим?

    В меню "сценарии" есть целый раздел "расписание".

    Там можно установить когда какой сценарий запускать на неделю вперед. Или не сценарий, а включать/выключать устройство.

    Сделайте сценарий включения экономичного режима в комнате, и создайте ему расписание запуска. Или виртуальное устройство "режим отопления" и меняйте ему состояния напрямую в расписании.

    То же самое для включения комфортного режима.


Log in to reply