NEWS
1Wire и OWFS
-
Заработало. Обновил драйвер iobroker OWFS. Систему поставил несколько дней назад, и уже обновления… :)
-
Всем привет!
Я только начал осваивать ioBroker, да и вообще тему умных домов. Поэтому сразу прошу прощения если сморожу какую нибудь глупость. :)
Имею в наличии OrangePI Plus и датчик температуры ds18b20.
Все подключил как в статье http://smart-home.te.ua/raspberry-pi-ds18b20-2/
Для апельсинки схема немного другая но нужный результат я получил.
Девайс обнаружился показания есть:
root@orange:/sys/bus/w1/devices# cat 28-031657ba9cff/w1_slave 83 01 4b 46 7f ff 0c 10 a2 : crc=a2 YES 83 01 4b 46 7f ff 0c 10 a2 t=24187Вопрос: Как бы мне эти показания завести ioBroker?
Насколько я понимаю OWFS может мне быть полезен в этом деле.
Подключил. в качестве точки монтирования настроил: /sys/bus/w1/devices/
настроил датчик. в качестве property задал w1_slave
Датчик нашелся на в качестве показаний дает 83 - первые символы ответа из команды cat 28-031657ba9cff/w1_slave.
В общем что я делаю не так ? или может еще есть способы вывести показания?
-
Всем привет!
Я только начал осваивать ioBroker, да и вообще тему умных домов. Поэтому сразу прошу прощения если сморожу какую нибудь глупость. :)
Имею в наличии OrangePI Plus и датчик температуры ds18b20.
Все подключил как в статье http://smart-home.te.ua/raspberry-pi-ds18b20-2/
Для апельсинки схема немного другая но нужный результат я получил.
Девайс обнаружился показания есть:
root@orange:/sys/bus/w1/devices# cat 28-031657ba9cff/w1_slave 83 01 4b 46 7f ff 0c 10 a2 : crc=a2 YES 83 01 4b 46 7f ff 0c 10 a2 t=24187Вопрос: Как бы мне эти показания завести ioBroker?
Насколько я понимаю OWFS может мне быть полезен в этом деле.
Подключил. в качестве точки монтирования настроил: /sys/bus/w1/devices/
настроил датчик. в качестве property задал w1_slave
Датчик нашелся на в качестве показаний дает 83 - первые символы ответа из команды cat 28-031657ba9cff/w1_slave.
В общем что я делаю не так ? или может еще есть способы вывести показания? `
ПриветПро OrangePI Plus и gpio сказать нечего не могу, но если у тебя в папке по пути /sys/bus/w1/devices/ есть твои датчики то в ioBroker настрой драйвер OWFS на "Локальный OWFS" укажи путь /sys/bus/w1/devices и нажми поиск сенсоров.
-
Все так и делаю
но так не находит
Точнее так находик 2 какихто датчика. Но идентификаторы не совпадают ну и в значениях пусто. `
Давай скриншоты попки и настроек OWFS драйвера.здесь полистай http://forum.iobroker.net/viewtopic.php?f=27&t=3267
-
Почитал. но видимо я не очень в теме. В основном не очень понятно - ключи и т.п.
Делаю так:
Сперва создал один экземпляр драйвера и настроил в ручную так :

Потом второй - в котором как раз нашлось 2 датчика с неизвестными адресами:

Так это выглядит на странице объекты:

