Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Ошибка
    5. ioBroker ошибки
    6. Ошибка создания объекта в 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

    Ошибка создания объекта в OWFS

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

      @Alekseym6:

      iobroker object get owfs.0.wires.SensorTemp --pretty
      {
        "type": "state",
        "common": {
          "name": "SensorTemp",
          "def": false,
          "type": "number",
          "read": "true",
          "write": "true",
          "role": "value.temperature10",
          "desc": "1wire sensor",
          "history": {
            "sql.0": {
              "enabled": true,
              "changesOnly": true,
              "debounce": 1000,
              "retention": 0
            },
            "sql.1": {
              "enabled": true,
              "changesOnly": true,
              "debounce": 1000,
              "retention": 0
            },
            "history.0": {
              "enabled": true,
              "changesOnly": true,
              "debounce": 1000,
              "maxLength": 500,
              "retention": 0
            }
          }
        },
        "native": {
          "id": "28.7F821C060000",
          "property": "temperature10"
        },
        "_id": "owfs.0.wires.SensorTemp"
      }
      ```` `  
      

      Поменяй

      "def": false,

      на

      "def": 0,

      и ошибка должна исчезнуть

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

        @Haus:

        Главное посмотри почему с удалённого неработает `
        Поменяй в файле /etc/owfs.conf

        # With this setup, any client (but owserver) uses owserver on the
        # local machine...
        !server: -s 4304
        
        

        и

        ####################### OWSERVER ########################
        
        server: -p 4304
        
        

        У тебя только локальный доступ настроен

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

          @Haus:

          @Bluefox:

          Объясни, зачем тебе другие атрибуты? Что бы цикл чтения тормозить? `
          Мне не надо это я для проверки. Для DS18B20 DS18S20 temperature и DS2413 PIO.A, PIO.B , вот DS2406 там ещё что то нужно но не использовал незнаю.

          Главное посмотри почему с удалённого неработает

          P.S Вот нашел DS2406 и DS2408 могут

          "Вместо DS2405 был использован двухканальный компонент DS2406P, где один канал отвечал за включение-выключение процесса аэрации, а второй канал использовался как датчик сухого контакта и определял моменты включения насоса (эмулируя нажатие кнопки). Эта схема работала, но как обрабатывать срабатывание насоса программно? Оказывается, весьма несложно. Для этих целей лучше всего использовать свойство компонента set_alarm, установив его значение '230'. Такая установка означает, что в случае срабатывания датчика на канале B, сервер owfs сообщит об этом создав линк на файл устройства в каталоге alarm" `
          set_alarm сложный объект:

          ├── set_alarm
          │   │   ├── dew_point_hi
          │   │   ├── dew_point_low
          │   │   ├── heat_index_hi
          │   │   ├── heat_index_low
          │   │   ├── humidex_hi
          │   │   ├── humidex_low
          │   │   ├── humidity_hi
          │   │   ├── humidity_low
          │   │   ├── temp_hi
          │   │   └── temp_low
          
          1 Reply Last reply Reply Quote 0
          • Bluefox
            Bluefox last edited by

            @Alekseym6:

            @Bluefox:

            Какие ещё могут полезные свойства? `

            sensed.BYTE

            PIO.BYTE

            получить или установить сразу 2 порта IO `
            я расширил:

            var possibleProperties = [
                    'humidity',
                    'pressure',
                    'inHg',
                    'vib_level',
                    'vib_peak',
                    'vib_min',
                    'vib_max',
                    'current.0',
                    'current.1',
                    'current.2',
                    'current.ALL',
                    'min_current.0',
                    'min_current.1',
                    'min_current.2',
                    'min_current.ALL',
                    'max_current.0',
                    'max_current.1',
                    'max_current.2',
                    'max_current.ALL',
                    'volts.0',
                    'volts.1',
                    'volts.2',
                    'volts.ALL',
                    'min_volts.0',
                    'min_volts.1',
                    'min_volts.2',
                    'min_volts.ALL',
                    'max_volts.0',
                    'max_volts.1',
                    'max_volts.2',
                    'max_volts.ALL',
                    'gain',
                    'offset',
                    'current',
                    'illuminance',
                    'relay/state',
                    'relay/control',
                    'LED/state',
                    'LED/control',
                    'resistance',
                    'dew_point',
                    'heat_index',
                    'humidex',
                    'light',
                    'temperature',
                    'fasttemp',
                    'set_alarm',
                    'date',
                    'PIO',
                    'PIO.A',
                    'PIO.B',
                    'PIO.0',
                    'PIO.1',
                    'PIO.2',
                    'PIO.3',
                    'PIO.4',
                    'PIO.5',
                    'PIO.6',
                    'PIO.7',
                    'PIO.ALL',
                    'PIO.BYTE',
                    'latch.0',
                    'latch.1',
                    'latch.2',
                    'latch.3',
                    'latch.4',
                    'latch.5',
                    'latch.6',
                    'latch.7',
                    'latch.ALL',
                    'latch.BYTE',
                    'sensed.BYTE'
                ];
            
            1 Reply Last reply Reply Quote 0
            • H
              Haus last edited by

              @Bluefox:

              @Haus:

              Главное посмотри почему с удалённого неработает `
              Поменяй в файле /etc/owfs.conf

              # With this setup, any client (but owserver) uses owserver on the
              # local machine...
              !server: -s 4304
              
              

              и

              ####################### OWSERVER ########################
              
              server: -p 4304
              
              

              У тебя только локальный доступ настроен `

              Это я уже давно сделал, проблема в чём то другом. Когда я руками заполняю датчики всё работает, а Read addresses "Найдено 0 сенсор(a/ов)"

              ioBroker server 192.168.1.11

              owfs server 192.168.1.10 (где подключён адаптер) owfs.conf

              ! # Sample configuration file for the OWFS suite for Debian GNU/Linux.
              ! #
              ! #
              ! # This is the main OWFS configuration file. You should read the
              ! # owfs.conf(5) manual page in order to understand the options listed
              ! # here.
              ! ######################## SOURCES ########################
              ! #
              ! # With this setup, any client (but owserver) uses owserver on the
              ! # local machine…
              ! ! server: server = 4304
              ! #
              ! # ...and owserver uses the real hardware, by default fake devices
              ! # This part must be changed on real installation
              ! #server: FAKE = DS18S20,DS2405
              ! #
              ! # USB device: DS9490
              ! #server: usb = all
              ! #
              ! # Serial port: DS9097
              ! server: passive = /dev/ttyUSB0
              ! server: 8bit
              ! #server: passive = /dev/ttyUSB1
              ! #server: 8bit
              ! #
              ! # owserver tcp address
              ! #server: server = 192.168.10.1:3131
              ! #
              ! # random simulated device
              ! #server: FAKE = DS18S20,DS2405
              ! #
              ! ######################### OWFS ##########################
              ! #
              ! mountpoint = /mnt/1wire
              ! allow_other
              ! #
              ! ####################### OWHTTPD #########################
              ! http: port = 2121
              ! ####################### OWFTPD ##########################
              ! ftp: port = 2120
              ! ####################### OWSERVER ########################
              ! server: port = 4304

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

                @Bluefox:

                @Haus:
                owfs 0.2.1

                Зачем при read датчик выдаёт fasttemp?

                Я уже выкладывал log Response for write /Sensor2_temperature/temperature: true ????

                ! inMem 2016-07-29 13:33:19.406 debug message owfs.1.* owfs.1.wires.Sensor2_temperature val=24.5, ack=true, ts=1469788399389, q=0, from=system.adapter.owfs.1, lc=1469788399389
                ! owfs-1 2016-07-29 13:33:19.383 debug Read /28.FFF67D3B0400/temperature:24.5
                ! inMem 2016-07-29 13:33:18.575 debug message owfs.1.* owfs.1.wires.Sensor1_fasttemp val=24.5, ack=true, ts=1469788398559, q=0, from=system.adapter.owfs.1, lc=1469788398559
                ! owfs-1 2016-07-29 13:33:18.551 debug Read /28.FFF67D3B0400/fasttemp:24.5
                ! inMem 2016-07-29 13:32:49.589 debug message owfs.1.* owfs.1.wires.Sensor2_temperature val=0, ack=true, ts=1469788369575, q=0, from=system.adapter.owfs.1, lc=1469788369575
                ! owfs-1 2016-07-29 13:32:49.566 debug Response for write /Sensor2_temperature/temperature: true
                ! inMem 2016-07-29 13:32:49.507 debug message owfs.1.* owfs.1.wires.Sensor1_fasttemp val=0, ack=true, ts=1469788369492, q=0, from=system.adapter.owfs.1, lc=1469788369492
                ! owfs-1 2016-07-29 13:32:49.487 debug Response for write /Sensor1_fasttemp/fasttemp: true
                ! inMem 2016-07-29 13:32:49.479 debug message owfs.1.* owfs.1.wires.Sensor2_temperature val=24.5, ack=true, ts=1469788369458, q=0, from=system.adapter.owfs.1, lc=1469788369458
                ! owfs-1 2016-07-29 13:32:49.387 debug Read /28.FFF67D3B0400/temperature:24.5
                ! inMem 2016-07-29 13:32:48.612 debug message owfs.1.* owfs.1.wires.Sensor1_fasttemp val=24.5, ack=true, ts=1469788368599, q=0, from=system.adapter.owfs.1, lc=1469788368599
                ! owfs-1 2016-07-29 13:32:48.589 debug Read /28.FFF67D3B0400/fasttemp:24.5
                ! owfs-1 2016-07-29 13:32:48.509 debug Write /28.FFF67D3B0400/temperature with "0"
                ! owfs-1 2016-07-29 13:32:48.466 debug Write /28.FFF67D3B0400/fasttemp with "0"
                ! inMem 2016-07-29 13:32:48.450 debug message owfs.1.* owfs.1.wires.Sensor2_temperature val=0, ack=null, ts=1469788368431, q=0, from=system.adapter.owfs.1, lc=1469788368431
                ! inMem 2016-07-29 13:32:48.407 debug message owfs.1.* owfs.1.wires.Sensor1_fasttemp val=0, ack=null, ts=1469788368378, q=0, from=system.adapter.owfs.1, lc=1469788368378
                ! owfs-1 2016-07-29 13:32:48.231 info starting. Version 0.2.1 in /opt/iobroker/node_modules/iobroker.owfs
                ! owfs-1 2016-07-29 13:32:48.139 debug statesDB connected
                ! owfs-1 2016-07-29 13:32:48.120 debug objectDB connected
                ! host-Server1 2016-07-29 13:32:46.864 info instance system.adapter.owfs.1 started with pid 3576
                ! host-Server1 2016-07-29 13:32:44.896 info instance system.adapter.owfs.1 terminated with code 0 (OK)
                ! owfs-1 2016-07-29 13:32:44.873 info terminating

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

                  > Зачем при read датчик выдаёт fasttemp?
                  Потому что ты сказал в настройках это читать.

                  Есть новая версия на гит

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

                    @Bluefox:

                    > Зачем при read датчик выдаёт fasttemp?
                    Потому что ты сказал в настройках это читать.

                    Есть новая версия на гит `
                    Где я такое говорил?

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

                      @Haus:

                      @Bluefox:

                      > Зачем при read датчик выдаёт fasttemp?
                      Потому что ты сказал в настройках это читать.

                      Есть новая версия на гит Где я такое говорил?
                      😄

                      в настройках

                      Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига.

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

                        @Bluefox:

                        @Haus:

                        @Bluefox:

                        Потому что ты сказал в настройках это читать.

                        Есть новая версия на гит Где я такое говорил?
                        😄

                        в настройках

                        Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига. `
                        Чего та недопонимаю, ставлю новый owfs.2, включаю, захожу в настройки по умолчанию, нажимаю read получаю на DS18B20 два параметра 28.FFF67D3B0400/temperature, 28.FFF67D3B0400/fasttemp

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

                          @Haus:

                          @Bluefox:

                          @Haus:

                          Где я такое говорил? `
                          😄

                          в настройках

                          Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига. Чего та недопонимаю, ставлю новый owfs.2, включаю, захожу в настройки по умолчанию, нажимаю read получаю на DS18B20 два параметра 28.FFF67D3B0400/temperature, 28.FFF67D3B0400/fasttemp
                          Нажать на удалить не пробовал?

                          Сначала создаются возможные полезные значения, а тебе выбирать, хочешь ты их читать или нет
                          48_2016-07-29_23_32_51-iobroker.admin.png

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

                            @Bluefox:

                            @Haus:

                            @Bluefox:

                            😄

                            в настройках

                            Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига. Чего та недопонимаю, ставлю новый owfs.2, включаю, захожу в настройки по умолчанию, нажимаю read получаю на DS18B20 два параметра 28.FFF67D3B0400/temperature, 28.FFF67D3B0400/fasttemp
                            Нажать на удалить не пробовал?

                            Сначала создаются возможные полезные значения, а тебе выбирать, хочешь ты их читать или нет `
                            Не знаю кому и зачем нужен fasttemp. Закомментировал в admin````
                            'heat_index',
                            'humidex',
                            'light',
                            'temperature',
                            //'fasttemp',
                            'set_alarm',
                            'date',

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

                              DS2408 в OWFS:

                              (http://owfs.org/uploads/DS2408.3.html#sect10)

                              PIO используются для записи в них 0/1

                              sensed используются для чтения информации с портов

                              latch используются для получения информации об изменении состояния порта

                              (бит 1 указывает, что состояние изменялось)

                              Для очистки состояния latch применяется запись в любой из latch портов. Например:

                              echo 1 > latch.0

                              При этом очищаюся ВСЕ восемь latch портов, то-есть для сохранения информации

                              об изменениях состояний портов со времени последней очистки - необходимо сохранить latch.ALL

                              и лишь потом производить очистку.

                              Перед использованием DS2408 необходимо провести ее инициализацию:

                              echo 1 > out_of_testmode

                              И для использования функции запись в порт - необходимо включить strobe:

                              echo 1 > strobe

                              В iobroker нужно использовать как минимум PIO и sensed - для возможности записи/чтения в порт.

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

                                После установки версии 0.2.2 проблема с созданием объектов решилась.

                                Но очень долгая реакция на изменение состояния порта (sensed) в DS2408,

                                где-то 30 сек или больше, что недопустимо например для датчика движения и включения света.

                                У меня датчики HC-SR501 подключены к портам DS2408.

                                Параллельно запускаю скрипт:

                                #!/bin/bash
                                while true; do
                                  ALL=`cat /mnt/1wire/29.XXXXXX000000/sensed.ALL`
                                  echo $ALL
                                  sleep 1
                                done
                                

                                И наблюдаю в закладке 'Objects' когда изменяется состояние (например value.sensed.4).

                                Задержка до пол-минуты относительно скрипта.

                                Реально такая задержка не позволит использовать драйвер OWFS для реакции на быстрые события.

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

                                  @jeorgep:

                                  После установки версии 0.2.2 проблема с созданием объектов решилась.

                                  Но очень долгая реакция на изменение состояния порта (sensed) в DS2408,

                                  где-то 30 сек или больше, что недопустимо например для датчика движения и включения света.

                                  У меня датчики HC-SR501 подключены к портам DS2408.

                                  Параллельно запускаю скрипт:

                                  #!/bin/bash
                                  while true; do
                                    ALL=`cat /mnt/1wire/29.XXXXXX000000/sensed.ALL`
                                    echo $ALL
                                    sleep 1
                                  done
                                  

                                  И наблюдаю в закладке 'Objects' когда изменяется состояние (например value.sensed.4).

                                  Задержка до пол-минуты относительно скрипта.

                                  Реально такая задержка не позволит использовать драйвер OWFS для реакции на быстрые события. `
                                  Привет,

                                  Может есть возможность проверить удалённое подключение или большее количество датчиков на 127.0.0.1, у меня Read addresses "Найдено 0 сенсор(a/ов).

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

                                    ` > Привет,

                                    Может есть возможность проверить удалённое подключение или большее количество датчиков на 127.0.0.1, у меня Read addresses "Найдено 0 сенсор(a/ов). `

                                    Привет,

                                    я не совсем понял вопрос.

                                    Если про мое подключение - используется Orange Pi+2.

                                    Как мастер - использую восьмиканальный DS2482-800 (http://datasheets.maximintegrated.com/e … 82-800.pdf).

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

                                    Реакция на уровне файлов OWFS или owserver неплохая - где-то на уровне секунды (точнее не замерял).

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

                                    И если для датчиков температуры, влажности, протечки воды, утечки газа - задержка в пол минуты допустима,

                                    то для включалелей света или датчиков движения на портах DS2408 - она критична.

                                    Жена не будет пол минуты после входа в помещение ждать пока загорится свет 🙂

                                    В результате параллельного запуска скрипта и привязаного обьекта в ioBroker -

                                    определил, что запаздывание от датчика движения происходит где-то до присвоения значения обьекту в ioBroker-е.

                                    То-есть скрипт уже давно показал, что состояние изменилось, а в ioBrokere оно остается неизмененным еще где-то 30 сек.

                                    Можно конечно обрабатывать состояние на уровне Bash или написать скрипт на Питоне и уже после

                                    обработки изменять состояние переменной в ioBroker - но тогда драйвер OWFS не нужен.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      Alekseym6 last edited by

                                      у меня при записи через FS(добавил строчки в драйвер) - реакция на изменении менее 1 сек. 7 шт DS2413(движение, стиральная машина, нагреватель воды, насос подкачки воды и т.д.). порт А вход с детектора движения, В выход на реле.

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

                                        > у меня при записи через FS(добавил строчки в драйвер) - реакция на изменении менее 1 сек. 7 шт DS2413(движение, стиральная машина, нагреватель воды, насос подкачки воды и т.д.). порт А вход с детектора движения, В выход на реле.

                                        Клас!

                                        делись строчками в драйвере 🙂

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

                                          @Alekseym6:

                                          у меня при записи через FS(добавил строчки в драйвер) - реакция на изменении менее 1 сек. 7 шт DS2413(движение, стиральная машина, нагреватель воды, насос подкачки воды и т.д.). порт А вход с детектора движения, В выход на реле. `
                                          Какой адаптер, как подключен?

                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            Alekseym6 last edited by

                                            адаптер DS9490B, DS9490R USB to 1-Wire.

                                            подключение датчиков звездой, DS2413(7 шт), DS2405, питание 5В на DS18B20(21 шт), кабель UTP5. максимальная длинна 30 метров до бани.

                                            запускаю сервис owserver owfs

                                            добавил запись значений через FS в /opt/iobroker/node_modules/iobroker.owfs/main.js

                                            var fs = require('fs');

                                            …

                                            function writeWire(wire, value) {

                                            if (wire) {

                                            adapter.log.debug('Write /' + wire.id + '/' + (wire.property || 'temperature') + ' with "' + value + '"');

                                            var path1wire = "/var/1-wire";

                                            if (wire.property == "sensed.BYTE") {

                                            var pathfs = "/" + wire.id + "/PIO.BYTE";

                                            } else if (wire.property == "PIO.BYTE") {

                                            var pathfs = "/" + wire.id + "/PIO.BYTE";

                                            } else {

                                            var pathfs = "/" + wire.id + '/' + (wire.property || 'temperature');

                                            }

                                            path1wire = path1wire + pathfs;

                                            var dataV = parseInt(value);

                                            adapter.log.debug(path1wire + ' with "' + dataV + '"');

                                            // Пишем в файл.

                                            fs.writeFile(path1wire, dataV, function(err, written) {

                                            if (err) {

                                            // Произошла ошибка при записи

                                            adapter.log.warn('Cannot write value of ' + path1wire + ': ' + err);

                                            }

                                            });

                                            client.write('/' + wire.id + '/' + (wire.property || 'temperature'), value, function(err, message) {

                                            adapter.log.debug('Write /' + wire.id + '/' + (wire.property || 'temperature') + ':' + message);

                                            //no idea what is received here

                                            if (err) {

                                            adapter.log.warn('Cannot write value of /' + wire.id + '/' + (wire.property || 'temperature') + ': ' + err);

                                            }

                                            });

                                            }

                                            }

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            765
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            74
                                            16779
                                            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