Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. XAPuTOH

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    X
    • Profile
    • Following 0
    • Followers 0
    • Topics 1
    • Posts 15
    • Best 0
    • Groups 0

    XAPuTOH

    @XAPuTOH

    0
    Reputation
    15
    Profile views
    15
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    XAPuTOH Follow

    Latest posts made by XAPuTOH

    • RE: Видимость переменных. И еще пара вопросов.

      Вот что значит отсутствие опыта!

      Не думал что в одном скрипте можно несколько подписок сделать!

      А функция у меня примерно такая же. ))

      Все таки идеология следующая - скрипты используются для выполнения набора действий по подписке?

      В качестве глобальной(ну или в пределах одного адаптера) функции, скрипты использовать не принято.

      Видимо если уж так хочется то можно сделать свой модуль с нужным набором методов и подключать его в настройках адаптера.

      posted in ioBroker скрипты
      X
      XAPuTOH
    • RE: Видимость переменных. И еще пара вопросов.

      @XAPuTOH:

      Хотя может я не правильно понял идиологию?

      У меня есть некий набор действий который нужно выполнить в двух случаях:

      1. По расписанию

      2. По запросу пользователя.

      Я предположил что можно написать скрипт "Набор действий" выполнения этих действий. далее пишу ещё два скрипта:

      1. По расписанию раз в 20 минут выполнять "Набор действий"

      2. В случае нажатия на кнопку выполнить "Набор действий"

      Вроде как запуск скрипта возможен - runScript/startScript

      Я использовал startScript. и он почемуто не сработал т.е. сперва я неправильно вводил название скрипта и были ошибки. но когда ввел правильно ничего не произошло.

      Как такую задачу выполнять?

      Есть вариант подписать скрипт на какуюнибудь переменную а других скриптах менять её. Но как то нелогично мне это. `

      Ну вот. Т.е. хочется использовать скрипт как функцию. Т.е. это заданный набор действий который нужно производить при возникновении разных условий(запрос пользователя/расписание и т.п.). Скрипт этот анализирует несколько состояний и делает вывод о том какие набор действий ему произвести.

      Конкретно мой случай:

      Есть датчик температуры, есть текущее время и есть режим работы отопления.

      Скрипт в зависимости от этих данных управляет котлом.

      Режимы работы отопление:

      1. Выключено. тут все понятно

      2. Включено. Тут просто включается котел и жарит на все пироги.

      3. Поддержка минимальной температуры. Тут вводится зависимость от температуры и времени. Система отопления на основе теплого пола. соответственно инертна. Настройки такие. с 7 утра до 23 вечера включать котел если температура упала ниже 5 градусов. с 23 до 7 утра включать если температура меньше 10. Сейчас этот режим. как правило за день температура падает на 2-3 градуса и становится равной 8. в 23 котел включается и прогревает помещение до 10 градусов и отключается. Т.е. работает ночью по ночному дешевому тарифу. Задача чтоб дом не замерз пока в нем никого нету

      4. Поддержка нормальной температуры. Тоже что и пункт 3 только уставки 15 днем и 25 ночью соответственно. При желании приехать в дом - заранее включаю этот режим и дом к приезду должен прогреться.

      Все это описано в скрипте. Режим работы - объект enum с соответствующими состояниями

      Сейчас скрипт работает по расписанию. каждые 15 минут проверяет состояния и делает выводы включить или отключить котел. Можно было бы повесить на изменение температуры. но как то котел не включился из за того что скрипт почемуто пропустил запуск по расписанию. И у меня возникла мысль что лучше он переодически будет проверять состояние системы и делать выводы. чем пропустит какоето событе и не выполнит их.

      Так как у меня пока сложности с доступом к админке из инета я настроил управление режимами через телеграм. посылаю команду на изменение режима. Т.е. решил я в выхи приехать в теплый дом - посылаю команду включить нормальный режим отопления.

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

      Как то так. 🙂

      posted in ioBroker скрипты
      X
      XAPuTOH
    • RE: Видимость переменных. И еще пара вопросов.

      @instalator:

      кнопка означает выполнять скрипт или нет. Если отключено то код в скрипте не будет работать `

      Т.е. я должен сделать скрипт запущенным. Соответственно он один раз в момент запуска отработает. А потом из другого скрипта я смогу его запускать?

      posted in ioBroker скрипты
      X
      XAPuTOH
    • RE: Видимость переменных. И еще пара вопросов.

      Т.е. exec выполняется асинхронно. Соответственно нельзя строить скрипт таким образом как я сперва задумал, а нужно строить на колбэках.

      Сперва exec. внутри него основной скрипт. а если exec несколько. то каждый последующий нужно запускать в колбэке предидущего?

      posted in ioBroker скрипты
      X
      XAPuTOH
    • Видимость переменных. И еще пара вопросов.

      1. В общем столкнулся с неожиданным.

      Пишу скрипт:

      var i = 1;
      
      exec('какая нибудь команда', function(err,stdout,stderr){
      	log(i);
      	i = stdout;
      })
      
      log (i);
      
      

      Выясняется что внутри exec переменная i видна. Но если её изменить то изменения будут только внутри exec. снаружи она останется без изменений.

      Это правильно? Вроде в чистом js все должно меняться если я отдельно внутри exec не объявил переменную с аналогичным именем.

      2. Логика работы со скриптами

      Написал я некий скрипт.

      Есть он у меня в дереве скриптов. и есть у него состояние - запущен или остановлен.

      Вопрос - что это состояние означает?

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

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

      Хотя может я не правильно понял идиологию?

      У меня есть некий набор действий который нужно выполнить в двух случаях:

      1. По расписанию

      2. По запросу пользователя.

      Я предположил что можно написать скрипт "Набор действий" выполнения этих действий. далее пишу ещё два скрипта:

      1. По расписанию раз в 20 минут выполнять "Набор действий"

      2. В случае нажатия на кнопку выполнить "Набор действий"

      Вроде как запуск скрипта возможен - runScript/startScript

      Я использовал startScript. и он почемуто не сработал т.е. сперва я неправильно вводил название скрипта и были ошибки. но когда ввел правильно ничего не произошло.

      Как такую задачу выполнять?

      Есть вариант подписать скрипт на какуюнибудь переменную а других скриптах менять её. Но как то нелогично мне это.

      3. вопрос можно ли запустить скрипт из другого скрипта и получить от него ответ? т.е. использовать другой скрипт как функцию?

      4. есть ли гдето описание как это все работает? а то случайно наткнулся на доку на гитхабе. но она тоже не раскрывает многих тем.

      Пока все ))))

      posted in ioBroker скрипты
      X
      XAPuTOH
    • RE: 1Wire и OWFS

      Спасибо! то что надо!

      posted in ioBroker драйвера
      X
      XAPuTOH
    • RE: 1Wire и OWFS

      Вопрос. как правильно поступить в моей ситуации.

      Не хочу ставить OWFS сервер. уж больно много он мне не нужного дополнительно ставит. И неизвестно решит ли он как то мои вопросы.

      Я выкрутился тем что использую OWFS драйвер. подписываюсь на изменение файла.

      Далее я сам файл обрабатываю и пишу в нужный мне объект.

      Выглядит как костыль.

      Вопрос. Можно ли как то подписаться на изменение файла не используя OWFS драйвер?

      posted in ioBroker драйвера
      X
      XAPuTOH
    • RE: 1Wire и OWFS

      Да, походу неправильно написал путь. перезабил и все наладилось.

      В общем наверное пока так оставлю.

      posted in ioBroker драйвера
      X
      XAPuTOH
    • RE: 1Wire и OWFS

      Пока пытался настроить OWFS чтото сломалось в адаптере.

      Выдает ошибки - ENOENT: no such file or directory, scandir

      Что может быть?

      posted in ioBroker драйвера
      X
      XAPuTOH
    • RE: 1Wire и OWFS

      Во!

      Я сервер не устанавливал. Я еще в дном из предидущих постов как раз уточнял надо ли ставить. Но видимо в куче скриншотов мой вопрос затерялся ))))

      Думал раз показания идут значит и не надо.

      Установлю сервер отпишусь!

      posted in ioBroker драйвера
      X
      XAPuTOH
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo