User manual



  • На сайте в разделе Поддержка/Загрузки/Изображения https://intrahouse.ru/downloads/images/ опубликован набор SVG картинок. Разделение по группам условное. Можете использовать в своих проектах как нужно вам.
    @Alex_Jet:

    По котлу, а заодно рекуператору и насосам отопления, я бы хотел иметь что-то типа этого:

    Сделал некоторые картинки по котлу и рекуператору. В конце группы Автоматизация. Картинки плоские, как и большинство SVG изображений.



  • @intrahouse:

    Сделал некоторые картинки по котлу и рекуператору. В конце группы Автоматизация. Картинки плоские, как и большинство SVG изображений.

    Огромное спасибо и за публикацию иконок и за создание необходимых мне 🙂



  • Вопрос - можно ли сделать привязку состояния примитивов к устройству? Или даже одного устройства к другому?

    Пример. Есть клапан входного воздуха и клапан выбрасываемого воздуха. Их актюаторы управляются параллельно с помощью одного и того же канала MegaD. На мнемосхеме хотелось бы отразить оба клапана - и входящего воздуха и выбрасываемого. Включаем один, включается и второй. Можно конечно поставить копию первого, чтобы она также себя вела, но как-то это неправильно.

    Хотя сейчас подумал - можно сделать сценарий: при включении одного устройства включается "привязанное" к нему другое.

    Сделал, но не работает - на мнемосхеме ведомое устройство не включается:

    /** 
    * @name Дублирование состояния устройства 
    * @desc Повторение состояния устройства. Если включается одно устройство, то привязанное к нему устройство тоже включается. И наоборот.
    */
    const device1 = Device("ActorD", "Устройство основное");
    
    const device2 = Device("ActorD", "Устройство ведомое");
    
    const script = {
        start() {
            if(device1.dval)
            { this.do(device2, "aon");
            }
            else
            { this.do(device2, "aoff");
            }
        } 
    };
    
    

    В целом, впечатления от системы крайне положительные! Всем мои предложения был воплощены:). Теперь с легкостью получается с нуля через веб-интерфейс строить такие системы с интерактивными элементами без необходимости создания графической подложки:
    Система вентиляции.png



  • @Alex_Jet:

    Хотя сейчас подумал - можно сделать сценарий: при включении одного устройства включается "привязанное" к нему другое.

    Сделал, но не работает - на мнемосхеме ведомое устройство не включается:

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

    Есть два варианта задания триггеров:

    Вариант 1: Задать условие check - сценарий запустится, если условие истинно

    Вариант 2: Объявить устройство как триггер: DeviceT, тогда сценарий будет запускаться по событиям устройства-триггера

    const device1 = DeviceT("ActorD", "Устройство основное");
    const device2 = Device("ActorD", "Устройство ведомое");
    
    
    


  • @Alex_Jet:

    Есть клапан входного воздуха и клапан выбрасываемого воздуха. Их актюаторы управляются параллельно с помощью одного и того же канала MegaD. На мнемосхеме хотелось бы отразить оба клапана - и входящего воздуха и выбрасываемого. Включаем один, включается и второй. Можно конечно поставить копию первого, чтобы она также себя вела, но как-то это неправильно.

    Можно сценарием.

    Но на мой взгляд это одно устройство, так как один канал MegaD. Я бы просто скопировал.



  • @intrahouse:

    На сайте в разделе Поддержка/Загрузки/Изображения https://intrahouse.ru/downloads/images/ опубликован набор SVG картинок. Разделение по группам условное. Можете использовать в своих проектах как нужно вам.

    А если будет немного свободного времени, то добавьте, пожалуйста, еще картинки (см.раздел "Безопасность") - дом с открытым замком, авто с открытым замком. Также не хватает - калитка с открытым/закрытым замком, ворота территории (не гаражные) с открытым/закрытым замком, картинка воздухонагревателя (вместо нее использую сейчас батарею), тепловой завесы. Может они и есть, но я не понимаю некоторые обозначения (например, climate810, climate240, climate250, heatexch110, ) 😞



  • @Alex_Jet:

    добавьте, пожалуйста, еще картинки (см.раздел "Безопасность")

    Добавил.
    @Alex_Jet:

    не понимаю некоторые обозначения (например, climate810, climate240, climate250, heatexch110, )

    Это просто названия файлов с изображениями. Можете переименовать перед загрузкой в систему.



  • @intrahouse:

    Добавил.

    Большое спасибо!
    @intrahouse:

    Это просто названия файлов с изображениями. Можете переименовать перед загрузкой в систему.

    Я не о названии файлов, а о самих картинках. Что на них изображено - не понимаю :?



  • Пиктограммы можно применять по разному в разных случаях.
    kl110.jpg
    Например так:

    1. Датчик атмосферного давления

    2. Подогрев труб. Зимой, против замерзания.

    3. Инфракрасный обогреватель

    4. Тепловая завеса. Или кондиционер.

    По датчику атмосферного давления пиктограмма возможно спорная. Но ничего другого не придумал.



  • @intrahouse:

    Пиктограммы можно применять по разному в разных случаях.

    kl110.jpg

    Например так:

    1. Датчик атмосферного давления

    2. Подогрев труб. Зимой, против замерзания.

    3. Инфракрасный обогреватель

    4. Тепловая завеса. Или кондиционер.

    По датчику атмосферного давления пиктограмма возможно спорная. Но ничего другого не придумал.

    Спасибо, отлично! Буду знать. Не сочтите за наглость, но еще не хватает значков уровня воды (например, стрелка с барьером в виде линии), фильтра тонкой/грубой очистки, танков для водоочистки (колонны с фильтрами), компрессора для аэрации, УФ лампы (и совмещенного варианта - аэратор с УФ лампой) 😉

    Да, кстати, по фильтрам - как сделать счетчик времени для замены фильтров в нужное время? С информированием по е-майл, СМС?



  • @intrahouse:

    Как сделать составное устройство? Имеем актюатор, а обратную связь осуществляем через геркон, НЗ контакты и т.п. Пример - калитка с ЭМ замком и герконом. При нажатии на устройство "Калитка" ее иконка менялась в соответствии с состоянием геркона.



  • Как установить в системе favicon? Очень не хватает его для идентификации странички в браузере.

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



  • @Alex_Jet:

    Да, кстати, по фильтрам - как сделать счетчик времени для замены фильтров в нужное время? С информированием по е-майл, СМС?

    По расписанию (в заданный день и час) можно запустить сценарий, который отправит e-mail

    this.info('email', 'admin', 'Замените фильтр'); 
    
    
    


  • @Alex_Jet:

    Как сделать составное устройство? Имеем актюатор, а обратную связь осуществляем через геркон, НЗ контакты и т.п. Пример - калитка с ЭМ замком и герконом. При нажатии на устройство "Калитка" ее иконка менялась в соответствии с состоянием геркона.

    Вариант 1. Использовать составные каналы.

    Одно устройство нужно будет привязать к нескольким каналам:

    • Добавить канал как выход DO, привязать к нему актуатор, сохранить.

    • Затем открыть этот канал для редактирования и поставить галочку Составной канал

    • В появившихся свойствах выбрать управление (ON)

    • Добавить канал как вход DI, привязать к нему тот же актуатор, поставить галочку Составной канал и в свойствах выбрать dval - состояние

    Должно работать, но для MegaD пока не тестировали 😞

    Вариант 2. Использовать обычные устройства, наложив их друг на друга: снизу геркон, сверху замок. Замок сделать прозрачным.



  • @intrapro:

    По расписанию (в заданный день и час) можно запустить сценарий, который отправит e-mail

    > this.info('email', 'admin', 'Замените фильтр'); 
    > 
    > 
    

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



  • Идея интересная. Подумаем



  • @Alex_Jet:

    Как установить в системе favicon? Очень не хватает его для идентификации странички в браузере.

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

    Честно говоря, даже не думали. Посмотрим



  • @intrapro:

    @Alex_Jet:

    Как сделать составное устройство? Имеем актюатор, а обратную связь осуществляем через геркон, НЗ контакты и т.п. Пример - калитка с ЭМ замком и герконом. При нажатии на устройство "Калитка" ее иконка менялась в соответствии с состоянием геркона.

    Вариант 1. Использовать составные каналы.

    Одно устройство нужно будет привязать к нескольким каналам:

    • Добавить канал как выход DO, привязать к нему актуатор, сохранить.

    • Затем открыть этот канал для редактирования и поставить галочку Составной канал

    • В появившихся свойствах выбрать управление (ON)

    • Добавить канал как вход DI, привязать к нему тот же актуатор, поставить галочку Составной канал и в свойствах выбрать dval - состояние

    Должно работать, но для MegaD пока не тестировали 😞

    Вариант 2. Использовать обычные устройства, наложив их друг на друга: снизу геркон, сверху замок. Замок сделать прозрачным.

    Ребята! Ну просто не реально круто! Сделал вариант 2 в виде кнопки на виджете "Оперативное меню". Надо будет в железе проверить срабатывание.
    Оперативное меню.png

    Вопрос! А как лучше сделать открытие ЭМ замка на калитке - через сценарий? То есть надо снять напряжение на 1-2 секунды и подать снова. Привязывать сценарий непосредственно в коде или сделать "запуск для устройств"? Или все равно как?



  • @intrapro:

    По сценарию:

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

    То есть, по кнопке АВТО просто включаем auto этого устройства

    А по другим кнопкам - отключаем auto и даем соотв. команду, например, так

    Помогите разобраться. Сделал SWITCH1 с 5-ю состояниями. При нажатии на любую кнопку его состояние сразу же изменяется на "Выключено".
    Система_вентиляции_Не работает_Переключатель.png
    Скрипт работы по событию на SWITCH1 - такой:

    /**
    * @name Работа рекуператора по датчикам 
    * @desc  
    */
    
    const sw = DeviceT("SWITCH1");
    const speed1 = Device("VENT_PVU1");
    const speed2 = Device("VENT_PVU2");
    const speed3 = Device("VENT_PVU3");
    
    const script = {
        start() {
          switch (Number(sw.dval)) {
    
            case 0: 
              	this.do(sw, "auto", 1);
                this.do(speed1, "off");
                this.do(speed2, "off");
                this.do(speed3, "off");
              	break;
            case 1: 
                this.do(sw, "auto", 0);
                this.do(speed1, "off");
                this.do(speed2, "off");
                this.do(speed3, "off");
              	break; 
            case 2: 
                this.do(sw, "auto", 0);
                this.do(speed1, "on");
                this.do(speed2, "off");
                this.do(speed3, "off");
              	break;
            case 3: 
                this.do(sw, "auto", 0);
                this.do(speed1, "off");
                this.do(speed2, "on");
                this.do(speed3, "off");
              	break;
            case 4: 
                this.do(sw, "auto", 0);
                this.do(speed1, "off");
                this.do(speed2, "off");
                this.do(speed3, "on");
              	break;
          }
        }
    };
    
    

    В отладчике при нажатии на SWITCH1, например, кнопки АВТО вот что происходит:

    13.09 10:06:43.206 Trigger SWITCH1
    13.09 10:06:43.206 Started
    13.09 10:06:43.207 do SWITCH1 auto 1
    13.09 10:06:43.208 do VENT_PVU1 off 
    13.09 10:06:43.209 do VENT_PVU2 off 
    13.09 10:06:43.209 do VENT_PVU3 off 
    13.09 10:06:43.210 Stopped
    13.09 10:06:43.303 Trigger SWITCH1
    13.09 10:06:43.304 Started
    13.09 10:06:43.304 do SWITCH1 auto 0
    13.09 10:06:43.305 do VENT_PVU1 off 
    13.09 10:06:43.306 do VENT_PVU2 off 
    13.09 10:06:43.307 do VENT_PVU3 off 
    13.09 10:06:43.308 Stopped
    
    

    И ответьте, пожалуйста, на дополнение в моем предыдущем посте.



  • @Alex_Jet:

    Вопрос! А как лучше сделать открытие ЭМ замка на калитке - через сценарий? То есть надо снять напряжение на 1-2 секунды и подать снова.

    Здесь вариантов много. Самый простой на сегодня - при нажатии на кнопку запустить сценарий такого типа:

    const rele = Device("ZAMOK"); 
    const script = {
        start() {
            this.do(rele, "off"); 
            this.startTimer("T1", 1, "doOn");   
        },
        doOn() {
            this.do(rele, "on"); 
        }
    };
    
    
    

    @Alex_Jet:

    Привязывать сценарий непосредственно в коде или сделать "запуск для устройств"? Или все равно как?

    Для real-time это без разницы.

    Если сценарий предполагается использовать несколько раз, имеет смысл сделать мультисценарий:

    const rele = Device("ActorD", "Реле замка"); 
    
    
    

    Затем добавить Запуск для устройств с конкретным реле - и только тогда он появится в списке сценариев.

    По первому варианту - сценарий сразу появится в списке, так как устройство определено.


Log in to reply