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

      @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
                              • S
                                spectrekr last edited by

                                @jeorgep:

                                Игрался и настраивал, не поддерживается. Там старые версии ядра еще можно было пропатчить, чтоб owfs заработал, на 4 версии ядра информации вообще не нашел. Внешнее устройство на i2c или USB в этом плане лучше.

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

                                  @jeorgep:

                                  @spectrekr:

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

                                  Именно после перегрузки он может подхватить конфиг `
                                  Не 😮 , я на DELL FX170 вся инфа в подписе

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

                                    @Bluefox:

                                    @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
                                    filename="2016-08-24 13_57_25-ioBroker.admin.png" index="0">~~

                                    Ошибка, где то в библиотеке 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
                                    
                                    ```` `  
                                    

                                    Сделал, считал когда пять

                                    ! ````
                                    2016-08-24 18:34:08.823 - debug: owfs.0 Connect to 127.0.0.1:4304
                                    [{"header":{"version":0,"payload":85,"ret":0,"controlflags":32,"size":84,"offset":32770},"payload":"/10.DB1979020800,/28.ECB1CD040000,/28.3C3B63040000,/28.6659CE040000,/28.3E0764040000\u0000"}]
                                    Result for list: ["/10.DB1979020800","/28.ECB1CD040000","/28.3C3B63040000","/28.6659CE040000","/28.3E0764040000"]
                                    2016-08-24 18:34:09.757 - debug: owfs.0 Result for list: ["/10.DB1979020800","/28.ECB1CD040000","/28.3C3B63040000","/28.6659CE040000","/28.3E0764040000"]
                                    Result for list_: ["10.DB1979020800","28.ECB1CD040000","28.3C3B63040000","28.6659CE040000","28.3E0764040000"]
                                    2016-08-24 18:34:09.758 - debug: owfs.0 Result for list_: ["10.DB1979020800","28.ECB1CD040000","28.3C3B63040000","28.6659CE040000","28.3E0764040000"]
                                    [{"header":{"version":0,"payload":392,"ret":0,"controlflags":32,"size":391,"offset":0},"payload":"/10.DB1979020800/address,/10.DB1979020800/alias,/10.DB1979020800/crc8,/10.DB1979020800/errata,/10.DB1979020800/family,/10.DB1979020800/id,/10.DB1979020800/locator,/10.DB1979020800/power,/10.DB1979020800/r_address,/10.DB1979020800/r_id,/10.DB1979020800/r_locator,/10.DB1979020800/scratchpad,/10.DB1979020800/temperature,/10.DB1979020800/temphigh,/10.DB1979020800/templow,/10.DB1979020800/type\u0000"}]
                                    [{"header":{"version":0,"payload":541,"ret":0,"controlflags":32,"size":540,"offset":0},"payload":"/28.ECB1CD040000/address,/28.ECB1CD040000/alias,/28.ECB1CD040000/crc8,/28.ECB1CD040000/errata,/28.ECB1CD040000/family,/28.ECB1CD040000/fasttemp,/28.ECB1CD040000/id,/28.ECB1CD040000/locator,/28.ECB1CD040000/power,/28.ECB1CD040000/r_address,/28.ECB1CD040000/r_id,/28.ECB1CD040000/r_locator,/28.ECB1CD040000/scratchpad,/28.ECB1CD040000/temperature,/28.ECB1CD040000/temperature10,/28.ECB1CD040000/temperature11,/28.ECB1CD040000/temperature12,/28.ECB1CD040000/temperature9,/28.ECB1CD040000/temphigh,/28.ECB1CD040000/templow,/28.ECB1CD040000/type\u0000"}]
                                    [{"header":{"version":0,"payload":541,"ret":0,"controlflags":32,"size":540,"offset":0},"payload":"/28.3C3B63040000/address,/28.3C3B63040000/alias,/28.3C3B63040000/crc8,/28.3C3B63040000/errata,/28.3C3B63040000/family,/28.3C3B63040000/fasttemp,/28.3C3B63040000/id,/28.3C3B63040000/locator,/28.3C3B63040000/power,/28.3C3B63040000/r_address,/28.3C3B63040000/r_id,/28.3C3B63040000/r_locator,/28.3C3B63040000/scratchpad,/28.3C3B63040000/temperature,/28.3C3B63040000/temperature10,/28.3C3B63040000/temperature11,/28.3C3B63040000/temperature12,/28.3C3B63040000/temperature9,/28.3C3B63040000/temphigh,/28.3C3B63040000/templow,/28.3C3B63040000/type\u0000"}]
                                    [{"header":{"version":0,"payload":541,"ret":0,"controlflags":32,"size":540,"offset":0},"payload":"/28.6659CE040000/address,/28.6659CE040000/alias,/28.6659CE040000/crc8,/28.6659CE040000/errata,/28.6659CE040000/family,/28.6659CE040000/fasttemp,/28.6659CE040000/id,/28.6659CE040000/locator,/28.6659CE040000/power,/28.6659CE040000/r_address,/28.6659CE040000/r_id,/28.6659CE040000/r_locator,/28.6659CE040000/scratchpad,/28.6659CE040000/temperature,/28.6659CE040000/temperature10,/28.6659CE040000/temperature11,/28.6659CE040000/temperature12,/28.6659CE040000/temperature9,/28.6659CE040000/temphigh,/28.6659CE040000/templow,/28.6659CE040000/type\u0000"}]
                                    [{"header":{"version":0,"payload":541,"ret":0,"controlflags":32,"size":540,"offset":0},"payload":"/28.3E0764040000/address,/28.3E0764040000/alias,/28.3E0764040000/crc8,/28.3E0764040000/errata,/28.3E0764040000/family,/28.3E0764040000/fasttemp,/28.3E0764040000/id,/28.3E0764040000/locator,/28.3E0764040000/power,/28.3E0764040000/r_address,/28.3E0764040000/r_id,/28.3E0764040000/r_locator,/28.3E0764040000/scratchpad,/28.3E0764040000/temperature,/28.3E0764040000/temperature10,/28.3E0764040000/temperature11,/28.3E0764040000/temperature12,/28.3E0764040000/temperature9,/28.3E0764040000/temphigh,/28.3E0764040000/templow,/28.3E0764040000/type\u0000"}]
                                    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"]}
                                    2016-08-24 18:34:09.807 - debug: owfs.0 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"]}
                                    sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0
                                    2016-08-24 18:34:09.808 - debug: owfs.0 sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0
                                    2016-08-24 18:34:13.959 - debug: inMem message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472052853910, q=0, from=system.adapter.admin.0, lc=1472052853910

                                    Тут добавил датчик считал и получил 0
                                    
                                    >! ````
                                    Read /28.3E0764040000/fasttemp:22.5
                                    2016-08-24 17:25:39.499  - debug: owfs.0 Read /28.3E0764040000/fasttemp:22.5
                                    2016-08-24 17:25:39.524  - debug: inMem message  owfs.0.* owfs.0.wires.Sensor8_fasttemp val=22.5, ack=true, ts=1472048739505, q=0, from=system.adapter.owfs.0, lc=1472040899036
                                    2016-08-24 17:25:50.314  - debug: inMem 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=107, ack=false, time=1472048750295, _id=83207507
                                    Connect to 127.0.0.1:4304
                                    2016-08-24 17:25:50.322  - debug: owfs.0 Connect to 127.0.0.1:4304
                                    [{"header":{"version":0,"payload":-1,"ret":0,"controlflags":0,"size":0,"offset":0},"payload":""},{"header":{"version":0,"payload":102,"ret":0,"controlflags":32,"size":101,"offset":32770},"payload":"/10.DB1979020800,/28.ECB1CD040000,/28.3C3B63040000,/28.6659CE040000,/28.3E0764040000,/28.FF76034B0400\u0000"}]
                                    Result for list: [""]
                                    2016-08-24 17:25:51.429  - debug: owfs.0 Result for list: [""]
                                    Result for list_: []
                                    2016-08-24 17:25:51.431  - debug: owfs.0 Result for list_: []
                                    Result for dir: {}
                                    2016-08-24 17:25:51.432  - debug: owfs.0 Result for dir: {}
                                    sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0
                                    2016-08-24 17:25:51.432  - debug: owfs.0 sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0
                                    Read /28.ECB1CD040000/fasttemp:24.5
                                    2016-08-24 17:26:04.757  - debug: owfs.0 Read /28.ECB1CD040000/fasttemp:24.5
                                    2016-08-24 17:26:04.786  - debug: inMem message  owfs.0.* owfs.0.wires.Sensor2_fasttemp val=24.5, ack=true, ts=1472048764764, q=0, from=system.adapter.owfs.0, lc=1472046903492
                                    Read /28.6659CE040000/fasttemp:21
                                    2016-08-24 17:26:05.067  - debug: owfs.0 Read /28.6659CE040000/fasttemp:21
                                    2016-08-24 17:26:05.090  - debug: inMem message  owfs.0.* owfs.0.wires.Sensor6_fasttemp val=21, ack=true, ts=1472048765074, q=0, from=system.adapter.owfs.0, lc=1472048466105
                                    Read /28.ECB1CD040000/temperature:24.5625
                                    

                                    Вот это при локальном поиске

                                    ! ````
                                    Read /28.ECB1CD040000/temperature:24.5
                                    2016-08-24 17:22:09.831 - debug: owfs.0 Read /28.ECB1CD040000/temperature:24.5
                                    2016-08-24 17:22:09.858 - debug: inMem message owfs.0.* owfs.0.wires.Sensor3_temperature val=24.5, ack=true, ts=1472048529838, q=0, from=system.adapter.owfs.0, lc=1472048319346
                                    2016-08-24 17:22:20.355 - debug: inMem 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=106, ack=false, time=1472048540343, _id=83207506
                                    2016-08-24 17:22:20.364 - error: message messagebox.system.adapter.owfs.0 [object Object] Cannot call method 'readdir' of null
                                    2016-08-24 17:22:20.370 - error: TypeError: Cannot call method 'readdir' of null
                                    at processMessage (/opt/iobroker/node_modules/iobroker.owfs/main.js:169:24)
                                    at Adapter.adapter.on.timer (/opt/iobroker/node_modules/iobroker.owfs/main.js:24:14)
                                    at Adapter.emit (events.js:95:17)
                                    at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2096:34)
                                    at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
                                    at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
                                    at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
                                    at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
                                    at Manager. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
                                    at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
                                    Read /28.ECB1CD040000/fasttemp:24.5
                                    2016-08-24 17:22:34.683 - debug: owfs.0 Read /28.ECB1CD040000/fasttemp:24.5
                                    2016-08-24 17:22:34.710 - debug: inMem message owfs.0.* owfs.0.wires.Sensor2_fasttemp val=24.5, ack=true, ts=1472048554689, q=0, from=system.adapter.owfs.0, lc=1472046903492
                                    Read /28.3C3B63040000/fasttemp:22
                                    2016-08-24 17:22:34.961 - debug: owfs.0 Read /28.3C3B63040000/fasttemp:22
                                    2016-08-24 17:22:34.991 - debug: inMem message owfs.0.* owfs.0.wires.Sensor4_fasttemp val=22, ack=true, ts=1472048554968, q=0, from=system.adapter.owfs.0, lc=1472040658839
                                    Read /28.6659CE040000/temperature:21.3125
                                    2016-08-24 17:22:35.958 - debug: owfs.0 Read /28.6659CE040000/temperature:21.3125
                                    2016-08-24 17:22:35.991 - debug: inMem message owfs.0.* owfs.0.wires.Sensor7_temperature val=21.3125, ack=true, ts=1472048555965, q=0, from=system.adapter.owfs.0, lc=1472048286461</anonymous>

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

                                      @spectrekr:

                                      @jeorgep: Игрался и настраивал, не поддерживается. Там старые версии ядра еще можно было пропатчить, чтоб owfs заработал, на 4 версии ядра информации вообще не нашел. Внешнее устройство на i2c или USB в этом плане лучше.
                                      Ну, и на всякий случай контрольный выстрел, чтобы совесть была чиста 🙂

                                      В /etc/owfs.conf

                                      должна быть указана точка монтирования:

                                      mountpoint = /mnt/1wire
                                      

                                      Она должна существовать и на нее должны бть права:

                                      mkdir /mnt/1wire
                                      chmod 777 /mnt/1wire
                                      chown root:root /mnt/1wire
                                      
                                      

                                      И в /etc/fuse.conf не забыть:

                                      user_allow_other
                                      

                                      В /boot/config.txt Raspberry Pi:

                                      Наверное (точно не помню - у меня Orange Pi, там этого нет):

                                      dtoverlay=w1-gpio
                                      

                                      У меня owfs самосборный, не из репозитария debian jessie.

                                      А вот что говорит man owfs:

                                      * w1 kernel module
                                             This  a  linux-specific option for using the operating system's access to bus masters. Root access is required and the implementation was
                                             still in progress as of owfs v2.7p12 and linux 2.6.30.
                                      
                                             Bus masters are recognized and added dynamically. Details of the physical bus master are not accessible, bu they include USB, i2c  and  a
                                             number of GPIO designs on embedded boards.
                                      
                                             Access  is  restrict  to superuser due to the netlink broadcast protocol employed by w1\. Multitasking must be configured (threads) on the
                                             compilation.
                                      
                                             --w1   Use the linux kernel w1 virtual bus master.
                                      
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • Bluefox
                                        Bluefox last edited by

                                        Я поправил на git локальный поиск. С большим количеством датчиков по сети пока ничего не делал.

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

                                          @Bluefox:

                                          Я поправил на git локальный поиск. С большим количеством датчиков по сети пока ничего не делал. `
                                          Сейчас попробую

                                          P.S. локально считывает, сейчас добавлю датчиков

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

                                            @Bluefox:

                                            Я поправил на git локальный поиск. С большим количеством датчиков по сети пока ничего не делал. `
                                            Добавил датчики, ключи всё гут в новой конфигурации с чебоксом локально.

                                            А вот если сразу убрать чебокс и не сохранить, нажать на поиск сыпятся ошибки

                                            TypeError:	2016-08-25 00:23:40.195	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-25 00:23:40.195	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-25 00:23:40.195	error	at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
                                            TypeError:	2016-08-25 00:23:40.195	error	at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
                                            TypeError:	2016-08-25 00:23:40.195	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-25 00:23:40.195	error	at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
                                            TypeError:	2016-08-25 00:23:40.195	error	at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2096:34)
                                            TypeError:	2016-08-25 00:23:40.195	error	at Adapter.emit (events.js:95:17)
                                            TypeError:	2016-08-25 00:23:40.195	error	at Adapter.adapter.on.timer (/opt/iobroker/node_modules/iobroker.owfs/main.js:24:14)
                                            TypeError:	2016-08-25 00:23:40.195	error	at processMessage (/opt/iobroker/node_modules/iobroker.owfs/main.js:136:39)
                                            TypeError:	2016-08-25 00:23:40.195	error	Cannot read property 'Client' of null
                                            message	2016-08-25 00:23:40.188	error	messagebox.system.adapter.owfs.0 [object Object] Cannot read property 'Client' of null
                                            owfs-0	2016-08-25 00:23:40.183	debug	Connect to 127.0.0.1:4304
                                            inMem	2016-08-25 00:23:40.177	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=160, ack=false, time=1472
                                            inMem	2016-08-25 00:23:33.570	debug	message *.logging system.adapter.admin.0.logging val=true, ack=true, ts=1472073813535, q=0, from=system.adapter.admin.0, lc=1472073813535
                                            inMem	2016-08-25 00:23:33.567	debug	message *.logging system.adapter.admin.0.logging val=true, ack=true, ts=1472073813535, q=0, from=system.adapter.admin.0, lc=1472073813535
                                            owfs-0	2016-08-25 00:23:30.755	info	starting. Version 0.3.2 in /opt/iobroker/node_modules/iobroker.owfs
                                            owfs-0	2016-08-25 00:23:30.666	debug	statesDB connected
                                            owfs-0	2016-08-25 00:23:30.631	debug	objectDB connected
                                            host-Server1	2016-08-25 00:23:29.498	info	instance system.adapter.owfs.0 started with pid 21434
                                            host-Server1	2016-08-25 00:23:27.525	info	instance system.adapter.owfs.0 terminated with code 0 (OK)
                                            owfs-0	2016-08-25 00:23:27.498	info	terminating
                                            host-Server1	2016-08-25 00:23:26.971	info	stopInstance system.adapter.owfs.0 killing pid 21185
                                            host-Server1	2016-08-25 00:23:26.970	info	stopInstance system.adapter.owfs.0
                                            host-Server1	2016-08-25 00:23:26.962	info	object change system.adapter.owfs.0
                                            

                                            Bluefox, я думаю было бы здорово для каждого датчика сделать своё время опроса. Я раньше хитрил чтобы негонять опрос всех датчиков там где нужно часто (система отопления, котел, трёхходовой), запускал ещё один драйвер ну а в комнатах или ещё где рас в минуту или на улице рас в пять минут ну это ж кастыль

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            658
                                            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