Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker основное
    5. Основные особенности системы

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Основные особенности системы

    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      electric69 last edited by

      @skifer:

      Электро, дай координаты где банану брал. `
      Дык на том же http://www.aliexpress.com/item/Free-shipping-Banana-pi-sata-cable-case-fully-compatible-with-Raspberry-Pi-cubieboard-with-Gigabit-ethernet/2030355208.html. Сейчас кстати там типа распродажи, можно купить с хорошей скидкой всякие железки…

      1 Reply Last reply Reply Quote 0
      • aurodionov
        aurodionov last edited by

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

        И второй вопрос , какой репозиторий выбрать, локальный или онлайн.

        1 Reply Last reply Reply Quote 0
        • Bluefox
          Bluefox last edited by

          > Подскажите как правильно обновлять систему , а то сейчас с консоли пока обновляю .
          В админке на первой странице появляется кнопка обновить, если есть новая версия для js-controller.

          Еще не уверен, но помоему надо потом ручками перстартовать js-controller или iobroker сервис````
          node iobroker restart

          
          А так, надо сначала пойти на закладку "драйвера" нажать кнопку в нижнем левом углу (обновить) и если есть новые обновления то появятся кнопки напротив драйверов.
          [301_zwave.png](/assets/uploads/files/301_zwave.png)
          1 Reply Last reply Reply Quote 0
          • K
            KondorSoft last edited by

            Как работает адаптер "History"?

            Как часто сохраняются значения в базу CoutcDB ?

            Никак не заставлю его писать архив значений температуры с датчика Z-Wave.

            1 Reply Last reply Reply Quote 0
            • Bluefox
              Bluefox last edited by

              @KondorSoft:

              Как работает адаптер "History"?

              Как часто сохраняются значения в базу CoutcDB ?

              Никак не заставлю его писать архив значений температуры с датчика Z-Wave. `
              Если поставить галочку "только изменения", то сохранятся будут только отличные от предыдущих значения.

              Если не поставить, то значения будут сохранятся каждый раз при получении значения, то есть, каждый раз, когда zwave посылает значение.

              Но все значения сначала сохраняются в redis DB и когда набирается 960 значений, то они сбрасываются в couchDB в history.objectId.20141107

              1 Reply Last reply Reply Quote 0
              • K
                KondorSoft last edited by

                Спасибо, нашел, а графики строить есть чем?

                1 Reply Last reply Reply Quote 0
                • E
                  electric69 last edited by

                  Bluefox, подскажи, собственно домашняя автоматизация (скрипты) будет только GUI (node-red) или текстовый редактор (ScriptEditor) так же будет присутствовать?

                  1 Reply Last reply Reply Quote 0
                  • aurodionov
                    aurodionov last edited by

                    Да он есть ,ток называется по другому

                    1 Reply Last reply Reply Quote 0
                    • Bluefox
                      Bluefox last edited by

                      @electric69:

                      Bluefox, подскажи, собственно домашняя автоматизация (скрипты) будет только GUI (node-red) или текстовый редактор (ScriptEditor) так же будет присутствовать? `
                      Ну он уже есть.

                      1. Сначала нужно установть javascript драйвер

                      2. Перейти на вкладку скрипты и создать один скрипт типа JavaScript или Coffescript

                      3. Написать скрипт в окне и сохранить.

                      4. Активировать скрипт и выставить engine, как system.adapter.javascript.0

                      5. Активировать javascript драйвер

                      1 Reply Last reply Reply Quote 0
                      • K
                        KondorSoft last edited by

                        @Bluefox:

                        @electric69:

                        Bluefox, подскажи, собственно домашняя автоматизация (скрипты) будет только GUI (node-red) или текстовый редактор (ScriptEditor) так же будет присутствовать? `
                        Ну он уже есть.

                        1. Сначала нужно установть javascript драйвер

                        2. Перейти на вкладку скрипты и создать один скрипт типа JavaScript или Coffescript

                        3. Написать скрипт в окне и сохранить.

                        4. Активировать скрипт и выставить engine, как system.adapter.javascript.0

                        5. Активировать javascript драйвер `

                        Добавил скрипт, но отрабатывать не хочет, в ccuio работал.

                            var TempSensorID = 'io.zwave.0.NODE2.SENSOR_MULTILEVEL.Temperature'; //ID датчика температуры
                            var SwitchStateID = 'io.zwave.0.NODE3.SWITCH_MULTILEVEL.Level'; //ID реле обогревателя
                        
                           subscribe(TempSensorID, function (obj) {
                                    if (getState(TempSensorID) < 18 ) { //если температура меньше 18 градусов
                                        setState(SwitchStateID, 1 );    //включить обогреватель
                                    } else{
                                        setState(SwitchStateID, 0 );    // иначе выключить обогреватель
                                    }
                            });
                        
                        1 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          @KondorSoft: `
                          Можешь добавить парочку логов?

                              var TempSensorID = 'io.zwave.0.NODE2.SENSOR_MULTILEVEL.Temperature'; //ID датчика температуры
                              var SwitchStateID = 'io.zwave.0.NODE3.SWITCH_MULTILEVEL.Level'; //ID реле обогревателя
                              log("Script starting..");
                              subscribe(TempSensorID, function (obj) {
                                      log(TempSensorID + " change detected. Value " + getState(TempSensorID));
                                      if (getState(TempSensorID) < 18 ) { //если температура меньше 18 градусов
                                          log("Switch heater on");
                                          setState(SwitchStateID, 1 );    //включить обогреватель
                                      } else{
                                          log("Switch heater off");
                                          setState(SwitchStateID, 0 );    // иначе выключить обогреватель
                                      }
                              });
                          

                          48_iobroker-vis-cla-individual.pdf

                          1 Reply Last reply Reply Quote 0
                          • K
                            KondorSoft last edited by

                            @Bluefox:

                            @KondorSoft: `
                            Можешь добавить парочку логов?

                                var TempSensorID = 'io.zwave.0.NODE2.SENSOR_MULTILEVEL.Temperature'; //ID датчика температуры
                                var SwitchStateID = 'io.zwave.0.NODE3.SWITCH_MULTILEVEL.Level'; //ID реле обогревателя
                                log("Script starting..");
                                subscribe(TempSensorID, function (obj) {
                                        log(TempSensorID + " change detected. Value " + getState(TempSensorID));
                                        if (getState(TempSensorID) < 18 ) { //если температура меньше 18 градусов
                                            log("Switch heater on");
                                            setState(SwitchStateID, 1 );    //включить обогреватель
                                        } else{
                                            log("Switch heater off");
                                            setState(SwitchStateID, 0 );    // иначе выключить обогреватель
                                        }
                                });
                            ```` `  
                            

                            В лог ничего не пишет, похоже не стартует скрипт.

                            UPD:

                            Всетаки скрипт стартует, в лог пишет

                            2014-11-11 11:39:36.721 - info: javascript.0 starting. Version 0.1.1

                            2014-11-11 11:39:36.723 - info: javascript.0 requesting all states

                            2014-11-11 11:39:36.724 - info: javascript.0 requesting all objects

                            2014-11-11 11:39:36.741 - info: javascript.0 received all states

                            2014-11-11 11:39:37.369 - info: javascript.0 received all objects

                            2014-11-11 11:39:37.417 - info: javascript.0 script.js.JavaScript: Script starting..

                            2014-11-11 11:39:37.418 - info: javascript.0 script.js.JavaScript: registered 1 subscription and 0 schedules
                            61_script.png

                            1 Reply Last reply Reply Quote 0
                            • K
                              KondorSoft last edited by

                              Переставил IoBroker, что-то не так с адаптером "javascript", постоянно в лог сыпется ошибка

                              ! 2014-11-11 14:35:49.608 - error: pmessage system.adapter.admin.0.log{"message":"pmessage system.adapter.admin.0.log{"message":"pmessage system.adapter.admin.0.log{\"message\":\"pmessage system.adapter.admin.0.log{\\\"message\\\":\\\"TypeError: Cannot read property 'parent' of undefined\\\\n at getObjectEnums (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:840:27)\\\\n at Object.require.stateChange (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:66:13)\\\\n at that.states.StatesRedis.change (/home/boris/ioBroker.js-controller/lib/adapter.js:1276:80)\\\\n at RedisClient. <anonymous>(/home/boris/ioBroker.js-controller/lib/redis.js:48:21)\\\\n at RedisClient.EventEmitter.emit (events.js:106:17)\\\\n at RedisClient.return_reply (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:672:22)\\\\n at HiredisReplyParser. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:309:14)\\\\n at HiredisReplyParser.EventEmitter.emit (events.js:95:17)\\\\n at HiredisReplyParser.execute (/home/boris/ioBroker.js-controller/node_modules/redis/lib/parser/hiredis.js:43:18)\\\\n at RedisClient.on_data (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:534:27)\\\\n at Socket. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:91:14)\\\\n at Socket.EventEmitter.emit (events.js:95:17)\\\\n at Socket. <anonymous>(stream_readable.js:736:14)\\\\n at Socket.EventEmitter.emit (events.js:92:17)\\\\n at emitReadable (_stream_readable.js:408:10)\\\\n at emitReadable (_stream_readable.js:404:5)\\\\n at readableAddChunk (_stream_readable.js:165:9)\\\\n at Socket.Readable.push (_stream_readable.js:127:10)\\\\n at TCP.onread (net.js:526:21)\\\\n\\\",\\\"severity\\\":\\\"error\\\",\\\"from\\\":\\\"javascript.0\\\",\\\"ts\\\":1415709325176} Cannot read property 'parent' of undefined\",\"severity\":\"error\",\"from\":\"javascript.0\",\"ts\":1415709326813} Cannot read property 'parent' of undefined","severity":"error","from":"javascript.0","ts":1415709330064} Cannot read property 'parent' of undefined","severity":"error","from":"javascript.0","ts":1415709336635} Cannot read property 'parent' of undefined
                              ! 2014-11-11 14:35:49.612 - error: TypeError: Cannot read property 'parent' of undefined
                              ! at getObjectEnums (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:840:27)
                              ! at Object.require.stateChange (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:66:13)
                              ! at that.states.StatesRedis.change (/home/boris/ioBroker.js-controller/lib/adapter.js:1276:80)
                              ! at RedisClient. <anonymous>(/home/boris/ioBroker.js-controller/lib/redis.js:48:21)
                              ! at RedisClient.EventEmitter.emit (events.js:106:17)
                              ! at RedisClient.return_reply (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:672:22)
                              ! at HiredisReplyParser. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:309:14)
                              ! at HiredisReplyParser.EventEmitter.emit (events.js:95:17)
                              ! at HiredisReplyParser.execute (/home/boris/ioBroker.js-controller/node_modules/redis/lib/parser/hiredis.js:43:18)
                              ! at RedisClient.on_data (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:534:27)
                              ! at Socket. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:91:14)
                              ! at Socket.EventEmitter.emit (events.js:95:17)
                              ! at Socket. <anonymous>(stream_readable.js:736:14)
                              ! at Socket.EventEmitter.emit (events.js:92:17)
                              ! at emitReadable
                              (_stream_readable.js:408:10)
                              ! at emitReadable (_stream_readable.js:404:5)
                              ! at readableAddChunk (_stream_readable.js:165:9)
                              ! at Socket.Readable.push (_stream_readable.js:127:10)
                              ! at TCP.onread (net.js:526:21)</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous>

                              1 Reply Last reply Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                @KondorSoft:

                                Переставил IoBroker, что-то не так с адаптером "javascript", постоянно в лог сыпется ошибка

                                ! 2014-11-11 14:35:49.608 - error: pmessage system.adapter.admin.0.log{"message":"pmessage system.adapter.admin.0.log{"message":"pmessage system.adapter.admin.0.log{\"message\":\"pmessage system.adapter.admin.0.log{\\\"message\\\":\\\"TypeError: Cannot read property 'parent' of undefined\\\\n at getObjectEnums (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:840:27)\\\\n at Object.require.stateChange (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:66:13)\\\\n at that.states.StatesRedis.change (/home/boris/ioBroker.js-controller/lib/adapter.js:1276:80)\\\\n at RedisClient. <anonymous>(/home/boris/ioBroker.js-controller/lib/redis.js:48:21)\\\\n at RedisClient.EventEmitter.emit (events.js:106:17)\\\\n at RedisClient.return_reply (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:672:22)\\\\n at HiredisReplyParser. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:309:14)\\\\n at HiredisReplyParser.EventEmitter.emit (events.js:95:17)\\\\n at HiredisReplyParser.execute (/home/boris/ioBroker.js-controller/node_modules/redis/lib/parser/hiredis.js:43:18)\\\\n at RedisClient.on_data (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:534:27)\\\\n at Socket. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:91:14)\\\\n at Socket.EventEmitter.emit (events.js:95:17)\\\\n at Socket. <anonymous>(stream_readable.js:736:14)\\\\n at Socket.EventEmitter.emit (events.js:92:17)\\\\n at emitReadable (_stream_readable.js:408:10)\\\\n at emitReadable (_stream_readable.js:404:5)\\\\n at readableAddChunk (_stream_readable.js:165:9)\\\\n at Socket.Readable.push (_stream_readable.js:127:10)\\\\n at TCP.onread (net.js:526:21)\\\\n\\\",\\\"severity\\\":\\\"error\\\",\\\"from\\\":\\\"javascript.0\\\",\\\"ts\\\":1415709325176} Cannot read property 'parent' of undefined\",\"severity\":\"error\",\"from\":\"javascript.0\",\"ts\":1415709326813} Cannot read property 'parent' of undefined","severity":"error","from":"javascript.0","ts":1415709330064} Cannot read property 'parent' of undefined","severity":"error","from":"javascript.0","ts":1415709336635} Cannot read property 'parent' of undefined
                                ! 2014-11-11 14:35:49.612 - error: TypeError: Cannot read property 'parent' of undefined
                                ! at getObjectEnums (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:840:27)
                                ! at Object.require.stateChange (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:66:13)
                                ! at that.states.StatesRedis.change (/home/boris/ioBroker.js-controller/lib/adapter.js:1276:80)
                                ! at RedisClient. <anonymous>(/home/boris/ioBroker.js-controller/lib/redis.js:48:21)
                                ! at RedisClient.EventEmitter.emit (events.js:106:17)
                                ! at RedisClient.return_reply (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:672:22)
                                ! at HiredisReplyParser. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:309:14)
                                ! at HiredisReplyParser.EventEmitter.emit (events.js:95:17)
                                ! at HiredisReplyParser.execute (/home/boris/ioBroker.js-controller/node_modules/redis/lib/parser/hiredis.js:43:18)
                                ! at RedisClient.on_data (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:534:27)
                                ! at Socket. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:91:14)
                                ! at Socket.EventEmitter.emit (events.js:95:17)
                                ! at Socket. <anonymous>(stream_readable.js:736:14)
                                ! at Socket.EventEmitter.emit (events.js:92:17)
                                ! at emitReadable
                                (_stream_readable.js:408:10)
                                ! at emitReadable (_stream_readable.js:404:5)
                                ! at readableAddChunk (_stream_readable.js:165:9)
                                ! at Socket.Readable.push (_stream_readable.js:127:10)
                                ! at TCP.onread (net.js:526:21)</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous> `
                                Можешь попробовать ещё раз? Я пересмотрел javascript драйвер.

                                1 Reply Last reply Reply Quote 0
                                • K
                                  KondorSoft last edited by

                                  @Bluefox:

                                  Можешь попробовать ещё раз? Я пересмотрел javascript драйвер. `
                                  Ошибок в логе нет, завтра потестирую основательно.

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    KondorSoft last edited by

                                    @Bluefox:

                                    Можешь попробовать ещё раз? Я пересмотрел javascript драйвер. `
                                    Скрипт на события реагирует но изменить состояние устройства не выходит

                                    команда setState(SwitchStateID, 1 );

                                    пытается изменить состояние "io.javascript.0.zwave.0.NODE3.SWITCH_MULTILEVEL.Level" вместо "io.zwave.0.NODE3.SWITCH_MULTILEVEL.Level"

                                    В логе такие сообщения.

                                    2014-11-17 12:02:50.505 - info: javascript.0 script.js.Script1: io.zwave.0.NODE2.SENSOR_MULTILEVEL.Temperature change detected. Value [object Object]

                                    2014-11-17 12:02:50.505 - info: javascript.0 script.js.Script1: Switch heater off

                                    2014-11-17 12:02:50.507 - warn: zwave.0 Object io.javascript.0.zwave.0.NODE3.SWITCH_MULTILEVEL.Level not found

                                    1 Reply Last reply Reply Quote 0
                                    • K
                                      KondorSoft last edited by

                                      в адартере "javascript" в файле "javascript.js" заменил вызов функции "setState"

                                      adapter.setState(id, state, function () {
                                                          if (typeof callback === 'function') callback();
                                                      });
                                      

                                      на вызов "setForeignState"

                                      adapter.setForeignState(id, {
                                                          val: state
                                                      }, function () {
                                                          if (typeof callback === 'function') callback();
                                                      });
                                      

                                      и````
                                      getState: function (id) {
                                      return states[id];
                                      }

                                      
                                      заменил на````
                                       getState:  function (id) {
                                                      return states[id].val;
                                                  }
                                      

                                      Скрипт начал правильно работать.

                                      1 Reply Last reply Reply Quote 0
                                      • Bluefox
                                        Bluefox last edited by

                                        @KondorSoft:

                                        в адартере "javascript" в файле "javascript.js" заменил вызов функции "setState"

                                        adapter.setState(id, state, function () {
                                                            if (typeof callback === 'function') callback();
                                                        });
                                        

                                        на вызов "setForeignState"

                                        adapter.setForeignState(id, {
                                                            val: state
                                                        }, function () {
                                                            if (typeof callback === 'function') callback();
                                                        });
                                        

                                        и````
                                        getState: function (id) {
                                        return states[id];
                                        }

                                        
                                        заменил на````
                                         getState:  function (id) {
                                                        return states[id].val;
                                                    }
                                        

                                        Скрипт начал правильно работать. `
                                        Спасибо, надо будет исправить.

                                        1 Reply Last reply Reply Quote 0
                                        • X
                                          X13 last edited by

                                          @Bluefox: `
                                          Не смотрели в сторону https://github.com/tavendo/WAMP - Web Application Messaging Protocol?

                                          Что интересного:

                                          Поддерживает asynchronous messaging patterns: publish-subscribe и RPC.

                                          В качестве транспорта использует Websocket+JSON или TCP+MsgPack.

                                          Есть клиентская библиотека для JavaScript из браузера.

                                          Сложность базового профиля сопоставима с MQTT. Advanced профиль содержит кучу расширений.

                                          Удобно использовать для связи между плагинами и на web-интерфейс данные можно напрямую отдавать.

                                          1 Reply Last reply Reply Quote 0
                                          • Bluefox
                                            Bluefox last edited by

                                            @X13:

                                            @Bluefox: `
                                            Не смотрели в сторону https://github.com/tavendo/WAMP - Web Application Messaging Protocol?

                                            Что интересного:

                                            Поддерживает asynchronous messaging patterns: publish-subscribe и RPC.

                                            В качестве транспорта использует Websocket+JSON или TCP+MsgPack.

                                            Есть клиентская библиотека для JavaScript из браузера.

                                            Сложность базового профиля сопоставима с MQTT. Advanced профиль содержит кучу расширений.

                                            Удобно использовать для связи между плагинами и на web-интерфейс данные можно напрямую отдавать. `
                                            Спасибо за подсказку. Интересный протокол.

                                            Но время будет только после драйвера визуализации. (ioBroker.vis)
                                            291_offset.png

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            737
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            8
                                            39
                                            20565
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo