Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Ошибка
  5. ioBroker ошибки
  6. Ошибка создания объекта в OWFS

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.4k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker ошибки
74 Beiträge 5 Kommentatoren 18.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • H Offline
    H Offline
    Haus
    schrieb am zuletzt editiert von
    #53

    @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

    js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

    admin: 3.6.0

    javascript: 4.1.10

    web: 2.4.1 vis: 1.1.10

    cloud: 2.6.2

    Server: DELL FX170 / linux: Debian 9.5 Stretch

    Adapter: MegaD-2561, Mega-ES…

    1 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #54

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

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

      1 Antwort Letzte Antwort
      0
      • H Offline
        H Offline
        Haus
        schrieb am zuletzt editiert von
        #55

        @Bluefox:

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

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

        js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

        admin: 3.6.0

        javascript: 4.1.10

        web: 2.4.1 vis: 1.1.10

        cloud: 2.6.2

        Server: DELL FX170 / linux: Debian 9.5 Stretch

        Adapter: MegaD-2561, Mega-ES…

        1 Antwort Letzte Antwort
        0
        • BluefoxB Offline
          BluefoxB Offline
          Bluefox
          schrieb am zuletzt editiert von
          #56

          @Haus:

          @Bluefox:

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

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

          в настройках

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

          1 Antwort Letzte Antwort
          0
          • H Offline
            H Offline
            Haus
            schrieb am zuletzt editiert von
            #57

            @Bluefox:

            @Haus:

            @Bluefox:

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

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

            в настройках

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

            js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

            admin: 3.6.0

            javascript: 4.1.10

            web: 2.4.1 vis: 1.1.10

            cloud: 2.6.2

            Server: DELL FX170 / linux: Debian 9.5 Stretch

            Adapter: MegaD-2561, Mega-ES…

            1 Antwort Letzte Antwort
            0
            • BluefoxB Offline
              BluefoxB Offline
              Bluefox
              schrieb am zuletzt editiert von
              #58

              @Haus:

              @Bluefox:

              @Haus:

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

              в настройках

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

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

              1 Antwort Letzte Antwort
              0
              • H Offline
                H Offline
                Haus
                schrieb am zuletzt editiert von
                #59

                @Bluefox:

                @Haus:

                @Bluefox:

                :D

                в настройках

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

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

                js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                admin: 3.6.0

                javascript: 4.1.10

                web: 2.4.1 vis: 1.1.10

                cloud: 2.6.2

                Server: DELL FX170 / linux: Debian 9.5 Stretch

                Adapter: MegaD-2561, Mega-ES…

                1 Antwort Letzte Antwort
                0
                • J Offline
                  J Offline
                  jeorgep
                  schrieb am zuletzt editiert von
                  #60

                  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 Antwort Letzte Antwort
                  0
                  • J Offline
                    J Offline
                    jeorgep
                    schrieb am zuletzt editiert von
                    #61

                    После установки версии 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 Antwort Letzte Antwort
                    0
                    • H Offline
                      H Offline
                      Haus
                      schrieb am zuletzt editiert von
                      #62

                      @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/ов).

                      js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                      admin: 3.6.0

                      javascript: 4.1.10

                      web: 2.4.1 vis: 1.1.10

                      cloud: 2.6.2

                      Server: DELL FX170 / linux: Debian 9.5 Stretch

                      Adapter: MegaD-2561, Mega-ES…

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        jeorgep
                        schrieb am zuletzt editiert von
                        #63

                        ` > Привет,

                        Может есть возможность проверить удалённое подключение или большее количество датчиков на 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 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          Alekseym6
                          schrieb am zuletzt editiert von
                          #64

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

                          1 Antwort Letzte Antwort
                          0
                          • J Offline
                            J Offline
                            jeorgep
                            schrieb am zuletzt editiert von
                            #65

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

                            Клас!

                            делись строчками в драйвере :-)

                            1 Antwort Letzte Antwort
                            0
                            • H Offline
                              H Offline
                              Haus
                              schrieb am zuletzt editiert von
                              #66

                              @Alekseym6:

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

                              js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                              admin: 3.6.0

                              javascript: 4.1.10

                              web: 2.4.1 vis: 1.1.10

                              cloud: 2.6.2

                              Server: DELL FX170 / linux: Debian 9.5 Stretch

                              Adapter: MegaD-2561, Mega-ES…

                              1 Antwort Letzte Antwort
                              0
                              • A Offline
                                A Offline
                                Alekseym6
                                schrieb am zuletzt editiert von
                                #67

                                адаптер 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 Antwort Letzte Antwort
                                0
                                • J Offline
                                  J Offline
                                  jeorgep
                                  schrieb am zuletzt editiert von
                                  #68

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

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

                                  запускаю сервис owserver owfs `
                                  У меня тоже UTP5 до 20 м в луче звезды.

                                  питание 9В и около датчиков ставлю стабилизатор 7805 - копейки стоит, а душе спокойнее :-)

                                  Раньше при питании 5В и включениях реле - бывали сбои.

                                  Все на одном UPS ES 550G.

                                  Мне больше нравится DS2408S - 8-канальный ключ. Часть портов использую на вход

                                  (датчики движения, герконы, выходы компараторов датчиков дыма/газа, протечки, фотодиоды и т. п.)

                                  часть на управление (светодиоды - индикация, реле, тиристоры).

                                  В DS2408 есть приятная особенность - alarm.

                                  Раньше, когда моя система была на Raspberry Pi и самописных Python/bash скриптах -

                                  ресурсов катастрофически не хватало, и удобно было в цикле просматривать лишь папку alarm

                                  и при возникновении алармов про изменение состояния порта -

                                  уже распарсывать инфу по отдельным портам, вместо того, чтобы бегать по всем папкам.

                                  Для датчиков освещения, влажности, поточных значений датчиков газа/дыма - использую DS2438.

                                  Для отсылки срочных сообщений - GPRS Shield на SIM900.

                                  1 Antwort Letzte Antwort
                                  0
                                  • H Offline
                                    H Offline
                                    Haus
                                    schrieb am zuletzt editiert von
                                    #69

                                    @Alekseym6:

                                    адаптер 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 `
                                    Alekseym6, в ioBroker в драйвере owfs есть кнопка "Read addresses" она у тебя находит датчики и ключи?

                                    js-controller: 1.5.7 / node.js: v8.15.1/ npm: 6.4.1

                                    admin: 3.6.0

                                    javascript: 4.1.10

                                    web: 2.4.1 vis: 1.1.10

                                    cloud: 2.6.2

                                    Server: DELL FX170 / linux: Debian 9.5 Stretch

                                    Adapter: MegaD-2561, Mega-ES…

                                    1 Antwort Letzte Antwort
                                    0
                                    • J Offline
                                      J Offline
                                      jeorgep
                                      schrieb am zuletzt editiert von
                                      #70

                                      > добавил запись значений через FS в /opt/iobroker/node_modules/iobroker.owfs/main.js
                                      Наверное тогда нужно закомментировать строки:

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

                                      Чтобы не было попытки клиентом переписать повторно значение.

                                      И добавить для чтения что-то вроде:

                                      function readWire(wire) {
                                          if (wire) {
                                              var path1wire = "/mnt/1wire";
                                              var pathfs = "/" + wire.id + '/' + (wire.property || 'temperature');
                                              path1wire = path1wire + pathfs;
                                              fs.readFile(path1wire, 'utf8', function (err,result) {
                                                  if (err) {
                                                      adapter.log.warn('Cannot read value of ' + path1wire + ': ' + err);
                                                  }
                                              });
                                      
                                      

                                      Закомментировав:
                                      ` > client.read('/' + wire.id + '/' + (wire.property || 'temperature'), function(err, result) {

                                      …

                                      }); `

                                      Вечером дома протестирую

                                      1 Antwort Letzte Antwort
                                      0
                                      • A Offline
                                        A Offline
                                        Alekseym6
                                        schrieb am zuletzt editiert von
                                        #71

                                        адаптер owfs не обновляю, версия 0.0.2. кнопки поиска нет.

                                        строчку не исключаю - для проверки

                                        1 Antwort Letzte Antwort
                                        0
                                        • J Offline
                                          J Offline
                                          jeorgep
                                          schrieb am zuletzt editiert von
                                          #72

                                          Мои изменения в <u>/opt/iobroker/node_modules/iobroker.owfs/main.js</u>

                                          (версия 0.2.2 (2016-07-29))

                                          var fs = require('fs');

                                          Функция writeWire

                                          ! function writeWire(wire, value) {
                                          ! if (wire) {
                                          ! adapter.log.debug('Write /' + wire.id + '/' + (wire.property || 'temperature') + ' with "' + value + '"');
                                          ! var path1wire = "/mnt/1wire";
                                          ! 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');
                                          ! }
                                          ! var pathfile = path1wire + pathfs;
                                          ! var dataV = parseInt(value);
                                          ! adapter.log.debug(pathfile + ' with "' + dataV + '"');
                                          ! // Write to file
                                          ! fs.writeFile(pathfile, dataV, function(err, written) {
                                          ! if (err) {
                                          ! // Write error
                                          ! adapter.log.warn('Cannot write value of ' + pathfile + ': ' + JSON.stringify(err));
                                          ! adapter.setState('wires.' + wire._name, {val: 0, ack: true, q: 0x84});
                                          ! } else {
                                          ! if (wire.property.indexOf('PIO') === -1) {
                                          ! adapter.setState('wires.' + wire._name, parseFloat(value) || 0, true);
                                          ! } else {
                                          ! adapter.setState('wires.' + wire._name, !(value === '0' || value === 0 || value === 'false' || value === false), true);
                                          ! }
                                          ! }
                                          ! });
                                          ! /*
                                          ! client.write('/' + wire.id + '/' + (wire.property || 'temperature'), value, function (err, message) {
                                          ! if (message !== undefined) {
                                          ! adapter.log.debug('Response for write /' + wire.name + '/' + (wire.property || 'temperature') + ': ' + message);
                                          ! }
                                          ! // no idea what is received here
                                          ! if (err) {
                                          ! adapter.log.warn('Cannot write value of /' + wire.id + '/' + (wire.property || 'temperature') + ': ' + JSON.stringify(err));
                                          ! adapter.setState('wires.' + wire._name, {val: 0, ack: true, q: 0x84});
                                          ! } else {
                                          ! if (wire.property.indexOf('PIO') === -1) {
                                          ! adapter.setState('wires.' + wire._name, parseFloat(value) || 0, true);
                                          ! } else {
                                          ! adapter.setState('wires.' + wire._name, !(value === '0' || value === 0 || value === 'false' || value === false), true);
                                          ! }
                                          ! }
                                          ! });
                                          ! */
                                          ! }
                                          ! }

                                          Функция readWire

                                          ! function readWire(wire) {
                                          ! if (wire) {
                                          ! /*
                                          ! client.read('/' + wire.id + '/' + (wire.property || 'temperature'), function(err, result) {
                                          ! result.value = result.value || '0';
                                          ! result.value = result.value.trim();
                                          ! adapter.log.debug('Read ' + result.path + ':' + result.value);
                                          ! if (!err) {
                                          ! if (wire.property.indexOf('PIO') !== -1) {
                                          ! adapter.setState('wires.' + wire._name, (result.value == '1'), true);
                                          ! } else {
                                          ! adapter.setState('wires.' + wire._name, parseFloat(result.value) || 0, true);
                                          ! }
                                          ! } else {
                                          ! adapter.setState('wires.' + wire._name, {val: 0, ack: true, q: 0x84}); // sensor reports error
                                          ! adapter.log.warn('Cannot read value of /' + wire.id + '/' + (wire.property || 'temperature') + ': ' + err);
                                          ! }
                                          ! });
                                          ! */
                                          ! var path1wire = "/mnt/1wire";
                                          ! var pathfs = "/" + wire.id + '/' + (wire.property || 'temperature');
                                          ! var pathfile = path1wire + pathfs;
                                          ! // Read from file
                                          ! fs.readFile(pathfile, function (err,data) {
                                          ! var result = data;
                                          ! adapter.log.debug('Read ' + pathfile + ':' + result);
                                          ! if (!err) {
                                          ! if (wire.property.indexOf('PIO') !== -1) {
                                          ! adapter.setState('wires.' + wire._name, (result == '1'), true);
                                          ! } else {
                                          ! adapter.setState('wires.' + wire._name, parseFloat(result) || 0, true);
                                          ! }
                                          ! } else {
                                          ! adapter.setState('wires.' + wire._name, {val: 0, ack: true, q: 0x84}); // sensor reports error
                                          ! adapter.log.warn('Cannot read value of ' + pathfile + ': ' + err);
                                          ! }
                                          ! });
                                          ! }
                                          ! }

                                          В настройках адаптера OWFS в ioBroker:

                                          Timeout(ms): 3000

                                          Poll interval(sec): 2

                                          Работает неделю без сбоев.

                                          Реакция на read/rwite где-то около секунды-двух.

                                          это приемлемо для обработки сигнала от датчиков движения.

                                          Конечно это будет работать лишь на локальной системе.

                                          Поэтому правильнее бы в настройки адаптера OWFS вывести возможность

                                          выбора - локальное включение или удаленная работа по tcp (IMHO)

                                          И нужно учесть, что при такой частоте опроса увеличивается нагрузка на процессор.

                                          Но в моей Orange Pi+2 это практически не ощутимо

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          554

                                          Online

                                          32.4k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe