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.
    • 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
                                          • J
                                            jeorgep last edited by

                                            @spectrekr:

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

                                            Гм, не знаю - у меня мастер восьмиканальный железный.

                                            Попробуй так:

                                            systemctl disable owserver.service

                                            systemctl disable owhttpd.service

                                            Проверь есть ли у тебя /lib/systemd/system/owfs.service

                                            (он может отсутствовать)

                                            Если нет - создай по образу моего.

                                            systemctl enable owfs.service

                                            в /etc/owfs.conf

                                            Закомментируй строки типа

                                            server: device = /dev/i2c-0

                                            (то что у тебя)

                                            и поставь

                                            owfs: device = /dev/i2c-0

                                            (то устройство что у тебя)

                                            После этого перезагрузи Raspberry.

                                            Именно после перегрузки он может подхватить конфиг

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            656
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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