Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. ioBroker драйвера
    5. 1Wire и OWFS

    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

    1Wire и OWFS

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

      Вот содержимое папки devices:

      root@orange:/sys/bus/w1/devices# ls
      28-031657ba9cff  w1_bus_master1
      root@orange:/sys/bus/w1/devices#
      
      

      Вот содержимое папки датчика:

      root@orange:/sys/bus/w1/devices# cd 28-031657ba9cff
      root@orange:/sys/bus/w1/devices/28-031657ba9cff# ls
      driver  id  name  power  subsystem  uevent  w1_slave
      root@orange:/sys/bus/w1/devices/28-031657ba9cff#
      
      

      костыль прописал. изменений не заметил.

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

        Сделал другой костыль.

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

        Получаю правильное значение и пишу его в другой объект:

        on({id: 'owfs.0.wires.temp', change: "ne"}, function (obj) {
          exec('cat /sys/bus/w1/devices/28-031657ba9cff/w1_slave | grep "t="| cut -f 2 -d "="', function(error, stdout, stderr){
              setState("javascript.0.scriptEnabled.testScripts.tempValue", stdout/1000, true);
              log(error);
              log(stdout);
              log(stderr);
          })
        });
        

        вроде работает. Но блин это же костыль. разобраться что к чему хотелось бы

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

          @XAPuTOH:

          Сделал другой костыль.

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

          Получаю правильное значение и пишу его в другой объект:

          on({id: 'owfs.0.wires.temp', change: "ne"}, function (obj) {
            exec('cat /sys/bus/w1/devices/28-031657ba9cff/w1_slave | grep "t="| cut -f 2 -d "="', function(error, stdout, stderr){
                setState("javascript.0.scriptEnabled.testScripts.tempValue", stdout/1000, true);
                log(error);
                log(stdout);
                log(stderr);
            })
          });
          

          вроде работает. Но блин это же костыль. разобраться что к чему хотелось бы `
          Вообще-то то что сейчас сделал, как раз задача owfserver. Ты его установил?

          Если да, то там надо указывать точку монтирования. Какая у тебя?

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

            Во!

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

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

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

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

              @XAPuTOH:

              Во!

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

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

              Установлю сервер отпишусь! `
              Вопрос только сможет owfserver с gpio работать?

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

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

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

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

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

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

                  @XAPuTOH:

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

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

                  Что может быть? `
                  Ошибка говорит, что папка не существует. Значит ты ввёл не то имя в настройках или ..

                  Ручками посмотри папку.

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

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

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

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

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

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

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

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

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

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

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

                        @XAPuTOH:

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

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

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

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

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

                        Вопрос. Можно ли как то подписаться на изменение файла не используя OWFS драйвер? `
                        Добавь npm модуль watch в настройках javasciprt.

                        И используй так:

                        var watch = require('watch');
                        watch.createMonitor('/sys/bus/w1/devices/28-031657ba9cff', function (monitor) {
                            monitor.on("changed", function (f) {
                              // Handle file changes
                              console.log(f + ' was changed');
                            });
                        });
                        
                        
                        1 Reply Last reply Reply Quote 0
                        • X
                          XAPuTOH last edited by

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

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

                            Всем привет.

                            Есть проблема с использованием драйвера OWFS, может кто сталкивался уже…

                            Мастер сети https://www.ab-log.ru/files/File/Datasheets/DS9490.pdf USBшный подключен в порт платы Cubietruck.

                            Стик определеяется в системе:

                            root@cubietruck:~# lsusb
                            Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
                            Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
                            Bus 003 Device 002: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter
                            Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
                            Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
                            Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
                            
                            

                            Устанавливал через apt-get сервер OWFS.

                            Через systemctl выключил сервисы owserver, owftpd, owhttpd

                            Запускаю вручную строкой

                            root@cubietruck:~# owfs -u /mnt/1wire
                            

                            Запускается и в директории /mnt/1wire появляются датчики DS18B20 10 штук, что у меня в сети.

                            root@cubietruck:~# cd /mnt/1wire/
                            root@cubietruck:/mnt/1wire# ls -l
                            total 0
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF17BB641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF2A9F641503
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF38DD641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF81E3641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFAB9D641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFACA8641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFC3B4641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFCBCD641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFDAA8641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFF593641501
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 81.3E3332000000
                            drwxr-xr-x 1 root root 4096 Jan 26 14:52 alarm
                            drwxr-xr-x 1 root root 4096 Jan 26 14:52 bus.1
                            drwxr-xr-x 1 root root 4096 Jan 26 14:52 settings
                            drwxrwxrwx 1 root root 4096 Jan 26 18:39 simultaneous
                            drwxr-xr-x 1 root root 4096 Jan 26 14:52 statistics
                            drwxr-xr-x 1 root root 4096 Jan 26 14:52 structure
                            drwxr-xr-x 1 root root 4096 Jan 26 14:52 system
                            drwxr-xr-x 1 root root 4096 Jan 26 14:52 uncached
                            
                            

                            По этой дериктории по ssh перещаюсь с тормозами не понятными, "зависает" бывает секунд на 10-30…

                            Проблема в том, что ioBroker драйвер OWFS походу не всегда может получить доступ к файлам.

                            В логах появляются ошибки типа:

                            owfs.0	2018-01-26 18:29:29.205	warn	Cannot read value of /mnt/1wire/28.FFF593641501/temperature: Error: EINVAL: invalid argument, read
                            owfs.0	2018-01-26 18:27:57.704	warn	Cannot read value of /mnt/1wire/28.FF17BB641501/temperature: Error: EINVAL: invalid argument, read
                            owfs.0	2018-01-26 18:24:58.391	warn	Cannot read value of /mnt/1wire/28.FF2A9F641503/temperature: Error: EINVAL: invalid argument, read
                            owfs.0	2018-01-26 18:19:11.860	warn	Cannot read value of /mnt/1wire/28.FF17BB641501/temperature: Error: EINVAL: invalid argument, read
                            owfs.0	2018-01-26 18:16:09.019	warn	Cannot read value of /mnt/1wire/28.FF38DD641501/temperature: Error: EINVAL: invalid argument, read
                            
                            

                            Иногда OWFS совсем отваливается и в директории /mnt/1wire пусто, тогда в логах ioBroker следующее:

                            2018-01-26 00:00:20.438  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:00:30.986  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:00:40.455  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:00:50.897  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:01:00.464  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:01:10.907  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:01:20.491  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:01:31.106  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:01:40.495  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:01:50.957  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:02:00.518  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:02:10.957  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:02:20.526  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:02:31.066  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:02:40.540  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:02:50.978  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:03:00.555  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:03:10.997  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:03:20.568  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:03:31.008  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:03:40.573  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:03:51.017  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:04:00.591  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:04:11.037  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            2018-01-26 00:04:20.608  - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'
                            
                            

                            Как продиагностировать OWFS, я понимаю, что проблема не в ioBroker?

                            Может я не правильно настроил/запустил/установил?

                            Настройки драйвера OWFS на скриншоте.
                            1238_pic_313.jpg

                            1 Reply Last reply Reply Quote 0
                            • R
                              RDim last edited by

                              У меня работает так:

                              Запущен сервис owserver````
                              ps ax|grep owfs
                              /usr/bin/owserver -uall -p 4304 --pid-file /var/run/owfs/owserver.pid

                              И такие настройки.
                              
                              Галку локальный IP, почему не помню не поставил. IoBroker и OWFS на одной машине.
                              [894_2018-01-26_20-17-57.png](/assets/uploads/files/894_2018-01-26_20-17-57.png)
                              1 Reply Last reply Reply Quote 0
                              • Bluefox
                                Bluefox last edited by

                                If the structure of w1/devices similar to owfs, you don't need owfs. Just setup the path in adapter settings.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                547
                                Online

                                31.8k
                                Users

                                80.0k
                                Topics

                                1.3m
                                Posts

                                10
                                33
                                10490
                                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