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

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

          var possibleProperties = [
              'humidity',
              'temperature',
              'fasttemp',
              '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'
          ];
      
      1 Reply Last reply Reply Quote 0
      • H
        Haus last edited by

        @Bluefox:

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

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

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

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

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

          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"
          }
          
          1 Reply Last reply Reply Quote 0
          • A
            Alekseym6 last edited by

            @Bluefox:

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

                var possibleProperties = [
                    'humidity',
                    'temperature',
                    'fasttemp',
                    '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

            PIO.BYTE

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            407
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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