iRidium Server + KNX
Подробнее о драйвере KNX можно прочитать тут: http://wiki2.iridiummobile.net/KNX
Этапы формирования проектов управления оборудованием KNX при помощи iRidium Server:
1. Создание серверного проекта. Импорт каналов управления, настройка подключения к оборудованию. Создание скриптовых сценариев, настройка записи в базу данных.
2.Создание панельного проекта, связанного с серверным. Создание
графического интерфейса проекта, связь графического интерфейса с
каналами и тегами управления.
3. Загрузка серверного проекта на сервер.
4. Загрузка панельного проекта в клиент.
Для быстрого перехода с версии 2.2 на версию с сервером удобно использовать ранее созданный в iRidium GUI Editor проект.
Проекты для изучения - серверный и, связанный с ним, панельный проект:
KNX server.sirpz
KNX project
1. Создать серверный проект
Подробнее о создании Серверного проекта описано тут.1. Создать файл серверного проекта
В Меню выбрать пункт меню "New Server Project"
2. Назвать проект.
Дать имя новому проекту, либо оставить по-умолчанию.3. Указать настройки подключения к серверу.
Внесите основную информацию о проекте, а так же указать настройки подключения к серверу (можно указать позже).
Для удобства дальнейшей работы заполните поля в разделе Settings:
- Server host - IP адрес сервера
- Server port - порт подключения к серверу (по-умолчанию: 30464)
- Login (функционал в разработке) - логин для подключения панелей к серверу
- Password (бфункционал в разработке) - пароль для подключения панелей к серверу
- System ID (функционал в разработке) - уникальный идентификатор сервера, будет использован в системе push нотификаций и DDNS сервере
серверному проекту, эти настройки автоматически будут импортированы, что
позволит вам не вводить настройки вручную в каждый из панельных
проектов.
О назначении других полей прочитайте здесь.
4. Перейти в рабочую вкладку I/O
(подробнее о назначении вкладок здесь):Project Overview позволяет перемещаться между окнами настроек сервера:
Project Overview:
- I/O - входы/выходы; открывает для редактирования теги сервера и теги драйвера
- Config - настройки серверного проекта
5. Добавить драйвер KNX в проект
Чащевсего добавление KNX драйвера в проект происходит при помощи функции
Импорт. Импортировать можно проект, созданный в ETS, а так же *.irpz,
созданный в iRidium GUI Editor, если у вас уже есть готовая настроенная инсталляция на оборудовании KNX.
Доступ к функции импорта осуществляется из меню File->Import и по кнопке на панели DRIVERS:
6. Указать настройки подключения к оборудованию:
Если вы импортировали драйвера из проекта *.irpz, ранее созданного в iRidium GUI Editor, настройки уже будут заполнены.- Name - имя управляемого устройства, произвольно
- Debug Level - какие уведомления следует выводить в лог сервера
- Local Connection - заполните список настроек подключения, он уникален для каждого драйвера
7. Настроить команды управления оборудованием и каналы обратной связи:
Настройтекоманды и каналы обратной связи на панели DRIVERS, точно так же,
как и во вкладке Project Device Panel панельного проекта. Инструкции по драйверу KNX можно найти на
Wiki V.2
Если вы импортировали ранее созданный проект, то команды и каналы обратной связи уже настроены.
7. Настроить привязанные к драйверу серверные каналы и теги:
На панели IRIDIUM SERVER для каждой команды и канала обратной связи драйвера
формируется серверный канал (для записи) или тег (для чтения). На их
основе будет сформирован драйвер iRidium Server, и каждая панель
управления, которая будет подключаться к этому серверу, будет обращаться
именно к этим каналам и тегам.
Поля, которые можно настроить у серверного канала (для записи):
- Name - короткое имя (по-умолчанию: имя команды драйвера)
- Full Name - полное имя серверного канала для обращения из скрипта
- Description - описание (опционально)
- Script - выполнить JavaScript функцию без аргументов каждый раз при активации канала
- Name - короткое имя (по-умолчанию: имя канала обратной связи драйвера)
- Full Tag Name - полное имя серверного тега для обращения из скрипта
- Description - описание (опционально)
- Store In DB - сохранение всех измененных значений в базу данных
- Access - тип переменной: Public - можно изменить с панели управления, Private - можно изменить только с сервера
- Deadband - погрешность изменения, которую не нужно учитывать при построении графика на основании данных тега. Например, при Deadband: 0.5, изменение переменной на 0.3 не отобразится на графике в приложении-клиенте.
- Script - выполнить JavaScript функцию каждый раз при активации тега
!В текущей версии iRidium Studio beta нет возможности синхронизировать имена драйвера, каналов и тегов - т.о. дайте им окончательные имена при текущей настройке. Т.е., если вы уже начнете настраивать панельный проект, а после этого решите переименовать драйвер, каналы или теги в панели IRIDIUM SERVER, то при синхронизации они добавятся как новый драйвер, или как новый канал или фитбек и вам придется заново связывать их с элементами графического интерфейса.
8. Создать виртуальные переменные (опционально):
Виртуальные переменные (Virtual)- переменные, в которые можно записывать любые данные, полученные в
результате работы скриптов (числа, строки, массивы). Виртуальные
переменные доступны для изменения с панели управления.
- VIrtual > Channels - переменные, доступные для записи
- VIrtual > Tags - переменные, доступные для чтения
Для примера, создадим 2 виртуальных серверных канала (с именами
External KNX IP и Internal KNX IP), которые при активации будут вызывать
функцию SetParameters и переключать настройки драйвера с внешних на
внутренние и наоборот. А также виртуальный серверный тег "Status KNX", в
который мы будем записывать текст из скрипта:
1. Создайте 2 виртуальный канала и 1 виртуальный тег по ПКМ:
2. Перейдите в редактор JS-скриптов. Создайте файл скрипта с необходимыми функциями:
function External_KNX_IP() { IR.Log("External KNX IP"); //выводит в лог сервера IR.GetDevice("KNX").SetParameters({Host: "192.168.0.152", Port: "3671", ConnectTime: "120000", SendTime: "0", PingTime: "60000"}); // меняет настройки подключения к драйверу IR.SetVariable("Server.Tags.Status KNX","We try to connect to External KNX IP"); //записывает в виртуальный тег Status текст }; function Internal_KNX_IP() { IR.Log("Internal KNX IP"); //выводит в лог сервера IR.GetDevice("KNX").SetParameters({Host: "213.114.30.30", Port: "3671", ConnectTime: "120000", SendTime: "0", PingTime: "60000"}); // меняет настройки подключения к драйверу IR.SetVariable("Server.Tags.Status KNX","We try to connect to Internal KNX IP"); //записывает в виртуальный тег Status текст };3. В поле Script необходимой команды выберите нужную функцию для обеих команд.
В тестовом проекте добавлены примеры, как сделать функции SetParameters и Connect, Disconnect к драйверу.
9. Написать необходимые скрипты (опционально).
Как обращаться к каналам и тегам серверного проекта описано тут .10. Сохранить проект.
KNX server.sirpz2. Создать панельный проект
1. Добавить в панельный проект каналы и теги серверного проекта
Существует несколько способов:1. Создать панельный проект из серверного проекта
1. Откройте ваш серверный проект. Правой кнопкой мыши нажмите на его имя и выберите пункт меню "Create Panel Project"
2. Дайте имя панельному проекту.
3.
В панельном проекте в "Project Device Panel" находится драйвер iRidium
Server, который содержит настройки подключения к серверному проекту
(если вы их заранее настроили), а так же все каналы и теги.
2. Синхронизировать драйвер iRidium Server с существующим панельным проектом
1. Открыть в iRidium Studio ваш серверный проект.2. Создать в iRidium Studio новый или открыть существующий панельный проект.
3. В панельный проект добавить драйвер iRidium Server:
4. Выбрать в качестве источника для драйвера iRidium Server ваш серверный проект:
- Выделить драйвер iRidium Server на панели "Project Device Panel"
- Нажать в на ... в строке Source Project в настройках драйвера.
- Выбрать из списка необходимый серверный проект
- Нажать ОК.
- Выделить драйвер iRidium Server на панели "Project Device Panel"
- Нажать на иконку синхронизации.
- Согласиться с запросом синхронизации.
1 - Driver Tokens - переменные драйвера. Отображают статус подключения к серверу. Переменные драйвера доступны только на чтение:
- Online - состояние подключения к серверу (Online/Offline = 1/0)
- Status - статус подключения к серверу (Offline/Connecting/Online/Waiting = 0...3)
- Host - доменное имя удаленной системы
- IP - IP-адрес управляющей панели
- Port - локальный порт клиента, через который осуществляется связь с удаленным устройством
- HostIP - IP-адрес удаленной системы, к которой подключено iRidium App
- HostPort - порт на удаленной системе, к которому подключается iRidium App
- ServerName - имя сервера
- ServerModel - модель сервера
- ServerHWID - идентификатор сервера
- ServerFamily - код семейства операционной системы
- ServerArch - код архитектуры (1 - x86; 2 - x64-86; 3 - ARM32)
- ServerFamillyName - имя семейства операционной системы
- ServerArchName - имя архитектуры операционной системы
- ServerOsName - полное имя операционной системы
- ServerVersion - версия сервера
3. Виртуальные серверные каналы.
4. Токены драйвера, управляемого через сервер.
5. Теги обратной связи драйверов, управляемых через сервер.
6. Виртуальные серверные теги.
!Не создавайте в панельном проекте в драйвере iRidium Server новых команд и
каналов обратной связи. При синхронизации они не будут созданы в
серверном проекте и не будут работать.
Параметры серверной команды в панельном проекте:
Name - Имя канала. Формат имени "Имя_драйвера.Имя канала"
Параметры серверного тега в панельном проекте:
Name - Имя тега. Формат имени "Имя_драйвера.Имя тега"
Save Value When Disconnect
- сохранение последнего полученного значения тега на кнопке, когда
оборвалась связь панели с сервером (True - сохранять значение на
элементе; False - сбрасывать значение в 0);
2. Привязать команды к графическим элементам
Команды и обратная связь драйверов, а также Токены драйвера
привязываются аналогично уже существующим инструкциям работы с
драйверами, описанными на iRidiumWiki.
Виртуальные серверные каналы привязываются как SendNumber с пустым значение поля:
Виртуальные серверные теги привязываются, как As Value или As Text, в зависимости от целей.
3. Синхронизация серверного и панельного проектов в процессе работы
Если вы будете исправлять серверный проект уже в процессе работы над
панельным проектом, появится необходимость синхронизации этих проектов.
В текущей версии iRidium Studio синхронизация может:
+ добавлять новые каналы и теги из серверного проекта;
Не может:
- обновлять имена драйвера, канала и тега сервера (если вы измените имя
существующего канала или тега, он добавится вновь с новым именем);
- удалять каналы и теги в панельном проекте, если они удалены из серверного;
Процесс синхронизации:
1. Измените серверный проект и сохраните его
2. Перейдите в связанный с ним панельный проект и:
- Выделить драйвер iRidium Server на панели "Project Device Panel"
- Нажать на иконку синхронизации.
- Согласиться с запросом синхронизации.
После того, как серверный и панельные проекты будут полностью готовы, необходимо загрузить их на сервер и панели.
Customer support service by UserEcho