Значение температуры там - это начало ответа (см. первый пост)Попробовал отключить датчик. - теперь автоматом находит 1 датчик
Включаю - опять 2 шт. Т.е. драйвер все таки как то реагирует на появление датчика. Правда адрес левый какой то.
Я понял так(но может ошибаюсь):
-
Мастер сети мне не нужен. У меня апельсинка мастер?
-
Сервер owfs я не устанавливаю? или его таки надо ставить?
-
-
Почитал. но видимо я не очень в теме. В основном не очень понятно - ключи и т.п.
Делаю так:
Сперва создал один экземпляр драйвера и настроил в ручную так :1.jpg
Потом второй - в котором как раз нашлось 2 датчика с неизвестными адресами:
2.jpg
Так это выглядит на странице объекты:3.jpg
Значение температуры там - это начало ответа (см. первый пост)
Попробовал отключить датчик. - теперь автоматом находит 1 датчик
Включаю - опять 2 шт. Т.е. драйвер все таки как то реагирует на появление датчика. Правда адрес левый какой то.
Я понял так(но может ошибаюсь):
-
Мастер сети мне не нужен. У меня апельсинка мастер?
-
Сервер owfs я не устанавливаю? или его таки надо ставить? `
Вторая картинка датчики это пример их надо удолять.
Драйвер не знает такой параметр w1-slave, можно подправить код(костыль).
opt/iobroker/node_modules/iobroker.owfs/admin/index.htmlдобавив
'light', 'temperature', 'fasttemp', 'w1-slave', 'set_alarm',после сохранения
cd /opt/iobroker iobroker upload owfs iobroker restart owfsдай скрин папки devices
-
-
Вот содержимое папки devices:
root@orange:/sys/bus/w1/devices# ls 28-031657ba9cff w1_bus_master1 root@orange:/sys/bus/w1/devices#Вот содержимое папки датчика:
root@orange:/sys/bus/w1/devices# cd 28-031657ba9cff root@orange:/sys/bus/w1/devices/28-031657ba9cff# ls driver id name power subsystem uevent w1_slave root@orange:/sys/bus/w1/devices/28-031657ba9cff#костыль прописал. изменений не заметил.
-
Сделал другой костыль.
Написал скрипт и подписался на изменение кривого значения температуры.
Получаю правильное значение и пишу его в другой объект:
on({id: 'owfs.0.wires.temp', change: "ne"}, function (obj) { exec('cat /sys/bus/w1/devices/28-031657ba9cff/w1_slave | grep "t="| cut -f 2 -d "="', function(error, stdout, stderr){ setState("javascript.0.scriptEnabled.testScripts.tempValue", stdout/1000, true); log(error); log(stdout); log(stderr); }) });вроде работает. Но блин это же костыль. разобраться что к чему хотелось бы
-
Сделал другой костыль.
Написал скрипт и подписался на изменение кривого значения температуры.
Получаю правильное значение и пишу его в другой объект:
on({id: 'owfs.0.wires.temp', change: "ne"}, function (obj) { exec('cat /sys/bus/w1/devices/28-031657ba9cff/w1_slave | grep "t="| cut -f 2 -d "="', function(error, stdout, stderr){ setState("javascript.0.scriptEnabled.testScripts.tempValue", stdout/1000, true); log(error); log(stdout); log(stderr); }) });вроде работает. Но блин это же костыль. разобраться что к чему хотелось бы `
Вообще-то то что сейчас сделал, как раз задача owfserver. Ты его установил?Если да, то там надо указывать точку монтирования. Какая у тебя?
-
Во!
Я сервер не устанавливал. Я еще в дном из предидущих постов как раз уточнял надо ли ставить. Но видимо в куче скриншотов мой вопрос затерялся ))))
Думал раз показания идут значит и не надо.
Установлю сервер отпишусь! `
Вопрос только сможет owfserver с gpio работать?Во втором скриншоте ты работал с точкой монтирования, тогда без разницы кто туда пишет. Только драйвер заточен под owfs с порядком папок и документов от него.
-
Пока пытался настроить OWFS чтото сломалось в адаптере.
Выдает ошибки - ENOENT: no such file or directory, scandir
Что может быть? `
Ошибка говорит, что папка не существует. Значит ты ввёл не то имя в настройках или ..Ручками посмотри папку.
-
Вопрос. как правильно поступить в моей ситуации.
Не хочу ставить OWFS сервер. уж больно много он мне не нужного дополнительно ставит. И неизвестно решит ли он как то мои вопросы.
Я выкрутился тем что использую OWFS драйвер. подписываюсь на изменение файла.
Далее я сам файл обрабатываю и пишу в нужный мне объект.
Выглядит как костыль.
Вопрос. Можно ли как то подписаться на изменение файла не используя OWFS драйвер?
-
Вопрос. как правильно поступить в моей ситуации.
Не хочу ставить OWFS сервер. уж больно много он мне не нужного дополнительно ставит. И неизвестно решит ли он как то мои вопросы.
Я выкрутился тем что использую OWFS драйвер. подписываюсь на изменение файла.
Далее я сам файл обрабатываю и пишу в нужный мне объект.
Выглядит как костыль.
Вопрос. Можно ли как то подписаться на изменение файла не используя OWFS драйвер? `
Добавь npm модуль watch в настройках javasciprt.И используй так:
var watch = require('watch'); watch.createMonitor('/sys/bus/w1/devices/28-031657ba9cff', function (monitor) { monitor.on("changed", function (f) { // Handle file changes console.log(f + ' was changed'); }); }); -
Всем привет.
Есть проблема с использованием драйвера OWFS, может кто сталкивался уже…
Мастер сети https://www.ab-log.ru/files/File/Datasheets/DS9490.pdf USBшный подключен в порт платы Cubietruck.
Стик определеяется в системе:
root@cubietruck:~# lsusb Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 002: ID 04fa:2490 Dallas Semiconductor DS1490F 2-in-1 Fob, 1-Wire adapter Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubУстанавливал через apt-get сервер OWFS.
Через systemctl выключил сервисы owserver, owftpd, owhttpd
Запускаю вручную строкой
root@cubietruck:~# owfs -u /mnt/1wireЗапускается и в директории /mnt/1wire появляются датчики DS18B20 10 штук, что у меня в сети.
root@cubietruck:~# cd /mnt/1wire/ root@cubietruck:/mnt/1wire# ls -l total 0 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF17BB641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF2A9F641503 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF38DD641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FF81E3641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFAB9D641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFACA8641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFC3B4641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFCBCD641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFDAA8641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 28.FFF593641501 drwxrwxrwx 1 root root 4096 Jan 26 18:39 81.3E3332000000 drwxr-xr-x 1 root root 4096 Jan 26 14:52 alarm drwxr-xr-x 1 root root 4096 Jan 26 14:52 bus.1 drwxr-xr-x 1 root root 4096 Jan 26 14:52 settings drwxrwxrwx 1 root root 4096 Jan 26 18:39 simultaneous drwxr-xr-x 1 root root 4096 Jan 26 14:52 statistics drwxr-xr-x 1 root root 4096 Jan 26 14:52 structure drwxr-xr-x 1 root root 4096 Jan 26 14:52 system drwxr-xr-x 1 root root 4096 Jan 26 14:52 uncachedПо этой дериктории по ssh перещаюсь с тормозами не понятными, "зависает" бывает секунд на 10-30…
Проблема в том, что ioBroker драйвер OWFS походу не всегда может получить доступ к файлам.
В логах появляются ошибки типа:
owfs.0 2018-01-26 18:29:29.205 warn Cannot read value of /mnt/1wire/28.FFF593641501/temperature: Error: EINVAL: invalid argument, read owfs.0 2018-01-26 18:27:57.704 warn Cannot read value of /mnt/1wire/28.FF17BB641501/temperature: Error: EINVAL: invalid argument, read owfs.0 2018-01-26 18:24:58.391 warn Cannot read value of /mnt/1wire/28.FF2A9F641503/temperature: Error: EINVAL: invalid argument, read owfs.0 2018-01-26 18:19:11.860 warn Cannot read value of /mnt/1wire/28.FF17BB641501/temperature: Error: EINVAL: invalid argument, read owfs.0 2018-01-26 18:16:09.019 warn Cannot read value of /mnt/1wire/28.FF38DD641501/temperature: Error: EINVAL: invalid argument, readИногда OWFS совсем отваливается и в директории /mnt/1wire пусто, тогда в логах ioBroker следующее:
2018-01-26 00:00:20.438 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:00:30.986 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:00:40.455 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:00:50.897 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:01:00.464 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:01:10.907 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:01:20.491 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:01:31.106 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:01:40.495 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:01:50.957 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:02:00.518 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:02:10.957 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:02:20.526 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:02:31.066 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:02:40.540 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:02:50.978 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:03:00.555 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:03:10.997 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:03:20.568 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:03:31.008 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:03:40.573 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:03:51.017 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:04:00.591 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:04:11.037 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature' 2018-01-26 00:04:20.608 - .[33mwarn.[39m: owfs.0 Cannot read value of /mnt/1wire/28.DC0736050000/temperature: Error: ENOENT: no such file or directory, open '/mnt/1wire/28.DC0736050000/temperature'Как продиагностировать OWFS, я понимаю, что проблема не в ioBroker?
Может я не правильно настроил/запустил/установил?
Настройки драйвера OWFS на скриншоте.
1238_pic_313.jpg -
У меня работает так:
Запущен сервис owserver````
ps ax|grep owfs
/usr/bin/owserver -uall -p 4304 --pid-file /var/run/owfs/owserver.pidИ такие настройки. Галку локальный IP, почему не помню не поставил. IoBroker и OWFS на одной машине. [894_2018-01-26_20-17-57.png](/assets/uploads/files/894_2018-01-26_20-17-57.png)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden