NEWS
1Wire и OWFS
-
Сделал другой костыль.
Написал скрипт и подписался на изменение кривого значения температуры.
Получаю правильное значение и пишу его в другой объект:
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