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.
    • H
      Haus last edited by

      @XAPuTOH:

      Всем привет!

      Я только начал осваивать ioBroker, да и вообще тему умных домов. Поэтому сразу прошу прощения если сморожу какую нибудь глупость. 🙂

      Имею в наличии OrangePI Plus и датчик температуры ds18b20.

      Все подключил как в статье http://smart-home.te.ua/raspberry-pi-ds18b20-2/

      Для апельсинки схема немного другая но нужный результат я получил.

      Девайс обнаружился показания есть:

      root@orange:/sys/bus/w1/devices# cat 28-031657ba9cff/w1_slave
      83 01 4b 46 7f ff 0c 10 a2 : crc=a2 YES
      83 01 4b 46 7f ff 0c 10 a2 t=24187
      

      Вопрос: Как бы мне эти показания завести ioBroker?

      Насколько я понимаю OWFS может мне быть полезен в этом деле.

      Подключил. в качестве точки монтирования настроил: /sys/bus/w1/devices/

      настроил датчик. в качестве property задал w1_slave

      Датчик нашелся на в качестве показаний дает 83 - первые символы ответа из команды cat 28-031657ba9cff/w1_slave.

      В общем что я делаю не так ? или может еще есть способы вывести показания? `
      Привет

      Про OrangePI Plus и gpio сказать нечего не могу, но если у тебя в папке по пути /sys/bus/w1/devices/ есть твои датчики то в ioBroker настрой драйвер OWFS на "Локальный OWFS" укажи путь /sys/bus/w1/devices и нажми поиск сенсоров.

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

        Все так и делаю

        но так не находит

        Точнее так находик 2 какихто датчика. Но идентификаторы не совпадают ну и в значениях пусто.

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

          @XAPuTOH:

          Все так и делаю

          но так не находит

          Точнее так находик 2 какихто датчика. Но идентификаторы не совпадают ну и в значениях пусто. `
          Давай скриншоты попки и настроек OWFS драйвера.

          здесь полистай http://forum.iobroker.net/viewtopic.php?f=27&t=3267

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

            Почитал. но видимо я не очень в теме. В основном не очень понятно - ключи и т.п.

            Делаю так:

            Сперва создал один экземпляр драйвера и настроил в ручную так : 1612_1.jpg

            Потом второй - в котором как раз нашлось 2 датчика с неизвестными адресами:
            1612_2.jpg

            Так это выглядит на странице объекты: 1612_3.jpg
            Значение температуры там - это начало ответа (см. первый пост)

            Попробовал отключить датчик. - теперь автоматом находит 1 датчик

            Включаю - опять 2 шт. Т.е. драйвер все таки как то реагирует на появление датчика. Правда адрес левый какой то.

            Я понял так(но может ошибаюсь):

            1. Мастер сети мне не нужен. У меня апельсинка мастер?

            2. Сервер owfs я не устанавливаю? или его таки надо ставить?

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

              @XAPuTOH:

              Почитал. но видимо я не очень в теме. В основном не очень понятно - ключи и т.п.

              Делаю так:

              Сперва создал один экземпляр драйвера и настроил в ручную так :1.jpg

              Потом второй - в котором как раз нашлось 2 датчика с неизвестными адресами:

              2.jpg

              Так это выглядит на странице объекты:3.jpg

              Значение температуры там - это начало ответа (см. первый пост)

              Попробовал отключить датчик. - теперь автоматом находит 1 датчик

              Включаю - опять 2 шт. Т.е. драйвер все таки как то реагирует на появление датчика. Правда адрес левый какой то.

              Я понял так(но может ошибаюсь):

              1. Мастер сети мне не нужен. У меня апельсинка мастер?

              2. Сервер owfs я не устанавливаю? или его таки надо ставить? `
                Вторая картинка датчики это пример их надо удолять.

              Драйвер не знает такой параметр w1-slave, можно подправить код(костыль).

              opt/iobroker/node_modules/iobroker.owfs/admin/index.html
              

              добавив

              'light',
                          'temperature',
                          'fasttemp',
                          'w1-slave',
                          'set_alarm',
              

              после сохранения

              cd /opt/iobroker
              iobroker upload owfs
              iobroker restart owfs
              

              дай скрин папки devices

              1 Reply Last reply Reply Quote 0
              • 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

                                          775
                                          Online

                                          31.8k
                                          Users

                                          80.0k
                                          Topics

                                          1.3m
                                          Posts

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