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

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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
                                          • A
                                            Alekseym6 last edited by

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

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            544
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

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