Group Details Private

administrators

Member List

  • RE: Установка значений каналов через REST API

    Добрый день, Александр! Очень изобретательно 🙂
    Но теперь понимаю, что задача у вас - организовать через API управление (запись на железо).
    Конечно, система должна предоставить для этого прямой способ.

    В версии 5.9 это к сожалению не работает, сейчас выполняем унификацию API для разных скриптов системы (скрипты визуализации, сценарии, REST API).

    В 5.10 (релиз выйдет в начале следующей недели) можно будет выполнять команды устройства напрямую:

    const dev = holder.getDevice('VENT1');             
    dev.setValue('setpoint', 22);        
    dev.on();          
    
    
    posted in IntraSCADA V5
  • RE: Установка значений каналов через REST API

    Добрый день! В канал плагина установить данные через REST API не получится. Можно записать значение в свойство устройства минуя канал. Для этого нужно сгенерировать событие 'received:device:data'. Такое же событие генерируется при получении данных с плагина для привязанных к каналам устройств.
    Объект события: {<device1 ID>:{<prop1>:val1,...}, <device2 ID>:{<prop2>:val2,...} }
    Пример 1. Передается ID устройства, имя свойства и значение

    /**
     * Обработчик запроса REST API
     * /restapi/device/set?did=d0021&prop=setpoint&value=42
     *    => {d0021:{setpoint:42}}
     */
    module.exports = async (req, res, holder, debug) => { 
      try {
        const did =  req.query.did;
        const prop =  req.query.prop;
        const val =  req.query.value || 0;
        holder.emit('received:device:data', {[did]: {[prop]: val} });
        res.json({ res: 1});
      } catch (e) {
        res.json({ res: 0, message: e.message });
        debug(e.message)
      }
    };
    

    Пример 2. Передается dn (device name) устройства, по нему сначала нужно определить device ID

    /**
     * Обработчик запроса REST API
     * /restapi/device/set?dn=DT101&prop=setpoint&value=42
     *    => {d0021:{setpoint:42}}
     */
    module.exports = async (req, res, holder, debug) => { 
      try {
        const dn =  req.query.dn;
        const prop =  req.query.prop;
        const val =  req.query.value || 0;
        const dobj = holder.dnSet[dn];
        if (!dobj) throw {message:'Not found device '+dn};
        
        const did = dobj._id;
        holder.emit('received:device:data', {[did]: {[prop]: val} });
        res.json({ res: 1});
      } catch (e) {
        res.json({ res: 0, message: e.message });
        debug(e.message)
      }
    };
    

    Конечно, аналогично можно передать POST запрос с множеством значений

    posted in IntraSCADA V5
  • RE: Проблема установки на WirenBoard

    @semakk Добрый день, проблему решили. В скором времени мы выпустим DEB пакет который поможет решать проблемы медленного соединения.

    posted in IntraHouse
  • RE: Проблема установки на WirenBoard

    Если есть возможность, можем сейчас посмотреть через AnyDesk

    posted in IntraHouse
  • RE: Ошибка плагина p2p

    @Евгений1987 Добрый день, https://docs.intrascada.com/ru/pg042
    например можете вызвать диалог или использовать скрипты визуализации для переключения экрана, сценарий может запустить скрипт визуализации и там уже переключить экран https://docs.intrascada.com/ru/pg098

    posted in intraHouse V4 Cherry
  • RE: Ошибка плагина p2p

    @Евгений1987 Добрый день, плагин ставится в папку var/lib/intrahouse-c/plugins

    posted in intraHouse V4 Cherry
  • RE: Проблема установки на WirenBoard

    Попробовали у себя на WB7. Устанавливается без проблем. Надо подумать.
    Завтра можно посмотреть через AnyDesk

    posted in IntraHouse
  • RE: Проблема установки на WirenBoard

    Суть проверки в том, что система должна устанавливаться в папку /mnt/data/opt/ih-v5

    posted in IntraHouse
  • RE: Проблема установки на WirenBoard

    @semakk Просьба посмотреть командой
    ls /mnt/data/opt
    и еще
    ls /opt

    posted in IntraHouse
  • RE: Проблема установки на WirenBoard

    Вероятнее всего нет места на диске.
    Проверьте командой df -h
    И покажите нам скриншотом

    posted in IntraHouse