Вопросы по работе системы



  • Ответил в личку



  • Что такое "Autocomplete" в примитивах?

    Как оно должно работать?

    У меня при установке на мнемосхему при выбранной таблице "rooms" (по-умолчанию, на что можно поменять не понятно) открывает список всех мнемосхем вообще.

    Но выбор ни на что не влияет.



  • @Erik:

    Что такое "Autocomplete" в примитивах?

    Как оно должно работать?

    У меня при установке на мнемосхему при выбранной таблице "rooms" (по-умолчанию, на что можно поменять не понятно) открывает список всех мнемосхем вообще.

    Но выбор ни на что не влияет.

    Этот компонент пока в процессе разработки 😉

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

    Конечно, после доработки можно будет использовать и для более прямых задач - например, запуск сценария из списка сценариев (м б с фильтром)



  • Вопрос - у плагинов, например, megad в каналах есть вкладка "Обработка", а там - "Формула расчета входного значения". Этот функционал работает? И как им пользоваться?

    Задача - опрашивается датчик, приходит температура теплоносителя, но поскольку датчик закреплен не совсем идеально (не в нужном месте, площадь прижатия к трубе маловата и площадь рассеивания датчика большевата), то хочется температуру немного скорректировать до того значения, которое показывает котел. Как это сделать?



  • @Alex_Jet:

    Вопрос - у плагинов, например, megad в каналах есть вкладка "Обработка", а там - "Формула расчета входного значения". Этот функционал работает? И как им пользоваться?

    Задача - опрашивается датчик, приходит температура теплоносителя, но поскольку датчик закреплен не совсем идеально (не в нужном месте, площадь прижатия к трубе маловата и площадь рассеивания датчика большевата), то хочется температуру немного скорректировать до того значения, которое показывает котел. Как это сделать?

    В теме про модбас отвечали
    @intrapro:

    @Erik:

    И какой синтаксис у формул обработки?

    value - значение от плагина. Любой оператор js, в том числе тернарный:

    Например, Math.round(value/255*10)

    или (value>0) ? value/10 : 0

    Результат - значение в устройство

    Но если у вас задача преобразования диапазона логического в физический, то для этого в канале есть флаг "Трансформация значения"

    Там как раз указывается диапазон логических и физических значений и выполняется их корректный пересчет

    Например, для задвижки 0-90 градусов нужно отправить значения от 0 до 32767 (7FFF) или 255 (FF)



  • @Erik:

    В теме про модбас отвечали
    @intrapro:

    @Erik:

    И какой синтаксис у формул обработки?

    value - значение от плагина. Любой оператор js, в том числе тернарный:

    Например, Math.round(value/255*10)

    или (value>0) ? value/10 : 0

    Результат - значение в устройство

    Но если у вас задача преобразования диапазона логического в физический, то для этого в канале есть флаг "Трансформация значения"

    Там как раз указывается диапазон логических и физических значений и выполняется их корректный пересчет

    Например, для задвижки 0-90 градусов нужно отправить значения от 0 до 32767 (7FFF) или 255 (FF)

    В данном случае мне нужно тупо добавить два градуса сверху. Однако value+2 результата не дает:(



  • я делю, умножаю.

    value/10

    value*10

    работают.



  • Коллеги, почитал форум, но не нашел ответа на свой вопрос ни в одной ветке.

    Задача - управлять GET-запросами камерой (PTZ, Zoom) через кнопки, расположенные рядом с виджетом CCTV. Какие есть варианты? Подскажите, постараюсь реализовать и написать статью для вики.



  • @Alex_Jet:

    Коллеги, почитал форум, но не нашел ответа на свой вопрос ни в одной ветке.

    Задача - управлять GET-запросами камерой (PTZ, Zoom) через кнопки, расположенные рядом с виджетом CCTV. Какие есть варианты? Подскажите, постараюсь реализовать и написать статью для вики.

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



  • @dev:

    @Alex_Jet:

    Коллеги, почитал форум, но не нашел ответа на свой вопрос ни в одной ветке.

    Задача - управлять GET-запросами камерой (PTZ, Zoom) через кнопки, расположенные рядом с виджетом CCTV. Какие есть варианты? Подскажите, постараюсь реализовать и написать статью для вики.

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

    Да, я разобрался что у меня есть 2 пути - сделать кнопку и в качестве команды выбрать либо/либо:

    1. http-плагин и в "Команда/дополнительный параметр" вписывать прямую ссылку GET-запроса для управления камерой

    2. Сценарий, который формирует команду http-плагину, и в "Команда/дополнительный параметр" вписывать параметры {"ip":"192.168.11.11","dir":"center"}

    Однако момент в том, что плагин должен вначале авторизоваться на камере… заводить устройство чтобы привязать его к каналу http-плагина с предварительной аутентификацией у меня нет желания(. Другого способа пока не придумал.

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

    Например, команда, которую даю я "кнопкой":

    24.09 14:53:42.050 IH: plugin command { unit: 'http',
      command: 'http://192.168.11.11/web/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-status=1&-number=3',
      type: 'command' }
    
    

    А это - если сам плагин опрашивает канал:

    24.09 14:56:35.772 http: GET http://192.168.11.11/web/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-status=1&-number=0  error: Response status code no match, 200 != 401
    
    

    То есть во втором случае я хотя бы вижу, что плагин обращается к железке, а та говорит что плагин не авторизован!



  • Сопутствующий вопрос))) как обмануть вашу проверку файлов на принадлежность к js скрипту? Хотел через ih (доступ только по p2p) выгрузить дамп обмена данными скопировав его в …./script и выгрузив как архив, но не тут-то было...

    Это наверное к слову о развитии p2p (доступ через ih к другим железкам, а также выгрузка/загрузка файлов хотя бы на сервер).



  • Попробуйте в запросе поставить логин и пароль , вот так http://admin:password@<ip адрес="">/ и тд.</ip>



  • @thunder_d:

    Попробуйте в запросе поставить логин и пароль , вот так http://admin:password@<ip адрес="">/ и тд.</ip>

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

    Update: пробовал, да не там пробовал! GET тоже работает:

    24.09 17:46:35.149 http: GET http://xxx:xxx@192.168.11.11/web/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-status=1&-number=0
    ---- HEADERS START ----
    {
      "server": "Hipcam",
      "cache-control": "no-cache",
      "content-type": "text/html",
      "connection": "close",
      "content-length": "16"
    }
    ---- HEADERS END ----
    ---- BODY START ----
    [Succeed]set ok.---- BODY END ----
    
    

    Момент в том, почему когда даю плагину команду, то он ее никуда не транслирует? Что я делаю не так?

    24.09 17:46:32.586 IH: plugin command { unit: 'http',
      command: 'http://xxx:xxx@192.168.11.11/web/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-status=1&-number=1',
      type: 'command' }
    
    


  • А вот так в конце http://<ip адрес="">/cgi-bin/images_cgi?channel=<номер потока>&user=admin&pwd=password</ip>



  • @thunder_d:

    А вот так в конце http://<ip адрес="">/cgi-bin/images_cgi?channel=<номер потока>&user=admin&pwd=password</ip>

    Выше откорректировал сообщение. Я знаю почти все эти варианты и перепробовал их все). Оказывается дело в том, что плагин не посылает этот GET-запрос на железку…почему?



  • @Alex_Jet:

    @thunder_d:

    Попробуйте в запросе поставить логин и пароль , вот так http://admin:password@<ip адрес="">/ и тд.</ip>

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

    Update: пробовал, да не там пробовал! GET тоже работает:

    > 24.09 17:46:35.149 http: GET http://xxx:xxx@192.168.11.11/web/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-status=1&-number=0
    > ---- HEADERS START ----
    > {
    >   "server": "Hipcam",
    >   "cache-control": "no-cache",
    >   "content-type": "text/html",
    >   "connection": "close",
    >   "content-length": "16"
    > }
    > ---- HEADERS END ----
    > ---- BODY START ----
    > [Succeed]set ok.---- BODY END ----
    > 
    

    Момент в том, почему когда даю плагину команду, то он ее никуда не транслирует? Что я делаю не так?

    > 24.09 17:46:32.586 IH: plugin command { unit: 'http',
    >   command: 'http://xxx:xxx@192.168.11.11/web/cgi-bin/hi3510/param.cgi?cmd=preset&-act=goto&-status=1&-number=1',
    >   type: 'command' }
    > 
    

    Добрый день, обновите плагин http до версии 0.0.16, команда плагина в предыдущих версиях не поддерживалась, команда плагина для http выполняет GET запрос



  • Во как 😉



  • @dev:

    Добрый день, обновите плагин http до версии 0.0.16, команда плагина в предыдущих версиях не поддерживалась, команда плагина для http выполняет GET запрос

    Спасибо! Теперь все встало на свои места и работает хорошо:)



  • @dev:

    Добрый день

    Камерами из iH удобнее управлять кнопками через сценарий. Пара вопросов:

    1. Сейчас есть какая-нибудь возможность изменять внешний вид кнопки в зависимости от состояния устройства?

    2. При загрузке экрана/мнемосхемы/виджета можно как-то активировать сценарий, который опросит состояние устройства?

    Задача - с виджета/мнемосхемы управлять камерами: PTZ, включение/отключение подсветки/ИК-подсветки/режима охраны/выходов. Если для PTZ есть обратная связь в виде изменения изображения с камеры, то для всего остального чтобы сделать обратную связь необходимо:

    1. Опрашивать камеру по различным статусам (включен/выключен выход/подсветка и прочее) при открытии виджета/мнемосхемы

    2. Эти статусы присваивать либо созданным актюаторам, либо изменять внешний вид кнопок.

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

    Кстати, в качестве "примитивов" (альтернатива кнопки) не хватает переключателя)))



  • Здравствуйте. Тут появилась мысль, может конечно она не годна, но все же озвучу. Было бы не плохо, еслиб при каждом изменении сценария или каких-то изменений, сохранялся архив с настройками в zip формат автоматически, в какую нибудь резервную область ( например флешка ), а так же в самих настройках был пункт с галочкой для пользователя сохранять автоматически или в ручную. Просто если накроется флешка или ssd с системой, то можно было б оперативно восстановить работоспособность.


Авторизуйтесь, чтобы ответить