NEWS
Разные ошибки
-
Да, я полностью понимаю Вашу загруженность!
Просто обращаю внимание на, как мне кажется существенный недостаток,
который не дает возможности работать полноценно в мультихост режиме.
Здесь мне тоже кажется предпочтительнее второй вариант.
При существующем положении вещей вынужден уходя на работу отключать
javascript на слейве - ибо непонятно, что он сделает в мое отсутствие при подобном сбое.
–-----
Еще, если будет возможность (и время) - обратите внимание на
возможность переключения драйвера OWFS в локальный режим
(http://forum.iobroker.net/viewtopic.php?p=32357#p32357).
То-есть предоставить пользователю возможность выбора - или локально или через owserver
(на этапе конфигурации адаптера).
В локальном режиме не только в десятки раз увеличивается скорость работы в owfs
но и появляется возможность остановить ненужные сервисы owserver и owhttpd,
что освобождает так необходимые ресурсы на маломощных серверах типа Raspberry Pi. `
Можешь опробовать owfs с гита? -
То-есть предоставить пользователю возможность выбора - или локально или через owserver
(на этапе конфигурации адаптера).
В локальном режиме не только в десятки раз увеличивается скорость работы в owfs
но и появляется возможность остановить ненужные сервисы owserver и owhttpd,
что освобождает так необходимые ресурсы на маломощных серверах типа Raspberry Pi.
Можешь опробовать owfs с гита?
Попробовал, в стандартном режиме если подключены 1-3 датчика он их находит, если больше трёх тогда "0" найдено. В локальном режиме поиск не работаетinMem 2016-08-23 23:58:13.760 debug message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1471985893718, q=0, from=system.adapter.admin.0, lc=1471985893718 host-Server1 2016-08-23 23:58:05.732 info Restart adapter system.adapter.owfs.0 because enabled host-Server1 2016-08-23 23:58:05.731 error instance system.adapter.owfs.0 terminated with code 0 (OK) owfs-0 2016-08-23 23:58:05.709 info terminating ReferenceError: 2016-08-23 23:58:05.187 error at Object.oncomplete (fs.js:108:15) ReferenceError: 2016-08-23 23:58:05.187 error at /opt/iobroker/node_modules/iobroker.owfs/main.js:167:35 ReferenceError: 2016-08-23 23:58:05.187 error d is not defined uncaught 2016-08-23 23:58:05.185 error exception: d is not defined inMem 2016-08-23 23:58:04.566 debug message messagebox.system.adapter.owfs.0 messagebox.system.adapter.owfs.0 command=readdir, path=/mnt/1wire, from=system.adapter.admin.0, path=/mnt/1wire, id=29, ack=false, time=1471985884527, _id=83
-
А теперь?
Включи debug уровень. Я встроил debug выводы для скана сенсоров, если не локально.
-
> Можешь опробовать owfs с гита?
У меня совсем не работает - в файле состояние датчика изменилось, а адаптер не видит,возможно потому, что нет возможности выбора: локальный или owserver,
а owserver сервис у меня выключен.
По крайней мере я не нахожу опции выбора в настройках адаптера.
Но так как там нет и функции поиска датчиков - подозреваю, что у меня установлено что-то не верно.
Как я делал :
остановил iobroker
скачал отсюда архив https://github.com/ioBroker/ioBroker.ow … master.zip
распаковал в папку /opt/iobroker
установил:
npm install ioBroker.owfs-master
После чего проверил версию в файле:
/opt/iobroker/node_modules/iobroker.owfs/package.json
"version": "0.3.0",
и запустил iobroker
проверил версию в WEB интерфейсе - тоже 0.3.0
Что должно быть в веб настройках адаптера?
-
А теперь?
Включи debug уровень. Я встроил debug выводы для скана сенсоров, если не локально. `
Вот это в локал! ````
TypeError: 2016-08-24 10:32:36.258 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
TypeError: 2016-08-24 10:32:36.258 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
TypeError: 2016-08-24 10:32:36.258 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
TypeError: 2016-08-24 10:32:36.258 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
TypeError: 2016-08-24 10:32:36.258 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
TypeError: 2016-08-24 10:32:36.258 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
TypeError: 2016-08-24 10:32:36.258 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2096:34)
TypeError: 2016-08-24 10:32:36.258 error at Adapter.emit (events.js:95:17)
TypeError: 2016-08-24 10:32:36.258 error at Adapter.adapter.on.timer (/opt/iobroker/node_modules/iobroker.owfs/main.js:24:14)
TypeError: 2016-08-24 10:32:36.258 error at processMessage (/opt/iobroker/node_modules/iobroker.owfs/main.js:169:24)
TypeError: 2016-08-24 10:32:36.258 error Cannot call method 'readdir' of null
message 2016-08-24 10:32:36.253 error messagebox.system.adapter.owfs.0 [object Object] Cannot call method 'readdir' of nullЭто стандартно семь датчиков >! ```` inMem 2016-08-24 10:42:12.577 debug message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472024532539, q=0, from=system.adapter.admin.0, lc=1472024532539 inMem 2016-08-24 10:42:12.569 debug message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472024532539, q=0, from=system.adapter.admin.0, lc=1472024532539 owfs-0 2016-08-24 10:42:08.841 debug sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0 owfs-0 2016-08-24 10:42:08.839 debug Result for dir: {} owfs-0 2016-08-24 10:42:08.837 debug Result for list_: [] owfs-0 2016-08-24 10:42:08.836 debug Result for list: [""] inMem 2016-08-24 10:42:08.703 debug message megaesp.0.* megaesp.0.p9_P9 val=29, ack=true, ts=1472024528688, q=0, from=system.adapter.megaesp.0, lc=1472024528688 inMem 2016-08-24 10:42:08.679 debug message megaesp.0.* megaesp.0.p3_P3_humidity val=79.7, ack=true, ts=1472024528663, q=0, from=system.adapter.megaesp.0, lc=1472024528663 megaesp-0 2016-08-24 10:42:08.659 debug detected new value on port [9]: 29, calc state 29 megaesp-0 2016-08-24 10:42:08.656 debug Response for 192.168.1.20[all]: 0;0;0;temp:20.00/hum:79.70;temp:19.50;OFF;RGB;NC;NC;29 megaesp-0 2016-08-24 10:42:08.594 debug getPortState http://192.168.1.20/sec/?cmd=all owfs-0 2016-08-24 10:42:07.515 debug Connect to 127.0.0.1:4304 i
Сейчас семь датчиков
Когда пять находит! ````
Нажмите Ctrl+A и Ctrl+C, что бы скопировать в буфер обмена и после этого нажмите мышкой в любом месте.
inMem 2016-08-24 11:27:44.682 debug message owfs.0.* owfs.0.wires.Sensor3_temperature val=null, ack=false, ts=1472027264623, q=0, from=system.adapter.owfs.0, lc=1472027264623
inMem 2016-08-24 11:27:44.622 debug message owfs.0.* owfs.0.wires.Sensor2_fasttemp val=null, ack=false, ts=1472027264610, q=0, from=system.adapter.owfs.0, lc=1472027264610
inMem 2016-08-24 11:27:44.584 debug message owfs.0.* owfs.0.wires.Sensor1_temperature val=null, ack=false, ts=1472027264561, q=0, from=system.adapter.owfs.0, lc=1472027264561
owfs-0 2016-08-24 11:27:44.368 info starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.owfs
owfs-0 2016-08-24 11:27:44.280 debug statesDB connected
owfs-0 2016-08-24 11:27:44.261 debug objectDB connected
host-Server1 2016-08-24 11:27:43.103 info instance system.adapter.owfs.0 started with pid 4016
host-Server1 2016-08-24 11:27:41.146 info instance system.adapter.owfs.0 terminated with code 0 (OK)
owfs-0 2016-08-24 11:27:41.115 info terminating
inMem 2016-08-24 11:27:40.763 debug message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472027260728, q=0, from=system.adapter.admin.0, lc=1472027260728
inMem 2016-08-24 11:27:40.763 debug message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472027260728, q=0, from=system.adapter.admin.0, lc=1472027260728
host-Server1 2016-08-24 11:27:40.588 info stopInstance system.adapter.owfs.0 killing pid 3909
host-Server1 2016-08-24 11:27:40.588 info stopInstance system.adapter.owfs.0
host-Server1 2016-08-24 11:27:40.586 info object change system.adapter.owfs.0
owfs-0 2016-08-24 11:27:00.597 debug sendTo 'readdir' to system.adapter.admin.0 from system.adapter.owfs.0
owfs-0 2016-08-24 11:27:00.596 debug Result for dir: {'10.DB1979020800':['address','alias','crc8','errata','family','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temphigh','templow','type'],'28.ECB1CD040000':['address','alias','crc8','errata','family','fasttemp','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temperature10','temperature11','temperature12','temperature9','temphigh','templow','type'],'28.3C3B63040000':['address','alias','crc8','errata','family','fasttemp','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temperature10','temperature11','temperature12','temperature9','temphigh','templow','type'],'28.6659CE040000':['address','alias','crc8','errata','family','fasttemp','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temperature10','temperature11','temperature12','temperature9','temphigh','templow','type'],'28.3E0764040000':['address','alias','crc8','errata','family','fasttemp','id','locator','power','r_address','r_id','r_locator','scratchpad','temperature','temperature10','temperature11','temperature12','temperature9','temphigh','templow','type']}
owfs-0 2016-08-24 11:27:00.543 debug Result for list_: ['10.DB1979020800','28.ECB1CD040000','28.3C3B63040000','28.6659CE040000','28.3E0764040000']
owfs-0 2016-08-24 11:27:00.542 debug Result for list: ['/10.DB1979020800','/28.ECB1CD040000','/28.3C3B63040000','/28.6659CE040000','/28.3E0764040000']
owfs-0 2016-08-24 11:26:59.580 debug Connect to 127.0.0.1:4304
inMem 2016-08-24 11:26:59.577 debug message messagebox.system.adapter.owfs.0 messagebox.system.adapter.owfs.0 command=readdir, ip=127.0.0.1, port=4304, from=system.adapter.admin.0, ip=127.0.0.1, port=4304, id=86, ack=false, time=1472027219565, _id=83207467 -
> Можешь опробовать owfs с гита?
У меня совсем не работает - в файле состояние датчика изменилось, а адаптер не видит,возможно потому, что нет возможности выбора: локальный или owserver,
а owserver сервис у меня выключен.
По крайней мере я не нахожу опции выбора в настройках адаптера.
Но так как там нет и функции поиска датчиков - подозреваю, что у меня установлено что-то не верно.
Как я делал :
остановил iobroker
скачал отсюда архив https://github.com/ioBroker/ioBroker.ow … master.zip
распаковал в папку /opt/iobroker
установил:
npm install ioBroker.owfs-master
После чего проверил версию в файле:
/opt/iobroker/node_modules/iobroker.owfs/package.json
"version": "0.3.0",
и запустил iobroker
проверил версию в WEB интерфейсе - тоже 0.3.0
Что должно быть в веб настройках адаптера? `
cd /opt/iobroker npm install https://github.com/ioBroker/ioBroker.owfs/tarball/master/ iobroker upload owfs iobroker restart owfs
-
cd /opt/iobroker npm install https://github.com/ioBroker/ioBroker.owfs/tarball/master/ iobroker upload owfs iobroker restart owfs
Да, спасибо - все получилось!
Работает и чтение и запись в локальном режиме.
Работает быстро!
Найдено 30 датчиков в локальном режиме.
Если некорректно работает в локальном режиме - возможно стоит посмотреть конфигурацию owfs.
Мой /etc/owfs.conf
! server: server = localhost:4304 Celsius owfs: device = /dev/i2c-0 mountpoint = /mnt/1wire allow_other timeout_volatile = 60 timeout_stable = 60 timeout_directory = 30 timeout_presence = 60 timeout_network = 0 timeout_persistent_low = 600 timeout_persistent_high = 3600 format = fic cache_size = 0
/etc/systemd/system/multi-user.target.wants/owfs.service
[Unit] Description=1-wire filesystem FUSE mount Documentation=man:owfs(1) [Service] Type=forking ExecStart=/opt/owfs/bin/owfs -c /etc/owfs.conf --pid-file /var/run/owfs/owfs.pid -C ExecStop=/usr/bin/umount /mnt/1wire RuntimeDirectory=owfs [Install] WantedBy=multi-user.target
Система Armbian VERSION=5.16
Orange Pi + 2
-
Т.е. получается, что даже если используешь локальный режим, то всеравно должен присутствовать owfs сервер в системе?
Т.к. сейчас попробовал установить драйвер в систему, где 1wire работает, но owfs сервера нет, указал каталог с датчиками, драйвер пишет что нашел 6 вместо 5 датчиков, хотя это понятно, так как он читает количество каталогов в данной директории, но в настройках датчики не появляются.
-
Там в main.js ошибка небольшая.
Надо добавить строкой 167
fs = fs || require('fs');
-
Т.е. получается, что даже если используешь локальный режим, то всеравно должен присутствовать owfs сервер в системе?
Т.к. сейчас попробовал установить драйвер в систему, где 1wire работает, но owfs сервера нет, указал каталог с датчиками, драйвер пишет что нашел 6 вместо 5 датчиков, хотя это понятно, так как он читает количество каталогов в данной директории, но в настройках датчики не появляются. `
Пакет owfs
предоставляет 4 сервиса
/lib/systemd/system/owfs.service
! ````
[Unit]
Description=1-wire filesystem FUSE mount
Documentation=man:owfs(1)
! [Service]
Type=forking
ExecStart=/opt/owfs/bin/owfs -c /etc/owfs.conf --pid-file /var/run/owfs/owfs.pid -C
ExecStop=/usr/bin/umount /mnt/1wire
RuntimeDirectory=owfs
! [Install]
WantedBy=multi-user.targetФормирует виртуальную файловую систему в точке монтирования ****/lib/systemd/system/owserver.service**** >! ```` [Unit] Description=Backend server for 1-wire control Documentation=man:owserver(1) After=syslog.target network.target >! [Service] Type=forking ExecStart=/opt/owfs/bin/owserver -c /etc/owfs.conf -C --pid-file /var/run/owfs/owserver.pid >! [Install] WantedBy=multi-user.target Also=owserver.socket
Предоставляет удаленный доступ к owfs файловой системе
(по умолчанию порт 4304)
/lib/systemd/system/owhttpd.service
! ````
[Unit]
Description=Tiny webserver for 1-wire control
Documentation=man:owhttpd(1)
After=network.target
! [Service]
Type=forking
ExecStart=/opt/owfs/bin/owhttpd -c /etc/owfs.conf --background --pid-file /var/run/owfs/owhttpd.pid
User=owfs
Group=owfs
! [Install]
WantedBy=multi-user.targetПоднимает легкий http server (на порту 2121 по умолчанию) и ****/lib/systemd/system/owftpd.service**** - не пользовался Для локального использования в файловой системе достаточно запустить лишь ****owfs**** сервис с конфигом /etc/owfs.conf вида:
! server: server = localhost:4304
Celsius
owfs: device = /dev/i2c-0
mountpoint = /mnt/1wire
allow_other
timeout_volatile = 60
timeout_stable = 60
timeout_directory = 30
timeout_presence = 60
timeout_network = 0
timeout_persistent_low = 600
timeout_persistent_high = 3600
format = fic
cache_size = 0Для удаленного использования запускается два сервиса ****owfs.service**** ****owserver.service**** или три ****+ owhttpd.service**** с конфигом /etc/owfs.conf вида:
! server: server = localhost:4304
Celsius
server: device = /dev/i2c-0
http: port = 2121
mountpoint = /mnt/1wire
allow_other
timeout_volatile = 60
timeout_stable = 60
timeout_directory = 30
timeout_presence = 60
timeout_network = 0
timeout_persistent_low = 600
timeout_persistent_high = 3600
format = fic
cache_size = 0В этом варианте можно пользоваться как удаленно так и локально. Локальный доступ осуществляется гораздо быстрее - в десятки раз, чем удаленный. Поэтому если нет необходимости в удаленном доступе - лучше пользоваться локальным. Погасив при этом ненужные сервисы owserver и owhttpd. Большое спасибо Bluefox за оперативность!
-
А теперь?
Включи debug уровень. Я встроил debug выводы для скана сенсоров, если не локально. `
Вот это в локалowfs-0 2016-08-24 10:42:08.836 debug Result for list: [""]
Сейчас семь датчиков
Когда пять находит
owfs-0 2016-08-24 11:27:00.542 debug Result for list: ['/10.DB1979020800','/28.ECB1CD040000','/28.3C3B63040000','/28.6659CE040000','/28.3E0764040000'] ```` `
Помогай. У меня с FAKED
Ошибка, где то в библиотеке owjs.
Где то здесь (node_modules/owjs/owjs.js:
// return array of dir self.list = function (path, callback) { var promise; if (path instanceof Array) { promise = Q.all(path.map(self.list)); } else { promise = self.send(path, null, OW_DIRALL) .then(function (messages) { var message = messages[0]; if (message.header.ret < 0) { throw new Error(message.header.ret); } var str = message.payload; str = str.substring(0, str.length - 1); // remove zero-char from end return str.split(','); }); } return nodify(promise, callback); };
Можешь встроить
.then(function (messages) { console.log(JSON.stringify(messages));//<----- var message = messages[0];
И выполнить
iobroker stop owfs node node_modules/iobroker.owfs/main.js --force --logs
-
В этом варианте можно пользоваться как удаленно так и локально.
Локальный доступ осуществляется гораздо быстрее - в десятки раз,
чем удаленный. Поэтому если нет необходимости в удаленном доступе -
лучше пользоваться локальным. Погасив при этом ненужные сервисы owserver и owhttpd.
Большое спасибо Bluefox за оперативность! `
Проблема в том что у меня 1wire реализован через gpio на raspberry и owfs пакет не дружит с режимом kernel. Соответственно он мне не создает виртуальную fs. -
Проблема в том что у меня 1wire реализован через gpio на raspberry и owfs пакет не дружит с режимом kernel. Соответственно он мне не создает виртуальную fs. `
Гм, не знаю - у меня мастер восьмиканальный железный.
Попробуй так:
systemctl disable owserver.service
systemctl disable owhttpd.service
Проверь есть ли у тебя /lib/systemd/system/owfs.service
(он может отсутствовать)
Если нет - создай по образу моего.
systemctl enable owfs.service
в /etc/owfs.conf
Закомментируй строки типа
server: device = /dev/i2c-0
(то что у тебя)
и поставь
owfs: device = /dev/i2c-0
(то устройство что у тебя)
После этого перезагрузи Raspberry.
Именно после перегрузки он может подхватить конфиг
-
Игрался и настраивал, не поддерживается. Там старые версии ядра еще можно было пропатчить, чтоб owfs заработал, на 4 версии ядра информации вообще не нашел. Внешнее устройство на i2c или USB в этом плане лучше.
-
Проблема в том что у меня 1wire реализован через gpio на raspberry и owfs пакет не дружит с режимом kernel. Соответственно он мне не создает виртуальную fs. `
После этого перезагрузи Raspberry.Именно после перегрузки он может подхватить конфиг `
Не , я на DELL FX170 вся инфа в подписе -
А теперь?
Включи debug уровень. Я встроил debug выводы для скана сенсоров, если не локально. `
Вот это в локалowfs-0 2016-08-24 10:42:08.836 debug Result for list: [""]
Сейчас семь датчиков
Когда пять находит
owfs-0 2016-08-24 11:27:00.542 debug Result for list: ['/10.DB1979020800','/28.ECB1CD040000','/28.3C3B63040000','/28.6659CE040000','/28.3E0764040000'] ```` `
Помогай. У меня с FAKED
filename="2016-08-24 13_57_25-ioBroker.admin.png" index="0">~~Ошибка, где то в библиотеке owjs.
Где то здесь (node_modules/owjs/owjs.js:
// return array of dir self.list = function (path, callback) { var promise; if (path instanceof Array) { promise = Q.all(path.map(self.list)); } else { promise = self.send(path, null, OW_DIRALL) .then(function (messages) { var message = messages[0]; if (message.header.ret < 0) { throw new Error(message.header.ret); } var str = message.payload; str = str.substring(0, str.length - 1); // remove zero-char from end return str.split(','); }); } return nodify(promise, callback); };
Можешь встроить
.then(function (messages) { console.log(JSON.stringify(messages));//<----- var message = messages[0];
И выполнить
iobroker stop owfs node node_modules/iobroker.owfs/main.js --force --logs ```` `
Сделал, считал когда пять
! ````
2016-08-24 18:34:08.823 - debug: owfs.0 Connect to 127.0.0.1:4304
[{"header":{"version":0,"payload":85,"ret":0,"controlflags":32,"size":84,"offset":32770},"payload":"/10.DB1979020800,/28.ECB1CD040000,/28.3C3B63040000,/28.6659CE040000,/28.3E0764040000\u0000"}]
Result for list: ["/10.DB1979020800","/28.ECB1CD040000","/28.3C3B63040000","/28.6659CE040000","/28.3E0764040000"]
2016-08-24 18:34:09.757 - debug: owfs.0 Result for list: ["/10.DB1979020800","/28.ECB1CD040000","/28.3C3B63040000","/28.6659CE040000","/28.3E0764040000"]
Result for list_: ["10.DB1979020800","28.ECB1CD040000","28.3C3B63040000","28.6659CE040000","28.3E0764040000"]
2016-08-24 18:34:09.758 - debug: owfs.0 Result for list_: ["10.DB1979020800","28.ECB1CD040000","28.3C3B63040000","28.6659CE040000","28.3E0764040000"]
[{"header":{"version":0,"payload":392,"ret":0,"controlflags":32,"size":391,"offset":0},"payload":"/10.DB1979020800/address,/10.DB1979020800/alias,/10.DB1979020800/crc8,/10.DB1979020800/errata,/10.DB1979020800/family,/10.DB1979020800/id,/10.DB1979020800/locator,/10.DB1979020800/power,/10.DB1979020800/r_address,/10.DB1979020800/r_id,/10.DB1979020800/r_locator,/10.DB1979020800/scratchpad,/10.DB1979020800/temperature,/10.DB1979020800/temphigh,/10.DB1979020800/templow,/10.DB1979020800/type\u0000"}]
[{"header":{"version":0,"payload":541,"ret":0,"controlflags":32,"size":540,"offset":0},"payload":"/28.ECB1CD040000/address,/28.ECB1CD040000/alias,/28.ECB1CD040000/crc8,/28.ECB1CD040000/errata,/28.ECB1CD040000/family,/28.ECB1CD040000/fasttemp,/28.ECB1CD040000/id,/28.ECB1CD040000/locator,/28.ECB1CD040000/power,/28.ECB1CD040000/r_address,/28.ECB1CD040000/r_id,/28.ECB1CD040000/r_locator,/28.ECB1CD040000/scratchpad,/28.ECB1CD040000/temperature,/28.ECB1CD040000/temperature10,/28.ECB1CD040000/temperature11,/28.ECB1CD040000/temperature12,/28.ECB1CD040000/temperature9,/28.ECB1CD040000/temphigh,/28.ECB1CD040000/templow,/28.ECB1CD040000/type\u0000"}]
[{"header":{"version":0,"payload":541,"ret":0,"controlflags":32,"size":540,"offset":0},"payload":"/28.3C3B63040000/address,/28.3C3B63040000/alias,/28.3C3B63040000/crc8,/28.3C3B63040000/errata,/28.3C3B63040000/family,/28.3C3B63040000/fasttemp,/28.3C3B63040000/id,/28.3C3B63040000/locator,/28.3C3B63040000/power,/28.3C3B63040000/r_address,/28.3C3B63040000/r_id,/28.3C3B63040000/r_locator,/28.3C3B63040000/scratchpad,/28.3C3B63040000/temperature,/28.3C3B63040000/temperature10,/28.3C3B63040000/temperature11,/28.3C3B63040000/temperature12,/28.3C3B63040000/temperature9,/28.3C3B63040000/temphigh,/28.3C3B63040000/templow,/28.3C3B63040000/type\u0000"}]
[{"header":{"version":0,"payload":541,"ret":0,"controlflags":32,"size":540,"offset":0},"payload":"/28.6659CE040000/address,/28.6659CE040000/alias,/28.6659CE040000/crc8,/28.6659CE040000/errata,/28.6659CE040000/family,/28.6659CE040000/fasttemp,/28.6659CE040000/id,/28.6659CE040000/locator,/28.6659CE040000/power,/28.6659CE040000/r_address,/28.6659CE040000/r_id,/28.6659CE040000/r_locator,/28.6659CE040000/scratchpad,/28.6659CE040000/temperature,/28.6659CE040000/temperature10,/28.6659CE040000/temperature11,/28.6659CE040000/temperature12,/28.6659CE040000/temperature9,/28.6659CE040000/temphigh,/28.6659CE040000/templow,/28.6659CE040000/type\u0000"}]
[{"header":{"version":0,"payload":541,"ret":0,"controlflags":32,"size":540,"offset":0},"payload":"/28.3E0764040000/address,/28.3E0764040000/alias,/28.3E0764040000/crc8,/28.3E0764040000/errata,/28.3E0764040000/family,/28.3E0764040000/fasttemp,/28.3E0764040000/id,/28.3E0764040000/locator,/28.3E0764040000/power,/28.3E0764040000/r_address,/28.3E0764040000/r_id,/28.3E0764040000/r_locator,/28.3E0764040000/scratchpad,/28.3E0764040000/temperature,/28.3E0764040000/temperature10,/28.3E0764040000/temperature11,/28.3E0764040000/temperature12,/28.3E0764040000/temperature9,/28.3E0764040000/temphigh,/28.3E0764040000/templow,/28.3E0764040000/type\u0000"}]
Result for dir: {"10.DB1979020800":["address","alias","crc8","errata","family","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temphigh","templow","type"],"28.ECB1CD040000":["address","alias","crc8","errata","family","fasttemp","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temperature10","temperature11","temperature12","temperature9","temphigh","templow","type"],"28.3C3B63040000":["address","alias","crc8","errata","family","fasttemp","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temperature10","temperature11","temperature12","temperature9","temphigh","templow","type"],"28.6659CE040000":["address","alias","crc8","errata","family","fasttemp","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temperature10","temperature11","temperature12","temperature9","temphigh","templow","type"],"28.3E0764040000":["address","alias","crc8","errata","family","fasttemp","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temperature10","temperature11","temperature12","temperature9","temphigh","templow","type"]}
2016-08-24 18:34:09.807 - debug: owfs.0 Result for dir: {"10.DB1979020800":["address","alias","crc8","errata","family","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temphigh","templow","type"],"28.ECB1CD040000":["address","alias","crc8","errata","family","fasttemp","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temperature10","temperature11","temperature12","temperature9","temphigh","templow","type"],"28.3C3B63040000":["address","alias","crc8","errata","family","fasttemp","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temperature10","temperature11","temperature12","temperature9","temphigh","templow","type"],"28.6659CE040000":["address","alias","crc8","errata","family","fasttemp","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temperature10","temperature11","temperature12","temperature9","temphigh","templow","type"],"28.3E0764040000":["address","alias","crc8","errata","family","fasttemp","id","locator","power","r_address","r_id","r_locator","scratchpad","temperature","temperature10","temperature11","temperature12","temperature9","temphigh","templow","type"]}
sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0
2016-08-24 18:34:09.808 - debug: owfs.0 sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0
2016-08-24 18:34:13.959 - debug: inMem message *.logging system.adapter.admin.0.logging val=false, ack=true, ts=1472052853910, q=0, from=system.adapter.admin.0, lc=1472052853910Тут добавил датчик считал и получил 0 >! ```` Read /28.3E0764040000/fasttemp:22.5 2016-08-24 17:25:39.499 - debug: owfs.0 Read /28.3E0764040000/fasttemp:22.5 2016-08-24 17:25:39.524 - debug: inMem message owfs.0.* owfs.0.wires.Sensor8_fasttemp val=22.5, ack=true, ts=1472048739505, q=0, from=system.adapter.owfs.0, lc=1472040899036 2016-08-24 17:25:50.314 - debug: inMem message messagebox.system.adapter.owfs.0 messagebox.system.adapter.owfs.0 command=readdir, ip=127.0.0.1, port=4304, from=system.adapter.admin.0, ip=127.0.0.1, port=4304, id=107, ack=false, time=1472048750295, _id=83207507 Connect to 127.0.0.1:4304 2016-08-24 17:25:50.322 - debug: owfs.0 Connect to 127.0.0.1:4304 [{"header":{"version":0,"payload":-1,"ret":0,"controlflags":0,"size":0,"offset":0},"payload":""},{"header":{"version":0,"payload":102,"ret":0,"controlflags":32,"size":101,"offset":32770},"payload":"/10.DB1979020800,/28.ECB1CD040000,/28.3C3B63040000,/28.6659CE040000,/28.3E0764040000,/28.FF76034B0400\u0000"}] Result for list: [""] 2016-08-24 17:25:51.429 - debug: owfs.0 Result for list: [""] Result for list_: [] 2016-08-24 17:25:51.431 - debug: owfs.0 Result for list_: [] Result for dir: {} 2016-08-24 17:25:51.432 - debug: owfs.0 Result for dir: {} sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0 2016-08-24 17:25:51.432 - debug: owfs.0 sendTo "readdir" to system.adapter.admin.0 from system.adapter.owfs.0 Read /28.ECB1CD040000/fasttemp:24.5 2016-08-24 17:26:04.757 - debug: owfs.0 Read /28.ECB1CD040000/fasttemp:24.5 2016-08-24 17:26:04.786 - debug: inMem message owfs.0.* owfs.0.wires.Sensor2_fasttemp val=24.5, ack=true, ts=1472048764764, q=0, from=system.adapter.owfs.0, lc=1472046903492 Read /28.6659CE040000/fasttemp:21 2016-08-24 17:26:05.067 - debug: owfs.0 Read /28.6659CE040000/fasttemp:21 2016-08-24 17:26:05.090 - debug: inMem message owfs.0.* owfs.0.wires.Sensor6_fasttemp val=21, ack=true, ts=1472048765074, q=0, from=system.adapter.owfs.0, lc=1472048466105 Read /28.ECB1CD040000/temperature:24.5625
Вот это при локальном поиске
! ````
Read /28.ECB1CD040000/temperature:24.5
2016-08-24 17:22:09.831 - debug: owfs.0 Read /28.ECB1CD040000/temperature:24.5
2016-08-24 17:22:09.858 - debug: inMem message owfs.0.* owfs.0.wires.Sensor3_temperature val=24.5, ack=true, ts=1472048529838, q=0, from=system.adapter.owfs.0, lc=1472048319346
2016-08-24 17:22:20.355 - debug: inMem message messagebox.system.adapter.owfs.0 messagebox.system.adapter.owfs.0 command=readdir, path=/mnt/1wire, from=system.adapter.admin.0, path=/mnt/1wire, id=106, ack=false, time=1472048540343, _id=83207506
2016-08-24 17:22:20.364 - error: message messagebox.system.adapter.owfs.0 [object Object] Cannot call method 'readdir' of null
2016-08-24 17:22:20.370 - error: TypeError: Cannot call method 'readdir' of null
at processMessage (/opt/iobroker/node_modules/iobroker.owfs/main.js:169:24)
at Adapter.adapter.on.timer (/opt/iobroker/node_modules/iobroker.owfs/main.js:24:14)
at Adapter.emit (events.js:95:17)
at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2096:34)
at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30)
at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10)
at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12)
at Manager. <anonymous>(/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15)
at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20)
Read /28.ECB1CD040000/fasttemp:24.5
2016-08-24 17:22:34.683 - debug: owfs.0 Read /28.ECB1CD040000/fasttemp:24.5
2016-08-24 17:22:34.710 - debug: inMem message owfs.0.* owfs.0.wires.Sensor2_fasttemp val=24.5, ack=true, ts=1472048554689, q=0, from=system.adapter.owfs.0, lc=1472046903492
Read /28.3C3B63040000/fasttemp:22
2016-08-24 17:22:34.961 - debug: owfs.0 Read /28.3C3B63040000/fasttemp:22
2016-08-24 17:22:34.991 - debug: inMem message owfs.0.* owfs.0.wires.Sensor4_fasttemp val=22, ack=true, ts=1472048554968, q=0, from=system.adapter.owfs.0, lc=1472040658839
Read /28.6659CE040000/temperature:21.3125
2016-08-24 17:22:35.958 - debug: owfs.0 Read /28.6659CE040000/temperature:21.3125
2016-08-24 17:22:35.991 - debug: inMem message owfs.0.* owfs.0.wires.Sensor7_temperature val=21.3125, ack=true, ts=1472048555965, q=0, from=system.adapter.owfs.0, lc=1472048286461</anonymous> -
@jeorgep:Игрался и настраивал, не поддерживается. Там старые версии ядра еще можно было пропатчить, чтоб owfs заработал, на 4 версии ядра информации вообще не нашел. Внешнее устройство на i2c или USB в этом плане лучше.
Ну, и на всякий случай контрольный выстрел, чтобы совесть была чистаВ /etc/owfs.conf
должна быть указана точка монтирования:
mountpoint = /mnt/1wire
Она должна существовать и на нее должны бть права:
mkdir /mnt/1wire chmod 777 /mnt/1wire chown root:root /mnt/1wire
И в /etc/fuse.conf не забыть:
user_allow_other
В /boot/config.txt Raspberry Pi:
Наверное (точно не помню - у меня Orange Pi, там этого нет):
dtoverlay=w1-gpio
У меня owfs самосборный, не из репозитария debian jessie.
А вот что говорит man owfs:
* w1 kernel module This a linux-specific option for using the operating system's access to bus masters. Root access is required and the implementation was still in progress as of owfs v2.7p12 and linux 2.6.30. Bus masters are recognized and added dynamically. Details of the physical bus master are not accessible, bu they include USB, i2c and a number of GPIO designs on embedded boards. Access is restrict to superuser due to the netlink broadcast protocol employed by w1\. Multitasking must be configured (threads) on the compilation. --w1 Use the linux kernel w1 virtual bus master.
-
Я поправил на git локальный поиск. С большим количеством датчиков по сети пока ничего не делал.
-
Я поправил на git локальный поиск. С большим количеством датчиков по сети пока ничего не делал. `
Сейчас попробуюP.S. локально считывает, сейчас добавлю датчиков
-
Я поправил на git локальный поиск. С большим количеством датчиков по сети пока ничего не делал. `
Добавил датчики, ключи всё гут в новой конфигурации с чебоксом локально.А вот если сразу убрать чебокс и не сохранить, нажать на поиск сыпятся ошибки
TypeError: 2016-08-25 00:23:40.195 error at Manager.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20) TypeError: 2016-08-25 00:23:40.195 error at Manager. (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-bind/index.js:21:15) TypeError: 2016-08-25 00:23:40.195 error at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:221:12) TypeError: 2016-08-25 00:23:40.195 error at Socket.onevent (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:263:10) TypeError: 2016-08-25 00:23:40.195 error at Socket.Emitter.emit (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/node_modules/component-emitter/index.js:131:20) TypeError: 2016-08-25 00:23:40.195 error at Socket.StatesInMemClient.client.on.connectionTimeout (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInMemClient.js:45:30) TypeError: 2016-08-25 00:23:40.195 error at Object.that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2096:34) TypeError: 2016-08-25 00:23:40.195 error at Adapter.emit (events.js:95:17) TypeError: 2016-08-25 00:23:40.195 error at Adapter.adapter.on.timer (/opt/iobroker/node_modules/iobroker.owfs/main.js:24:14) TypeError: 2016-08-25 00:23:40.195 error at processMessage (/opt/iobroker/node_modules/iobroker.owfs/main.js:136:39) TypeError: 2016-08-25 00:23:40.195 error Cannot read property 'Client' of null message 2016-08-25 00:23:40.188 error messagebox.system.adapter.owfs.0 [object Object] Cannot read property 'Client' of null owfs-0 2016-08-25 00:23:40.183 debug Connect to 127.0.0.1:4304 inMem 2016-08-25 00:23:40.177 debug message messagebox.system.adapter.owfs.0 messagebox.system.adapter.owfs.0 command=readdir, ip=127.0.0.1, port=4304, from=system.adapter.admin.0, ip=127.0.0.1, port=4304, id=160, ack=false, time=1472 inMem 2016-08-25 00:23:33.570 debug message *.logging system.adapter.admin.0.logging val=true, ack=true, ts=1472073813535, q=0, from=system.adapter.admin.0, lc=1472073813535 inMem 2016-08-25 00:23:33.567 debug message *.logging system.adapter.admin.0.logging val=true, ack=true, ts=1472073813535, q=0, from=system.adapter.admin.0, lc=1472073813535 owfs-0 2016-08-25 00:23:30.755 info starting. Version 0.3.2 in /opt/iobroker/node_modules/iobroker.owfs owfs-0 2016-08-25 00:23:30.666 debug statesDB connected owfs-0 2016-08-25 00:23:30.631 debug objectDB connected host-Server1 2016-08-25 00:23:29.498 info instance system.adapter.owfs.0 started with pid 21434 host-Server1 2016-08-25 00:23:27.525 info instance system.adapter.owfs.0 terminated with code 0 (OK) owfs-0 2016-08-25 00:23:27.498 info terminating host-Server1 2016-08-25 00:23:26.971 info stopInstance system.adapter.owfs.0 killing pid 21185 host-Server1 2016-08-25 00:23:26.970 info stopInstance system.adapter.owfs.0 host-Server1 2016-08-25 00:23:26.962 info object change system.adapter.owfs.0
Bluefox, я думаю было бы здорово для каждого датчика сделать своё время опроса. Я раньше хитрил чтобы негонять опрос всех датчиков там где нужно часто (система отопления, котел, трёхходовой), запускал ещё один драйвер ну а в комнатах или ещё где рас в минуту или на улице рас в пять минут ну это ж кастыль