NEWS
Ошибка создания объекта в OWFS
-
Какие ещё могут полезные свойства?
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' ]; -
Объясни, зачем тебе другие атрибуты? Что бы цикл чтения тормозить? `
Мне не надо это я для проверки. Для DS18B20 DS18S20 temperature и DS2413 PIO.A, PIO.B , вот DS2406 там ещё что то нужно но не использовал незнаю.Главное посмотри почему с удалённого неработает
P.S Вот нашел DS2406 и DS2408 могут
"Вместо DS2405 был использован двухканальный компонент DS2406P, где один канал отвечал за включение-выключение процесса аэрации, а второй канал использовался как датчик сухого контакта и определял моменты включения насоса (эмулируя нажатие кнопки). Эта схема работала, но как обрабатывать срабатывание насоса программно? Оказывается, весьма несложно. Для этих целей лучше всего использовать свойство компонента set_alarm, установив его значение '230'. Такая установка означает, что в случае срабатывания датчика на канале B, сервер owfs сообщит об этом создав линк на файл устройства в каталоге alarm"
-
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" } -
Какие ещё могут полезные свойства?
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
-
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,
и ошибка должна исчезнуть
-
Главное посмотри почему с удалённого неработает `
Поменяй в файле /etc/owfs.conf# With this setup, any client (but owserver) uses owserver on the # local machine... !server: -s 4304и
####################### OWSERVER ######################## server: -p 4304У тебя только локальный доступ настроен
-
Объясни, зачем тебе другие атрибуты? Что бы цикл чтения тормозить? `
Мне не надо это я для проверки. Для 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 -
Какие ещё могут полезные свойства? `
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' ]; -
Главное посмотри почему с удалённого неработает `
Поменяй в файле /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 -
@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 -
Потому что ты сказал в настройках это читать.
Есть новая версия на гит
Где я такое говорил?
:Dв настройках
Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига. `
Чего та недопонимаю, ставлю новый owfs.2, включаю, захожу в настройки по умолчанию, нажимаю read получаю на DS18B20 два параметра 28.FFF67D3B0400/temperature, 28.FFF67D3B0400/fasttemp -
Где я такое говорил? `
:Dв настройках
Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига.
Чего та недопонимаю, ставлю новый owfs.2, включаю, захожу в настройки по умолчанию, нажимаю read получаю на DS18B20 два параметра 28.FFF67D3B0400/temperature, 28.FFF67D3B0400/fasttemp
Нажать на удалить не пробовал?Сначала создаются возможные полезные значения, а тебе выбирать, хочешь ты их читать или нет
48_2016-07-29_23_32_51-iobroker.admin.png -
:D
в настройках
Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига.
Чего та недопонимаю, ставлю новый owfs.2, включаю, захожу в настройки по умолчанию, нажимаю read получаю на DS18B20 два параметра 28.FFF67D3B0400/temperature, 28.FFF67D3B0400/fasttemp
Нажать на удалить не пробовал?Сначала создаются возможные полезные значения, а тебе выбирать, хочешь ты их читать или нет `
Не знаю кому и зачем нужен fasttemp. Закомментировал в admin````
'heat_index',
'humidex',
'light',
'temperature',
//'fasttemp',
'set_alarm',
'date', -
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 - для возможности записи/чтения в порт.
-
После установки версии 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 для реакции на быстрые события.
-
После установки версии 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/ов).
-
` > Привет,
Может есть возможность проверить удалённое подключение или большее количество датчиков на 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 не нужен.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login