Релиз IntraHouse V5



  • Начиная с версии 5.5.104-beta
    изменена концепция доступа к пользовательскому интерфейсу (UI). Разрешения определяются группой.

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

    ВНИМАНИЕ! Для доступа к интерфейсу пользователь ДОЛЖЕН входить хотя бы в одну группу

    Если после обновления нет доступа, ВКЛЮЧИТЕ себя в группу Администраторы (создается автоматически)

    Для админки также будет регулирование доступа на базе групп. Пока доступ определяется ролью, но в ближайших версиях роли перестанут использоваться



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



  • @gis
    Кнопка Alt + колесико мыши - масштабирование
    Пробел + левая кнопка мыши - перемещение контейнеры, экрана



  • Уважаемые разработчики!!!
    Поделитесь, пожалуйста, планами разработки плагинов.
    Когда сделаете xiaomi и broadlink?



  • Добрый вечер!
    Установил IH v5.5.114. Настроил информирование через telegram в соответствии с документацией. Тестовые сообщения уходят. На команду из сценария типа this.info('telegram', 'admin', 'Текст сообщения') в отладчике появляются следующие сообщения:
    04.11 22:43:37.613 Send info telegram:{"txt":"Текст сообщения","dest":"admin"}
    04.11 22:43:37.616 ERROR Send info! Не найдены адреса информирования для получателя admin
    Я что то не так делаю или где-то косяк?
    Еще на команду из сценария this.pluginCommand({unit:'megad1', command:'/%pwd%/?cmd=all'});
    выдает ошибку:
    04.11 22:57:06.910 Blocked with run-time error: TypeError: this.pluginCommand is not a function
    Получается в 5 версии систему команд и формат сценариев поменяли? Когда будет актуальное описание?
    Так же в расширениях плагина Megad не удается выбрать сценарий для запуска в ответ на входящее сообщение от контроллера



  • @Erik В настоящее время занимаемся именно плагинами. Появились плагины http, telegram, email. На следующей неделе выйдет плагин zigbee. Потом xiaomi.
    Что касается плагина broadlink, пока ничего сказать не могу. Этот плагин писали не мы. А главное, у нас нет оборудования для тестирования.



  • Пользователь @Lost написал в Релиз IntraHouse V5:

    Тестовые сообщения уходят. На команду из сценария типа this.info('telegram', 'admin', 'Текст сообщения') в отладчике появляются следующие сообщения:
    04.11 22:43:37.613 Send info telegram:{"txt":"Текст сообщения","dest":"admin"}
    04.11 22:43:37.616 ERROR Send info! Не найдены адреса информирования для получателя admin
    Я что то не так делаю или где-то косяк?

    Сообщение системой отправляется, если для адреса стоит галка "Отправлять сообщение". (Пользователь - Информирование)
    Это позволяет использовать несколько адресов, также можно заблокировать отправку по конкретному адресу.

    Пользователь @Lost написал в Релиз IntraHouse V5:

    Еще на команду из сценария this.pluginCommand({unit:'megad1', command:'/%pwd%/?cmd=all'});
    выдает ошибку:
    04.11 22:57:06.910 Blocked with run-time error: TypeError: this.pluginCommand is not a function

    Пока в сценариях не работают функции pluginCommand, snap, execOs
    Будут добавлены в ближайших релизах

    Пользователь @Lost написал в Релиз IntraHouse V5:

    Получается в 5 версии систему команд и формат сценариев поменяли? Когда будет актуальное описание?

    Некоторые отличия есть. В основном в сторону упрощения синтаксиса
    Есть описание отличий синтаксиса сценариев от версии Cherry: https://docs.intrahouse.ru/ru/pg043

    Пользователь @Lost написал в Релиз IntraHouse V5:

    Так же в расширениях плагина Megad не удается выбрать сценарий для запуска в ответ на входящее сообщение от контроллера

    Это проверим.



  • @IntraVM С отправкой сообщений разобрался. Сразу не обратил внимание на то, что сообщения отправляются по ID пользователя. Создал я нового пользователя. Его ID получился u0002. А у встроенной учетной записи Admin и ID тоже admin. Поэтому и возникает вопрос можно ли как то отредактировать ID нового пользователя в удобоваримый вид?



  • Еще обратил внимание, что иногда после изменения настроек каналов в плагине Megad корректная работа устройств начинается только после перезагрузки сервера. Перезапуск самого плагина не помогает.



  • @Lost
    Добрый день, спасибо за информацию, проверим



  • День добрый!
    Когда ожидать полноwенную работоспособность сценариев?



  • @Lost Прошу пояснить. Сейчас работоспособность сценариев не полноценна?



  • Да. Например 10.12 20:11:33.239 scen002 Blocked TypeError: this.pluginCommand is not a function

    Или 10.12 20:12:26.203 scen003 Blocked TypeError: this.agent.getSysTime is not a function. Это из вашего сценария датчика темноты. Дальше пока не проверял.



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



  • /**

    • @desc 0 - светло, 1 - темно
    • Запускается на старте сервера
    • @version 5
      */
      const darkness = Device("DI_009");

    const script = {
    // boot() {
    // return true;
    // },
    start() {
    let now = Date.now();
    let sunrise = this.getSysTime('sunrise','today');
    let sunset = this.getSysTime('sunset','today');

      let val = (now < sunrise || now > sunset) ? 1 : 0;
      this.assign(darkness, 'dval', val);
      
      let nextrise = (now < sunrise) ? sunrise : this.getSysTime('sunrise','tomorrow');
      this.startTimer('sunrise', nextrise, 'onSunrise');
      
      let nextset = (now < sunset) ? sunset : this.getSysTime('sunset','tomorrow');
      this.startTimer('sunset', nextset, 'onSunset');  
    },
    

    //Восход
    onSunrise() {
    this.assign(darkness, 'dval', 0);
    this.startTimer('sunrise', this.getSysTime('sunrise','tomorrow'), 'onSunrise');
    },
    //Закат
    onSunset() {
    this.assign(darkness, 'dval', 1);
    this.startTimer('sunset', this.getSysTime('sunset','tomorrow'), 'onSunset');
    }
    };



  • /**

    • @desc Обработка события перезагрузки MegaD
    • @version 5
      */

    const script = {
    comm:'/%pwd%/?cmd=all', //Команда для опроса всех каналов
    param: 'megad1',
    //Param - имя MegaD. Передается из плагина как параметр сценария
    start() {
    this.pluginCommand({unit:this.param, command:this.comm});
    // this.info('telegram', 'u0002', 'Рестарт контроллера ' + this.param);

        this.info('pushnotification', 'u0002', 'Рестарт контроллера ' + this.param);
    } 
    

    };



  • В четвертой версии все работает. Тут нет.



  • Если закоментарить строку this.pluginCommand({unit:this.param, command:this.comm});
    то сценарий отрабатывает.



  • Это все и отсутствие нормального описания системы команд пока сдерживает полноценный переход на V5



  • Всех с новым годом!
    Хотел прояснить один момент. В 4 версии вот такая строка

    this.startTimer('sunrise', this.getSysTime('sunrise','tomorrow'), 'onSunrise');

    приводила к срабатыванию функции onSunrise() на рассвете завтрашнего дня. Эта же строка в 5 версии приводит к следующему результату:

    02.01 08:31:56.330 getSysTime sunrise tomorrow = 03.01 08:31:43.156 (1641187903156)
    02.01 08:31:56.330 Start timer sunrise for 1641187903156 sec

    Получается сработка произойдет примерно через 52000 лет? Почему так получается? Косяк?


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