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



  • Странная ситуация с заданием состояний устройств из сценариев. При создании третьего состояния пожарного датчика №2 либо при создании четвертого состояния переключателя №3 и попытке установки состояния через this.assign( dev, "value", 2); и this.assign( dev, "value", 3); соответственно вылезает графическая ошибка устройства "Bed device". При чем если создать переключатель, состояние №2 созданное штатно удалить и создать копированием, то в графике переключение начинает происходить с проскакивающим квадратом "Bed device"



  • При увеличении числа состояний устройство на мнемосхеме нужно удалить и поставить заново 😞 И состояния должны нумероваться строго подряд.



  • @intrapro спасибо за подсказку



  • Коллеги, подскажите, как в версии ihpro работать с БД. Есть желание создать свою таблицу с датами рождения и при совпадении даты выводить на мнемосхеме имя, присвоив его аналоговому устройству. Возможно ли делать выборку с помощью сниппета и как создать таблицу из интерфеса ihpro/PM?





  • @dev, спасибо. Даже не знал, что в примерах есть такой. Буду пробовать



  • Коллеги, подскажите. Есть задача запустить bash скрипт на удаленном компьютере. Обычно запускаю скрипты из Putty. Можно ли это сделать из ihpro



  • Умерла Microsd карточка (ушла в ReadOnly) ☹Какие файлы спасать для бекапа? Директории intrahouse-c хватит, или есть еще что-то?
    В общем, что сохранять и что потом накатывать на чистый intrahouse, чтобы всё восстановить?



  • @gewer

    • Папка /var/lib/intrahouse-c/projects содержит все проекты, это самая важная часть с пользовательскими данными

    • Папка /var/lib/intrahouse-c/plugins содержит все установленные плагины, ее тоже можно полностью скопировать и восстановить плагины. Пользовательских данных там нет, так что если не удается - можно не копировать, а просто установить заново плагины

    • /opt/intrahouse-c содержит только систему, полностью восстанавливается при установке

    Если версия pro и есть необходимость сохранить накопленные в БД данные, они конечно лежат отдельно, зависит от конфига при установке MySQL.
    В БД хранятся только исторические данные для показа графиков (отчетов)



  • Уважаемые разработчики, есть 2 вопроса.

    1. При написании сниппетов обнаружилась неработоспособность метода toLocaleString(). Формат даты и времени упорно не хочет переводиться в русскую локаль. Попробовал заново установить ОС на сервере (Debian 10 buster). Добавил при настройке русскую локаль и временную зону (русскую локаль по умолчанию). Установил intrahouse. Дата в русский формат не переводится. Может это зависит не от сервера, а от браузера. Сейчас пользуюсь Microsoft Edge. До этого был Yandex браузер. Формат даты не правильный и там и там. Можно с этим что-нибудь сделать?
    2. Нашел в интернете модуль ssh2 для nodejs. На гитхабе есть пример для запуска команды на удаленном компьютере. Попробовал не работает. Как проверить установился ли модуль в системе. Не подскажете правильный код для использования этого или какого другого модуля?


  • Пользователь @int144 написал в Вопросы по работе системы:

    Уважаемые разработчики, есть 2 вопроса.

    1. При написании сниппетов обнаружилась неработоспособность метода toLocaleString(). Формат даты и времени упорно не хочет переводиться в русскую локаль. Попробовал заново установить ОС на сервере (Debian 10 buster). Добавил при настройке русскую локаль и временную зону (русскую локаль по умолчанию). Установил intrahouse. Дата в русский формат не переводится. Может это зависит не от сервера, а от браузера. Сейчас пользуюсь Microsoft Edge. До этого был Yandex браузер. Формат даты не правильный и там и там. Можно с этим что-нибудь сделать?

    Нет, с браузером это не связано, так как сниппет работает на сервере. Локализация на уровне ОС тонкая вещь, иногда действительно не работает 😞 Более надежный метод в данном случае - сформировать строку дд.мм из даты, получится 2 строки вместо одной:

    const dt = new Date();
    const currentDay = String(dt.getDate()).padStart(2,'0')+'.'+String(dt.getMonth()+1).padStart(2,'0');
    

    Измененный вариант сниппета в топике:
    https://forum.ih-systems.com/topic/231/дни-рождения-праздники-и-другие-тематические-календари/4#

    1. Нашел в интернете модуль ssh2 для nodejs. На гитхабе есть пример для запуска команды на удаленном компьютере. Попробовал не работает. Как проверить установился ли модуль в системе. Не подскажете правильный код для использования этого или какого другого модуля?

    Если вызываете модуль из сценария, то ставить его нужно в папку /opt/intrahouse-c/backend - там есть папка node_modules, проверить наличие модуля нужно там.

    Делать require в скрипте нужно не наверху, а внутри функции start:

    start() {
      var Client = require('ssh2').Client;
      var conn = new Client();
    }
    


  • @intrapro, огромное спасибо за подсказку. Все сделал по вашей подсказке, теперь все прекрасно работает. Есть у меня еще один вопрос. Помогите, если сможете. Есть у меня в прихожей Умное зеркало. Внутри спрятана Raspberry Pi 3a и старый монитор. С помощью ssh управляю его включением и выключением. На малинке стоит последний Raspbian и Chrome в режиме киоска. Я сделал экран Зеркало, на котором размещается много разных устройств: время, дата, праздники, дни рождения, пробки, валюта, погода, прогноз и т.д. Когда на экране появляется информация все хорошо, но примерно часа через три появляется окошко с сообщением. Что-то типа "браузер не может обновиться, установите новую версию, чтобы устранить проблему". Не знаю, что с этим делать. Как вариант можно делать перезагрузку, но как тогда передать по ssh пароль после команды sudo reboot. Если есть какие-то мысли на эту тему поделитесь, пожалуйста



  • @int144 Перезагрузка - не самый лучший вариант. Лучше обновить версию, как просит.
    Скиньте фото зеркала-экрана. Интересно посмотреть как сделали.



  • @intrahouse, вот
    3 (2).jpg
    2.jpg



  • @intrahouse а вот такую табличку выдает Хром

    1 (2).jpg

    При выполнении update и upgrade Хроме не обновляется. Рабочий стол отключен. Как обновить его не знаю. При перезагрузке табличка пропадает, часа через три появляется снова.



  • @int144 Вау! Мне понравилось 👍



  • @intrahouse спасибо. Мне тоже очень нравится и семья довольна. Кстати, хочу заодно поблагодарить за ваш продукт intrahouse. Очень клево👍
    Как некоторые говорят - низкий порог входа. Я не программист, я радиотехник, но в этой системе как-то сразу стало получаться. А также поддержка очень хорошая



  • @int144 Спасибо



  • Уважаемые разработчики, подскажите как можно сделать?
    На сервере, где установлен IH, установлен также logitech media server с плагином Majordomo Connect. Этот плагин позволяет сообщить серверу об изменении состояния плеера. В настройках можно задать ip адрес и порт, для каждого состояния сообщение, например /object?script=lms&status=on и т.д. Почти как в МегаД. Попытка использовать слушающий порт плсгина МегаД не прошла. В отладчике IH тишина, а отладчик lms пишет неправильный адрес сервера. Как можно организовать слушающий порт?



  • @int144, может можно использовать мой плагин - https://github.com/intrahouseio/intraHouse.plugin-voiceterminal
    Он может только слушать нужный порт и если в "Расширения" прописан какой-то конкретный URL, то запускать по нему сценарий.


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