NEWS
Ошибка создания объекта в OWFS
-
на этом сервере нет DS2413. хотел проверить корректность записи.
-
обновился. опять ошибка owfs.0 2016-07-28 07:58:33.314 error Wrong type of owfs.0.wires.SensorTemp.common.def
закоментировал некоторые строки, теперь работает. `
Как выглядит owfs.0.wires.SensorTemp?iobroker o g owfs.0.wires.SensorTemp --pretty ```` `
в консоли :/opt/iobroker$ ./iobroker o g owfs.0.wires.SensorTemp –pretty
Unknown command or empty: "g"
настройки id 28.7F821C060000 property temperature10 `
iobroker object get owfs.0.wires.SensorTemp --pretty
Или просто в админке покажи owfs.0.wires.SensorTemp
-
поправил. вернул все на место. теперь работает.
но записывать не хочет owfs-0 2016-07-28 12:12:30.116 warn Cannot write value of /28.7F821C060000/temperature10: [object Object] `
А что вы туда вписать хотите?, temperatur.. только читать по мне нужно` > если свойство поставить temphigh то опять
Wrong 2016-07-28 12:16:54.398 error type of owfs.0.wires.SensorTempHigh.common.def
попытка записи owfs-0 2016-07-28 12:18:48.948 warn Cannot write value of /28.7F821C060000/temphigh: [object Object]
У меня читает и пишет, только при первом запуске вписывает "0" . Я думаю что нужно сначала чтобы драйвер считал temphigh, templow
Для чего нужны temphigh, templow?Запись при запуске уберу. `
Для нас я думаю ненужно, по ним можно ловить в папке alarm переходы чтобы часто не опрашивать все датчики -
Какие ещё могут полезные свойства?
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 -
> Зачем при read датчик выдаёт fasttemp?
Потому что ты сказал в настройках это читать.Есть новая версия на гит
-
> Зачем при read датчик выдаёт fasttemp?
Потому что ты сказал в настройках это читать.Есть новая версия на гит `
Где я такое говорил? -
-
Потому что ты сказал в настройках это читать.
Есть новая версия на гит
Где я такое говорил?
в настройках
Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига. `
Чего та недопонимаю, ставлю новый owfs.2, включаю, захожу в настройки по умолчанию, нажимаю read получаю на DS18B20 два параметра 28.FFF67D3B0400/temperature, 28.FFF67D3B0400/fasttemp -
Где я такое говорил? `
в настройках
Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига.
Чего та недопонимаю, ставлю новый owfs.2, включаю, захожу в настройки по умолчанию, нажимаю read получаю на DS18B20 два параметра 28.FFF67D3B0400/temperature, 28.FFF67D3B0400/fasttemp
Нажать на удалить не пробовал?Сначала создаются возможные полезные значения, а тебе выбирать, хочешь ты их читать или нет
48_2016-07-29_23_32_51-iobroker.admin.png -
в настройках
Ты настроил драйвер так, что бы он читал эту переменную. Удали её из конфига.
Чего та недопонимаю, ставлю новый 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 - для возможности записи/чтения в порт.