NEWS
Parser Adapter
-
Помогите разобраться с данным адаптером. Требуется получить данные с температурных датчиков. Есть web страница от Ардуины, на нее заходим по 192.168.25.86/dev и получаем такой результат
T0:2888ADD702000042:23.06;
T1:2814A5D7020000B0:23.62;
T2:2872267B0400002E:7.38;
T3:28CA1A3B040000CD:21.94;
T4:28E6D5D7020000C1:-8.94;
T5:2816B47A0400008A:19.94;
T6:282B86D7020000CF:26.44;
T7:28AB9DD702000029:14.75;
создаю RegEx 28E6D5D7020000C1:(.+?);
и по логике должен получить -8.94….... но НЕ ПОЛУЧАЕТСЯ.....
как и где и что я делаю не так, в Мажордоме это нормально работает
-
неа, не растет какос…. Не показывает температуру. т.е. вообще ни чего не показывает
1308___________.jpg -
И еще в таком варианте рисует ошибку
parser.0 2017-01-31 21:39:00.229 error Cannot read link "http://192.168.0.89/getdev": Error: Parse Error
а если сделать так
тогда parser.0 2017-01-31 21:40:33.533 info starting. Version 0.1.1 in C:/ioBroker/node_modules/iobroker.parser, node: v0.10.25
тогда ошибки нет, но и результата нет
-
И еще в таком варианте рисует ошибку
parser.0 2017-01-31 21:39:00.229 error Cannot read link "http://192.168.0.89/getdev": Error: Parse Error
а если сделать так
тогда parser.0 2017-01-31 21:40:33.533 info starting. Version 0.1.1 in C:/ioBroker/node_modules/iobroker.parser, node: v0.10.25
тогда ошибки нет, но и результата нет `
nodejs обнови, совсем версия старая -
Версию обновил, результат тот же, не кажет темературу
-
Версию обновил, результат тот же, не кажет темературу `
В логе что сейчас? -
эт тока вечером…..
но на сколько я помню - ошибок нет.
-
ну вообщем - не работает
В логе вот это
parser.0 2017-02-01 23:05:46.241 info starting. Version 0.1.1 in C:/ioBroker/node_modules/iobroker.parser, node: v0.10.25
host.GoldFish2 2017-02-01 23:05:45.851 info instance system.adapter.parser.0 started with pid 656
host.GoldFish2 2017-02-01 23:05:45.804 info object change system.adapter.parser.0
host.GoldFish2 2017-02-01 23:05:33.415 info object change system.adapter.parser.0
host.GoldFish2 2017-02-01 23:05:23.679 info instance system.adapter.parser.0 terminated with code null ()
host.GoldFish2 2017-02-01 23:05:23.679 warn instance system.adapter.parser.0 terminated due to SIGTERM
host.GoldFish2 2017-02-01 23:05:23.679 info stopInstance system.adapter.parser.0 killing pid 2164
host.GoldFish2 2017-02-01 23:05:23.679 info stopInstance system.adapter.parser.0
host.GoldFish2 2017-02-01 23:05:23.679 info object change system.adapter.parser.0
-
И по чему вот такое работает:
https://darksky.net/forecast/43.3969,132.1887/si24/de temp swip">(-?\d+)˚<
-
parser.0 2017-02-01 23:23:53.900 error parser.0 Cannot read link "http://192.168.0.89/state": Error: Parse Error
parser.0 2017-02-01 23:23:48.861 error parser.0 Cannot read link "http://192.168.0.89/state": Error: Parse Error
parser.0 2017-02-01 23:23:43.776 error parser.0 Cannot read link "http://192.168.0.89/state": Error: Parse Error
parser.0 2017-02-01 23:23:38.737 error parser.0 Cannot read link "http://192.168.0.89/state": Error: Parse Error
parser.0 2017-02-01 23:23:33.667 error parser.0 Cannot read link "http://192.168.0.89/state": Error: Parse Error
fа если в парсере вбить http://192.168.0.89/state/ - тогда этой ошибки не будет но и значения нет
-
и еще вот такое есть:
parser.0 2017-02-01 23:29:58.630 error at IncomingMessage.g (events.js:180:16)
parser.0 2017-02-01 23:29:58.630 error at IncomingMessage. (C:\ioBroker\node_modules\iobroker.parser\node_modules\request\request.js:1001:12)
parser.0 2017-02-01 23:29:58.630 error at Request.EventEmitter.emit (events.js:95:17)
parser.0 2017-02-01 23:29:58.630 error at Request. (C:\ioBroker\node_modules\iobroker.parser\node_modules\request\request.js:1081:10)
parser.0 2017-02-01 23:29:58.630 error at Request.EventEmitter.emit (events.js:98:17)
parser.0 2017-02-01 23:29:58.630 error at Request.self.callback (C:\ioBroker\node_modules\iobroker.parser\node_modules\request\request.js:186:22)
parser.0 2017-02-01 23:29:58.630 error at Request._callback (C:\ioBroker\node_modules\iobroker.parser\main.js:214:29)
parser.0 2017-02-01 23:29:58.630 error at analyseDataForStates (C:\ioBroker\node_modules\iobroker.parser\main.js:122:5)
parser.0 2017-02-01 23:29:58.630 error at _analyseDataForStates (C:\ioBroker\node_modules\iobroker.parser\main.js:104:9)
parser.0 2017-02-01 23:29:58.630 error at analyseData (C:\ioBroker\node_modules\iobroker.parser\main.js:138:27)
parser.0 2017-02-01 23:29:58.630 error TypeError: Cannot call method 'exec' of undefined
parser.0 2017-02-01 23:29:58.630 error uncaught exception: Cannot call method 'exec' of undefined
parser.0 2017-02-01 23:27:10.091 info starting. Version 0.1.1 in C:/ioBroker/node_modules/iobroker.parser, node: v0.10.25
тока не могу понять с чем это связано
-
и еще вот такое есть:
parser.0 2017-02-01 23:29:58.630 error at IncomingMessage.g (events.js:180:16)
parser.0 2017-02-01 23:29:58.630 error at IncomingMessage. (C:\ioBroker\node_modules\iobroker.parser\node_modules\request\request.js:1001:12)
parser.0 2017-02-01 23:29:58.630 error at Request.EventEmitter.emit (events.js:95:17)
parser.0 2017-02-01 23:29:58.630 error at Request. (C:\ioBroker\node_modules\iobroker.parser\node_modules\request\request.js:1081:10)
parser.0 2017-02-01 23:29:58.630 error at Request.EventEmitter.emit (events.js:98:17)
parser.0 2017-02-01 23:29:58.630 error at Request.self.callback (C:\ioBroker\node_modules\iobroker.parser\node_modules\request\request.js:186:22)
parser.0 2017-02-01 23:29:58.630 error at Request._callback (C:\ioBroker\node_modules\iobroker.parser\main.js:214:29)
parser.0 2017-02-01 23:29:58.630 error at analyseDataForStates (C:\ioBroker\node_modules\iobroker.parser\main.js:122:5)
parser.0 2017-02-01 23:29:58.630 error at _analyseDataForStates (C:\ioBroker\node_modules\iobroker.parser\main.js:104:9)
parser.0 2017-02-01 23:29:58.630 error at analyseData (C:\ioBroker\node_modules\iobroker.parser\main.js:138:27)
parser.0 2017-02-01 23:29:58.630 error TypeError: Cannot call method 'exec' of undefined
parser.0 2017-02-01 23:29:58.630 error uncaught exception: Cannot call method 'exec' of undefined
parser.0 2017-02-01 23:27:10.091 info starting. Version 0.1.1 in C:/ioBroker/node_modules/iobroker.parser, node: v0.10.25
тока не могу понять с чем это связано `
node: v0.10.25 ….. так и не обновил node js? -
Ну похоже что обновил, но не то. Как НОДУ обновить….
С моими хотелками парсера похоже проблемы в коде страницы. Не могу понять.... вот скрины... Может сможешь подсказать куда рыть...
1308_____________.jpg -
и второй
1308_______.jpg -
Ну похоже что обновил, но не то. Как НОДУ обновить…. `
Если Debianapt-get --purge remove node apt-get --purge remove nodejs apt-get autoremove rebootapt-get update apt-get upgrade apt-get install curl build-essential curl -sL https://deb.nodesource.com/setup_4.x | bash - apt-get install -y nodejs reboot -
А если это Windows??
-
Подниму тему. Имею аналогичную проблему при попытке получить статичный файл через веб-морду OpenWrt (веб-сервер uhttpd).
На роутере есть текстовый файлик со значениями, ссылка вида http://192.168.0.1/tmp/lastvolt.txt
curl'ом все прекрасно читается, а вот parser adapter ругается, говорит:
Cannot read link "http://192.168.0.1/tmp/lastvolt.txt": Error: Parse ErrorЗакидываю этот файлик на сервер в интернете - все прекрасно читается и значения получаются.
Запрашиваю веб-морду роутера и пытаюсь её пропарсить:
Адрес: http://192.168.0.1/cgi-bin/luci
Regex: Powered by LuCI ([\d.]+)
Все прекрасно запрашивается и парсится. WGET'ом скачиваю эту страницу в файл и кладу в роутер, parser adapter опять ругается той же ошибкой.
Посмотрел заголовки, которые приходят от серверов:
Запрос веб-морды роутера, удачный парсинг.
curl --head http://192.168.0.1/cgi-bin/luci HTTP/1.1 200 OK Connection: close Transfer-Encoding: chunked Content-Type: text/html Cache-Control: no-cache Expires: 0Запрос нужного файлика с сайта в интернете, удачный парсинг.
curl --head http://site.ru/lastvolt.txt HTTP/1.1 200 OK Server: nginx Date: Mon, 22 Jan 2018 15:30:54 GMT Content-Type: text/plain Content-Length: 66 Last-Modified: Mon, 22 Jan 2018 14:54:48 GMT Connection: keep-alive ETag: "5a65fb38-42" Expires: Mon, 22 Jan 2018 21:01:00 GMT Cache-Control: max-age=19806 Accept-Ranges: bytesЗапрос нужного файлика с роутера, парсинг не получился.
curl --head http://192.168.0.1/tmp/lastvolt.txt HTTP/1.1 200 OK Connection: close ETag: "6ea9-42-5a6601c5" Last-Modified: Mon, 22 Jan 2018 15:22:45 GMT Date: Mon, 22 Jan 2018 15:22:49 GMT Content-Type: text/plain Content-Length: 66Похоже, проблема при получении страницы нодой. К сожалению в ноде не силен и не могу проверить что происходит на уровне кода.
-
Нашел, похоже, в чём проблема https://github.com/request/request/issues/2091
Видать сервер отдает немного кривые заголовки и NODE.request их не пропускает.
Что же делать-то? В сфере умных домов куча всяких роутеров, ардуин и пр. с кривыми заголовками.
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