Navigation

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

    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

    Разные ошибки

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

      Начал падать в цикле javascript:

      ! 2016-06-14 11:01:07.181 - error: uncaught exception: connect EHOSTUNREACH
      ! 2016-06-14 11:01:07.185 - error: Error: connect EHOSTUNREACH
      ! at errnoException (net.js:905:11)
      ! at Object.afterConnect [as oncomplete] (net.js:896:19)
      ! 2016-06-14 11:01:07.197 - error: uncaught exception: socket hang up
      ! 2016-06-14 11:01:07.206 - error: Error: socket hang up
      ! at createHangUpError (http.js:1475:15)
      ! at Socket.socketCloseListener (http.js:1525:23)
      ! at Socket.emit (events.js:117:20)
      ! at TCP.close (net.js:466:12)
      ! 2016-06-14 11:01:07.369 - info: javascript.0 terminating
      ! 2016-06-14 11:01:07.526 - error: host.Cubian instance system.adapter.javascript.0 terminated with code 0 (OK)
      ! 2016-06-14 11:01:07.527 - info: host.Cubian Restart adapter system.adapter.javascript.0 because enabled
      Анализ ситуации показал что помогает остановка одного из скриптов. Причем после запуска скрипта все работает до перезагрузки…

      Кусок который может вызывать ошибку выглядит так:

      ! var request = require('request');
      ! var temp;
      ! var mega3 = 'http://192.168.15.23/sec/';
      ! /**********************/
      ! createState("balcony2.floor.heat",getState("megad.3.p11_P11").val);
      ! on({id: 'javascript.0.balcony2.floor.heat', change: 'any'}, function (obj) {
      ! if (obj.newState.val === true) {
      ! request(mega3 + '&cmd=11:1');
      ! }else
      ! {
      ! request(mega3 + '&cmd=11:0');
      ! }
      ! });

      Я так думаю, так как в логе еще есть:

      ! 2016-06-14 11:02:50.586 - warn: megad.3 Got error by request to 192.168.15.23: connect EHOSTUNREACH
      ! 2016-06-14 11:02:50.588 - warn: megad.3 connect EHOSTUNREACH

      Раньше при отключение контролеров Меги ничего не падало…

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

        @Bosya:

        Начал падать в цикле javascript:

        ! 2016-06-14 11:01:07.181 - error: uncaught exception: connect EHOSTUNREACH
        ! 2016-06-14 11:01:07.185 - error: Error: connect EHOSTUNREACH
        ! at errnoException (net.js:905:11)
        ! at Object.afterConnect [as oncomplete] (net.js:896:19)
        ! 2016-06-14 11:01:07.197 - error: uncaught exception: socket hang up
        ! 2016-06-14 11:01:07.206 - error: Error: socket hang up
        ! at createHangUpError (http.js:1475:15)
        ! at Socket.socketCloseListener (http.js:1525:23)
        ! at Socket.emit (events.js:117:20)
        ! at TCP.close (net.js:466:12)
        ! 2016-06-14 11:01:07.369 - info: javascript.0 terminating
        ! 2016-06-14 11:01:07.526 - error: host.Cubian instance system.adapter.javascript.0 terminated with code 0 (OK)
        ! 2016-06-14 11:01:07.527 - info: host.Cubian Restart adapter system.adapter.javascript.0 because enabled
        Анализ ситуации показал что помогает остановка одного из скриптов. Причем после запуска скрипта все работает до перезагрузки…

        Кусок который может вызывать ошибку выглядит так:

        ! var request = require('request');
        ! var temp;
        ! var mega3 = 'http://192.168.15.23/sec/';
        ! /**********************/
        ! createState("balcony2.floor.heat",getState("megad.3.p11_P11").val);
        ! on({id: 'javascript.0.balcony2.floor.heat', change: 'any'}, function (obj) {
        ! if (obj.newState.val === true) {
        ! request(mega3 + '&cmd=11:1');
        ! }else
        ! {
        ! request(mega3 + '&cmd=11:0');
        ! }
        ! });

        Я так думаю, так как в логе еще есть:

        ! 2016-06-14 11:02:50.586 - warn: megad.3 Got error by request to 192.168.15.23: connect EHOSTUNREACH
        ! 2016-06-14 11:02:50.588 - warn: megad.3 connect EHOSTUNREACH

        Раньше при отключение контролеров Меги ничего не падало… `
        Засунь request в try catch

        1 Reply Last reply Reply Quote 0
        • B
          bzaugolnov last edited by

          @instalator:

          Ошибка с фалом версий

          Server-PC	2016-05-19 23:17:07	warn	host.Server-PC warning: Cannot read "http://download.iobroker.net/sources-dist.json"
          Server-PC	2016-05-19 23:17:07	info	host.Server-PC Update repository "fast-online" under "http://download.iobroker.net/sources-dist.json"
          

          Соответственно в админке показывает не все драйвера. `

          Опять не пересобрался http://download.iobroker.net/sources-dist.json

          1 Reply Last reply Reply Quote 0
          • I
            instalator last edited by

            @bzaugolnov:

            @instalator:

            Ошибка с фалом версий

            Server-PC	2016-05-19 23:17:07	warn	host.Server-PC warning: Cannot read "http://download.iobroker.net/sources-dist.json"
            Server-PC	2016-05-19 23:17:07	info	host.Server-PC Update repository "fast-online" under "http://download.iobroker.net/sources-dist.json"
            

            Соответственно в админке показывает не все драйвера. `

            Опять не пересобрался http://download.iobroker.net/sources-dist.json `
            Сейчас норм?

            1 Reply Last reply Reply Quote 0
            • B
              bzaugolnov last edited by

              @instalator:

              Сейчас норм? `
              Да. Спасибо за оперативность.

              1 Reply Last reply Reply Quote 0
              • J
                jeorgep last edited by

                Планируется ли как-то исправить ошибку Adapter already running

                (http://forum.iobroker.net/viewtopic.php?p=23712#p23712)

                которая присутствует в мультихост конфигурациях?

                Дело в том, что если например при пропадании и появлении электроэнергии

                происходит перезагрузка мастера и слейва - мастер в основном

                загружается немного позже, так как на нем больше сервисов.

                И начинает передергивать javascript адаптер слейва, который уже

                благополучно загрузился и работает.

                Получается что-то типа (на слейве):

                root@art1:~# ps ax | grep io
                ...
                  656 ?        Ssl    9:21 iobroker.js-controller
                 7188 ?        Sl    58:34 io.javascript.1
                 9353 ?        Sl     0:43 io.javascript.1
                 9423 ?        Sl     0:40 io.javascript.1
                10397 ?        Sl     0:25 io.javascript.1
                11582 pts/0    S+     0:00 grep io
                

                Здесь видно, что мастером запущено несколько экземпляров javascript на слейве.

                При этом хаотически щелкают реле и т.д. так как разные экземпляры

                javascript слейва мешают один другому.

                Здесь возможны два варианта решения:

                1. сначала проверить, что не запущено на слейве и лишь потом запускать

                (здесь возможно повторение той же ошибки, если адаптер на слейве запускается с небольшой задержкой)

                2. сначала все адаптеры на слейве погасить с мастера, и лишь потом

                запустить, как говорится с чистого листа.

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

                  @jeorgep:

                  Планируется ли как-то исправить ошибку Adapter already running

                  (http://forum.iobroker.net/viewtopic.php?p=23712#p23712)

                  которая присутствует в мультихост конфигурациях?

                  Дело в том, что если например при пропадании и появлении электроэнергии

                  происходит перезагрузка мастера и слейва - мастер в основном

                  загружается немного позже, так как на нем больше сервисов.

                  И начинает передергивать javascript адаптер слейва, который уже

                  благополучно загрузился и работает.

                  Получается что-то типа (на слейве):

                  root@art1:~# ps ax | grep io
                  ...
                    656 ?        Ssl    9:21 iobroker.js-controller
                   7188 ?        Sl    58:34 io.javascript.1
                   9353 ?        Sl     0:43 io.javascript.1
                   9423 ?        Sl     0:40 io.javascript.1
                  10397 ?        Sl     0:25 io.javascript.1
                  11582 pts/0    S+     0:00 grep io
                  

                  Здесь видно, что мастером запущено несколько экземпляров javascript на слейве.

                  При этом хаотически щелкают реле и т.д. так как разные экземпляры

                  javascript слейва мешают один другому.

                  Здесь возможны два варианта решения:

                  1. сначала проверить, что не запущено на слейве и лишь потом запускать

                  (здесь возможно повторение той же ошибки, если адаптер на слейве запускается с небольшой задержкой)

                  2. сначала все адаптеры на слейве погасить с мастера, и лишь потом

                  запустить, как говорится с чистого листа. `
                  Планируется… Но пока планирую я один. 😞

                  Склоняюсь ко 2му варианту. Если теряется связь с мастером, то все инстанции погасить. И ждать, когда связь снова появится.

                  1 Reply Last reply Reply Quote 0
                  • J
                    jeorgep last edited by

                    Да, я полностью понимаю Вашу загруженность!

                    Просто обращаю внимание на, как мне кажется существенный недостаток,

                    который не дает возможности работать полноценно в мультихост режиме.

                    Здесь мне тоже кажется предпочтительнее второй вариант.

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

                    javascript на слейве - ибо непонятно, что он сделает в мое отсутствие при подобном сбое.

                    –-----

                    Еще, если будет возможность (и время) - обратите внимание на

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

                    (http://forum.iobroker.net/viewtopic.php?p=32357#p32357).

                    То-есть предоставить пользователю возможность выбора - или локально или через owserver

                    (на этапе конфигурации адаптера).

                    В локальном режиме не только в десятки раз увеличивается скорость работы в owfs

                    но и появляется возможность остановить ненужные сервисы owserver и owhttpd,

                    что освобождает так необходимые ресурсы на маломощных серверах типа Raspberry Pi.

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

                      @jeorgep:

                      Да, я полностью понимаю Вашу загруженность!

                      Просто обращаю внимание на, как мне кажется существенный недостаток,

                      который не дает возможности работать полноценно в мультихост режиме.

                      Здесь мне тоже кажется предпочтительнее второй вариант.

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

                      javascript на слейве - ибо непонятно, что он сделает в мое отсутствие при подобном сбое.

                      –-----

                      Еще, если будет возможность (и время) - обратите внимание на

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

                      (http://forum.iobroker.net/viewtopic.php?p=32357#p32357).

                      То-есть предоставить пользователю возможность выбора - или локально или через owserver

                      (на этапе конфигурации адаптера).

                      В локальном режиме не только в десятки раз увеличивается скорость работы в owfs

                      но и появляется возможность остановить ненужные сервисы owserver и owhttpd,

                      что освобождает так необходимые ресурсы на маломощных серверах типа Raspberry Pi. `
                      Можешь опробовать owfs с гита?

                      1 Reply Last reply Reply Quote 0
                      • H
                        Haus last edited by

                        @Bluefox:

                        @jeorgep:

                        То-есть предоставить пользователю возможность выбора - или локально или через owserver

                        (на этапе конфигурации адаптера).

                        В локальном режиме не только в десятки раз увеличивается скорость работы в owfs

                        но и появляется возможность остановить ненужные сервисы owserver и owhttpd,

                        что освобождает так необходимые ресурсы на маломощных серверах типа Raspberry Pi. Можешь опробовать owfs с гита?
                        Попробовал, в стандартном режиме если подключены 1-3 датчика он их находит, если больше трёх тогда "0" найдено. В локальном режиме поиск не работает

                        inMem	2016-08-23 23:58:13.760	debug	message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1471985893718, q=0, from=system.adapter.admin.0, lc=1471985893718
                        host-Server1	2016-08-23 23:58:05.732	info	Restart adapter system.adapter.owfs.0 because enabled
                        host-Server1	2016-08-23 23:58:05.731	error	instance system.adapter.owfs.0 terminated with code 0 (OK)
                        owfs-0	2016-08-23 23:58:05.709	info	terminating
                        ReferenceError:	2016-08-23 23:58:05.187	error	at Object.oncomplete (fs.js:108:15)
                        ReferenceError:	2016-08-23 23:58:05.187	error	at /opt/iobroker/node_modules/iobroker.owfs/main.js:167:35
                        ReferenceError:	2016-08-23 23:58:05.187	error	d is not defined
                        uncaught	2016-08-23 23:58:05.185	error	exception: d is not defined
                        inMem	2016-08-23 23:58:04.566	debug	message messagebox.system.adapter.owfs.0 messagebox.system.adapter.owfs.0 command=readdir, path=/mnt/1wire, from=system.adapter.admin.0, path=/mnt/1wire, id=29, ack=false, time=1471985884527, _id=83
                        
                        1 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          А теперь?

                          Включи debug уровень. Я встроил debug выводы для скана сенсоров, если не локально.

                          1 Reply Last reply Reply Quote 0
                          • J
                            jeorgep last edited by

                            > Можешь опробовать owfs с гита?
                            У меня совсем не работает - в файле состояние датчика изменилось, а адаптер не видит,

                            возможно потому, что нет возможности выбора: локальный или owserver,

                            а owserver сервис у меня выключен.

                            По крайней мере я не нахожу опции выбора в настройках адаптера.

                            Но так как там нет и функции поиска датчиков - подозреваю, что у меня установлено что-то не верно.

                            Как я делал :

                            остановил iobroker

                            скачал отсюда архив https://github.com/ioBroker/ioBroker.ow … master.zip

                            распаковал в папку /opt/iobroker

                            установил:

                            npm install ioBroker.owfs-master

                            После чего проверил версию в файле:

                            /opt/iobroker/node_modules/iobroker.owfs/package.json

                            "version": "0.3.0",
                            

                            и запустил iobroker

                            проверил версию в WEB интерфейсе - тоже 0.3.0

                            Что должно быть в веб настройках адаптера?

                            1 Reply Last reply Reply Quote 0
                            • H
                              Haus last edited by

                              @Bluefox:

                              А теперь?

                              Включи debug уровень. Я встроил debug выводы для скана сенсоров, если не локально. `
                              Вот это в локал

                              ! ````
                              TypeError: 2016-08-24 10:32:36.258 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
                              TypeError: 2016-08-24 10:32:36.258 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
                              TypeError: 2016-08-24 10:32:36.258 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
                              TypeError: 2016-08-24 10:32:36.258 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
                              TypeError: 2016-08-24 10:32:36.258 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
                              TypeError: 2016-08-24 10:32:36.258 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
                              TypeError: 2016-08-24 10:32:36.258 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2096:34)
                              TypeError: 2016-08-24 10:32:36.258 error at Adapter.emit (events.js:95:17)
                              TypeError: 2016-08-24 10:32:36.258 error at Adapter.adapter.on.timer (/opt/iobroker/node_modules/iobroker.owfs/main.js:24:14)
                              TypeError: 2016-08-24 10:32:36.258 error at processMessage (/opt/iobroker/node_modules/iobroker.owfs/main.js:169:24)
                              TypeError: 2016-08-24 10:32:36.258 error Cannot call method 'readdir' of null
                              message 2016-08-24 10:32:36.253 error messagebox.system.adapter.owfs.0 [object Object] Cannot call method 'readdir' of null

                              Это стандартно семь датчиков
                              
                              >! ````
                              inMem	2016-08-24 10:42:12.577	debug	message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472024532539, q=0, from=system.adapter.admin.0, lc=1472024532539
                              inMem	2016-08-24 10:42:12.569	debug	message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472024532539, q=0, from=system.adapter.admin.0, lc=1472024532539
                              owfs-0	2016-08-24 10:42:08.841	debug	sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0
                              owfs-0	2016-08-24 10:42:08.839	debug	Result for dir: {}
                              owfs-0	2016-08-24 10:42:08.837	debug	Result for list_: []
                              owfs-0	2016-08-24 10:42:08.836	debug	Result for list: [""]
                              inMem	2016-08-24 10:42:08.703	debug	message megaesp.0.* megaesp.0.p9_P9 val=29, ack=true, ts=1472024528688, q=0, from=system.adapter.megaesp.0, lc=1472024528688
                              inMem	2016-08-24 10:42:08.679	debug	message megaesp.0.* megaesp.0.p3_P3_humidity val=79.7, ack=true, ts=1472024528663, q=0, from=system.adapter.megaesp.0, lc=1472024528663
                              megaesp-0	2016-08-24 10:42:08.659	debug	detected new value on port [9]: 29, calc state 29
                              megaesp-0	2016-08-24 10:42:08.656	debug	Response for 192.168.1.20[all]: 0;0;0;temp:20.00/hum:79.70;temp:19.50;OFF;RGB;NC;NC;29
                              megaesp-0	2016-08-24 10:42:08.594	debug	getPortState http://192.168.1.20/sec/?cmd=all
                              owfs-0	2016-08-24 10:42:07.515	debug	Connect to 127.0.0.1:4304
                              i
                              

                              Сейчас семь датчиков
                              443_owfs.png
                              Когда пять находит

                              ! ````
                              Нажмите Ctrl+A и Ctrl+C, что бы скопировать в буфер обмена и после этого нажмите мышкой в любом месте.
                              inMem 2016-08-24 11:27:44.682 debug message owfs.0.* owfs.0.wires.Sensor3_temperature val=null, ack=false, ts=1472027264623, q=0, from=system.adapter.owfs.0, lc=1472027264623
                              inMem 2016-08-24 11:27:44.622 debug message owfs.0.* owfs.0.wires.Sensor2_fasttemp val=null, ack=false, ts=1472027264610, q=0, from=system.adapter.owfs.0, lc=1472027264610
                              inMem 2016-08-24 11:27:44.584 debug message owfs.0.* owfs.0.wires.Sensor1_temperature val=null, ack=false, ts=1472027264561, q=0, from=system.adapter.owfs.0, lc=1472027264561
                              owfs-0 2016-08-24 11:27:44.368 info starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.owfs
                              owfs-0 2016-08-24 11:27:44.280 debug statesDB connected
                              owfs-0 2016-08-24 11:27:44.261 debug objectDB connected
                              host-Server1 2016-08-24 11:27:43.103 info instance system.adapter.owfs.0 started with pid 4016
                              host-Server1 2016-08-24 11:27:41.146 info instance system.adapter.owfs.0 terminated with code 0 (OK)
                              owfs-0 2016-08-24 11:27:41.115 info terminating
                              inMem 2016-08-24 11:27:40.763 debug message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472027260728, q=0, from=system.adapter.admin.0, lc=1472027260728
                              inMem 2016-08-24 11:27:40.763 debug message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472027260728, q=0, from=system.adapter.admin.0, lc=1472027260728
                              host-Server1 2016-08-24 11:27:40.588 info stopInstance system.adapter.owfs.0 killing pid 3909
                              host-Server1 2016-08-24 11:27:40.588 info stopInstance system.adapter.owfs.0
                              host-Server1 2016-08-24 11:27:40.586 info object change system.adapter.owfs.0
                              owfs-0 2016-08-24 11:27:00.597 debug sendTo 'readdir' to system.adapter.admin.0 from system.adapter.owfs.0
                              owfs-0 2016-08-24 11:27:00.596 debug Result for dir: {'10.DB1979020800':['address','alias','crc8','errata','family','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temphigh','templow','type'],'28.ECB1CD040000':['address','alias','crc8','errata','family','fasttemp','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temperature10','temperature11','temperature12','temperature9','temphigh','templow','type'],'28.3C3B63040000':['address','alias','crc8','errata','family','fasttemp','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temperature10','temperature11','temperature12','temperature9','temphigh','templow','type'],'28.6659CE040000':['address','alias','crc8','errata','family','fasttemp','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temperature10','temperature11','temperature12','temperature9','temphigh','templow','type'],'28.3E0764040000':['address','alias','crc8','errata','family','fasttemp','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temperature10','temperature11','temperature12','temperature9','temphigh','templow','type']}
                              owfs-0 2016-08-24 11:27:00.543 debug Result for list_: ['10.DB1979020800','28.ECB1CD040000','28.3C3B63040000','28.6659CE040000','28.3E0764040000']
                              owfs-0 2016-08-24 11:27:00.542 debug Result for list: ['/10.DB1979020800','/28.ECB1CD040000','/28.3C3B63040000','/28.6659CE040000','/28.3E0764040000']
                              owfs-0 2016-08-24 11:26:59.580 debug Connect to 127.0.0.1:4304
                              inMem 2016-08-24 11:26:59.577 debug message messagebox.system.adapter.owfs.0 messagebox.system.adapter.owfs.0 command=readdir, ip=127.0.0.1, port=4304, from=system.adapter.admin.0, ip=127.0.0.1, port=4304, id=86, ack=false, time=1472027219565, _id=83207467

                              1 Reply Last reply Reply Quote 0
                              • H
                                Haus last edited by

                                @jeorgep:

                                > Можешь опробовать owfs с гита?
                                У меня совсем не работает - в файле состояние датчика изменилось, а адаптер не видит,

                                возможно потому, что нет возможности выбора: локальный или owserver,

                                а owserver сервис у меня выключен.

                                По крайней мере я не нахожу опции выбора в настройках адаптера.

                                Но так как там нет и функции поиска датчиков - подозреваю, что у меня установлено что-то не верно.

                                Как я делал :

                                остановил iobroker

                                скачал отсюда архив https://github.com/ioBroker/ioBroker.ow … master.zip

                                распаковал в папку /opt/iobroker

                                установил:

                                npm install ioBroker.owfs-master

                                После чего проверил версию в файле:

                                /opt/iobroker/node_modules/iobroker.owfs/package.json

                                "version": "0.3.0",
                                

                                и запустил iobroker

                                проверил версию в WEB интерфейсе - тоже 0.3.0

                                Что должно быть в веб настройках адаптера? `

                                cd /opt/iobroker
                                npm install https://github.com/ioBroker/ioBroker.owfs/tarball/master/
                                iobroker upload owfs
                                iobroker restart owfs
                                
                                1 Reply Last reply Reply Quote 0
                                • J
                                  jeorgep last edited by

                                  cd /opt/iobroker
                                  npm install https://github.com/ioBroker/ioBroker.owfs/tarball/master/
                                  iobroker upload owfs
                                  iobroker restart owfs
                                  

                                  Да, спасибо - все получилось!

                                  Работает и чтение и запись в локальном режиме.

                                  Работает быстро!

                                  Найдено 30 датчиков в локальном режиме.

                                  Если некорректно работает в локальном режиме - возможно стоит посмотреть конфигурацию owfs.

                                  Мой /etc/owfs.conf

                                  ! server: server = localhost:4304
                                  Celsius
                                  owfs: device = /dev/i2c-0
                                  mountpoint = /mnt/1wire
                                  allow_other
                                  timeout_volatile = 60
                                  timeout_stable = 60
                                  timeout_directory = 30
                                  timeout_presence = 60
                                  timeout_network = 0
                                  timeout_persistent_low = 600
                                  timeout_persistent_high = 3600
                                  format = fic
                                  cache_size = 0
                                  
                                  

                                  /etc/systemd/system/multi-user.target.wants/owfs.service

                                  [Unit]
                                  Description=1-wire filesystem FUSE mount
                                  Documentation=man:owfs(1)
                                  
                                  [Service]
                                  Type=forking
                                  ExecStart=/opt/owfs/bin/owfs -c /etc/owfs.conf --pid-file /var/run/owfs/owfs.pid -C
                                  ExecStop=/usr/bin/umount /mnt/1wire
                                  RuntimeDirectory=owfs
                                  
                                  [Install]
                                  WantedBy=multi-user.target
                                  

                                  Система Armbian VERSION=5.16

                                  Orange Pi + 2

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    spectrekr last edited by

                                    Т.е. получается, что даже если используешь локальный режим, то всеравно должен присутствовать owfs сервер в системе?

                                    Т.к. сейчас попробовал установить драйвер в систему, где 1wire работает, но owfs сервера нет, указал каталог с датчиками, драйвер пишет что нашел 6 вместо 5 датчиков, хотя это понятно, так как он читает количество каталогов в данной директории, но в настройках датчики не появляются.

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

                                      Там в main.js ошибка небольшая.

                                      Надо добавить строкой 167

                                      fs = fs || require('fs');
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • J
                                        jeorgep last edited by

                                        @spectrekr:

                                        Т.е. получается, что даже если используешь локальный режим, то всеравно должен присутствовать owfs сервер в системе?

                                        Т.к. сейчас попробовал установить драйвер в систему, где 1wire работает, но owfs сервера нет, указал каталог с датчиками, драйвер пишет что нашел 6 вместо 5 датчиков, хотя это понятно, так как он читает количество каталогов в данной директории, но в настройках датчики не появляются. `

                                        Пакет owfs

                                        предоставляет 4 сервиса

                                        /lib/systemd/system/owfs.service

                                        ! ````
                                        [Unit]
                                        Description=1-wire filesystem FUSE mount
                                        Documentation=man:owfs(1)
                                        ! [Service]
                                        Type=forking
                                        ExecStart=/opt/owfs/bin/owfs -c /etc/owfs.conf --pid-file /var/run/owfs/owfs.pid -C
                                        ExecStop=/usr/bin/umount /mnt/1wire
                                        RuntimeDirectory=owfs
                                        ! [Install]
                                        WantedBy=multi-user.target

                                        Формирует виртуальную файловую систему в точке монтирования
                                        
                                        ****/lib/systemd/system/owserver.service****
                                        
                                        >! ````
                                        [Unit]
                                        Description=Backend server for 1-wire control
                                        Documentation=man:owserver(1)
                                        After=syslog.target network.target
                                        >! [Service]
                                        Type=forking
                                        ExecStart=/opt/owfs/bin/owserver -c /etc/owfs.conf -C --pid-file /var/run/owfs/owserver.pid
                                        >! [Install]
                                        WantedBy=multi-user.target
                                        Also=owserver.socket
                                        

                                        Предоставляет удаленный доступ к owfs файловой системе

                                        (по умолчанию порт 4304)

                                        /lib/systemd/system/owhttpd.service

                                        ! ````
                                        [Unit]
                                        Description=Tiny webserver for 1-wire control
                                        Documentation=man:owhttpd(1)
                                        After=network.target
                                        ! [Service]
                                        Type=forking
                                        ExecStart=/opt/owfs/bin/owhttpd -c /etc/owfs.conf --background --pid-file /var/run/owfs/owhttpd.pid
                                        User=owfs
                                        Group=owfs
                                        ! [Install]
                                        WantedBy=multi-user.target

                                        Поднимает легкий http server (на порту 2121 по умолчанию)
                                        
                                        и ****/lib/systemd/system/owftpd.service**** - не пользовался
                                        
                                        Для локального использования в файловой системе достаточно запустить лишь ****owfs**** сервис
                                        
                                        с конфигом /etc/owfs.conf вида:
                                        

                                        ! server: server = localhost:4304
                                        Celsius
                                        owfs: device = /dev/i2c-0
                                        mountpoint = /mnt/1wire
                                        allow_other
                                        timeout_volatile = 60
                                        timeout_stable = 60
                                        timeout_directory = 30
                                        timeout_presence = 60
                                        timeout_network = 0
                                        timeout_persistent_low = 600
                                        timeout_persistent_high = 3600
                                        format = fic
                                        cache_size = 0

                                        
                                        Для удаленного использования запускается два сервиса
                                        
                                        ****owfs.service****
                                        
                                        ****owserver.service****
                                        
                                        или три ****+ owhttpd.service****
                                        
                                        с конфигом /etc/owfs.conf вида:
                                        

                                        ! server: server = localhost:4304
                                        Celsius
                                        server: device = /dev/i2c-0
                                        http: port = 2121
                                        mountpoint = /mnt/1wire
                                        allow_other
                                        timeout_volatile = 60
                                        timeout_stable = 60
                                        timeout_directory = 30
                                        timeout_presence = 60
                                        timeout_network = 0
                                        timeout_persistent_low = 600
                                        timeout_persistent_high = 3600
                                        format = fic
                                        cache_size = 0

                                        В этом варианте можно пользоваться как удаленно так и локально.
                                        
                                        Локальный доступ осуществляется гораздо быстрее - в десятки раз,
                                        
                                        чем удаленный. Поэтому если нет необходимости в удаленном доступе -
                                        
                                        лучше пользоваться локальным. Погасив при этом ненужные сервисы owserver и owhttpd.
                                        
                                        Большое спасибо Bluefox за оперативность!
                                        1 Reply Last reply Reply Quote 0
                                        • Bluefox
                                          Bluefox last edited by

                                          @Haus:

                                          @Bluefox:

                                          А теперь?

                                          Включи debug уровень. Я встроил debug выводы для скана сенсоров, если не локально. `
                                          Вот это в локал

                                          owfs-0	2016-08-24 10:42:08.836	debug	Result for list: [""]
                                          
                                          

                                          Сейчас семь датчиков

                                          Когда пять находит

                                          owfs-0	2016-08-24 11:27:00.542	debug	Result for list: ['/10.DB1979020800','/28.ECB1CD040000','/28.3C3B63040000','/28.6659CE040000','/28.3E0764040000']
                                          
                                          ```` `  
                                          

                                          Помогай. У меня с FAKED
                                          48_2016-08-24_13_57_25-iobroker.admin.png

                                          Ошибка, где то в библиотеке owjs.

                                          Где то здесь (node_modules/owjs/owjs.js:

                                          // return array of dir
                                              self.list = function (path, callback) {
                                                  var promise;
                                                  if (path instanceof Array) {
                                                      promise = Q.all(path.map(self.list));
                                                  }
                                                  else {
                                                      promise = self.send(path, null, OW_DIRALL)
                                                      .then(function (messages) {
                                                          var message = messages[0];
                                                          if (message.header.ret < 0) {
                                                              throw new Error(message.header.ret);
                                                          } 
                                                          var str = message.payload;
                                                          str = str.substring(0, str.length - 1); // remove zero-char from end
                                                          return str.split(',');
                                                      });
                                                  }
                                          
                                                  return nodify(promise, callback);
                                              };
                                          

                                          Можешь встроить

                                          .then(function (messages) {
                                          		console.log(JSON.stringify(messages));//<-----
                                                          var message = messages[0];
                                          
                                          

                                          И выполнить

                                          iobroker stop owfs
                                          node node_modules/iobroker.owfs/main.js --force --logs
                                          
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            spectrekr last edited by

                                            @jeorgep:

                                            В этом варианте можно пользоваться как удаленно так и локально.

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

                                            чем удаленный. Поэтому если нет необходимости в удаленном доступе -

                                            лучше пользоваться локальным. Погасив при этом ненужные сервисы owserver и owhttpd.

                                            Большое спасибо Bluefox за оперативность! `
                                            Проблема в том что у меня 1wire реализован через gpio на raspberry и owfs пакет не дружит с режимом kernel. Соответственно он мне не создает виртуальную fs.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            909
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            27
                                            192
                                            52469
                                            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