NEWS
Разные ошибки
-
В конфигурации из нескольких серверов, когда перезагружаешь основной сервер, а дополнительные не трогаешь, в лог сыпятся ошибки:
! host-raspberrypi 2016-04-13 17:16:18 error instance system.adapter.simple-api.0 terminated with code 7 (Adapter already running)
! host-raspberrypi 2016-04-13 17:16:17 info Restart adapter system.adapter.rpi.0 because enabled
! host-raspberrypi 2016-04-13 17:16:17 error instance system.adapter.rpi.0 terminated with code 7 (Adapter already running)
до тех пор пока вторичный сервер не перезагрузишь. Ошибки сыпятся абсолютно по всем драйверам запущенным на вторичном сервере. Хотя работают они отлично и данные передают. Может стоит определять если вторичный сервер работает и драйвера на нем запущенны, то может не стоит пытаться их перезапустить? -
Ошибка с фалом версий
Server-PC 2016-05-19 23:17:07 warn host.Server-PC warning: Cannot read "http://download.iobroker.net/sources-dist.json" Server-PC 2016-05-19 23:17:07 info host.Server-PC Update repository "fast-online" under "http://download.iobroker.net/sources-dist.json"
Соответственно в админке показывает не все драйвера.
266_err.txt -
Аналогично, так же не работает.
-
Плюс один с такой проблемой
-
поправил
-
Обновления сегодня прошли не совсем гладко, все драйвера выпали с ошибками
! Cubian 30 22:42:53.230 info host.Cubian Restart adapter system.adapter.javascript.0 because enabled
! Cubian 30 22:42:53.228 error host.Cubian instance system.adapter.javascript.0 terminated with code 7 (Adapter already running)
! Cubian 30 22:42:50.800 info host.Cubian Do not restart adapter system.adapter.history.0 because disabled or deleted
! Cubian 30 22:42:50.791 error host.Cubian instance system.adapter.history.0 terminated with code 3 (Adapter disabled or invalid config)
! Cubian 30 22:42:46.641 info host.Cubian instance system.adapter.javascript.0 started with pid 3528
Вручную остановка и запуск драйвера поправили ошибку, но странно давно такие ошибки не выскакивали. -
Начал падать в цикле javascript:
! 2016-06-14 11:01:07.181 - error: uncaught exception: connect EHOSTUNREACH
! 2016-06-14 11:01:07.185 - error: Error: connect EHOSTUNREACH
! at errnoException (net.js:905:11)
! at Object.afterConnect [as oncomplete] (net.js:896:19)
! 2016-06-14 11:01:07.197 - error: uncaught exception: socket hang up
! 2016-06-14 11:01:07.206 - error: Error: socket hang up
! at createHangUpError (http.js:1475:15)
! at Socket.socketCloseListener (http.js:1525:23)
! at Socket.emit (events.js:117:20)
! at TCP.close (net.js:466:12)
! 2016-06-14 11:01:07.369 - info: javascript.0 terminating
! 2016-06-14 11:01:07.526 - error: host.Cubian instance system.adapter.javascript.0 terminated with code 0 (OK)
! 2016-06-14 11:01:07.527 - info: host.Cubian Restart adapter system.adapter.javascript.0 because enabled
Анализ ситуации показал что помогает остановка одного из скриптов. Причем после запуска скрипта все работает до перезагрузки…Кусок который может вызывать ошибку выглядит так:
! var request = require('request');
! var temp;
! var mega3 = 'http://192.168.15.23/sec/';
! /**********************/
! createState("balcony2.floor.heat",getState("megad.3.p11_P11").val);
! on({id: 'javascript.0.balcony2.floor.heat', change: 'any'}, function (obj) {
! if (obj.newState.val === true) {
! request(mega3 + '&cmd=11:1');
! }else
! {
! request(mega3 + '&cmd=11:0');
! }
! });Я так думаю, так как в логе еще есть:
! 2016-06-14 11:02:50.586 - warn: megad.3 Got error by request to 192.168.15.23: connect EHOSTUNREACH
! 2016-06-14 11:02:50.588 - warn: megad.3 connect EHOSTUNREACHРаньше при отключение контролеров Меги ничего не падало…
-
Начал падать в цикле javascript:
! 2016-06-14 11:01:07.181 - error: uncaught exception: connect EHOSTUNREACH
! 2016-06-14 11:01:07.185 - error: Error: connect EHOSTUNREACH
! at errnoException (net.js:905:11)
! at Object.afterConnect [as oncomplete] (net.js:896:19)
! 2016-06-14 11:01:07.197 - error: uncaught exception: socket hang up
! 2016-06-14 11:01:07.206 - error: Error: socket hang up
! at createHangUpError (http.js:1475:15)
! at Socket.socketCloseListener (http.js:1525:23)
! at Socket.emit (events.js:117:20)
! at TCP.close (net.js:466:12)
! 2016-06-14 11:01:07.369 - info: javascript.0 terminating
! 2016-06-14 11:01:07.526 - error: host.Cubian instance system.adapter.javascript.0 terminated with code 0 (OK)
! 2016-06-14 11:01:07.527 - info: host.Cubian Restart adapter system.adapter.javascript.0 because enabled
Анализ ситуации показал что помогает остановка одного из скриптов. Причем после запуска скрипта все работает до перезагрузки…Кусок который может вызывать ошибку выглядит так:
! var request = require('request');
! var temp;
! var mega3 = 'http://192.168.15.23/sec/';
! /**********************/
! createState("balcony2.floor.heat",getState("megad.3.p11_P11").val);
! on({id: 'javascript.0.balcony2.floor.heat', change: 'any'}, function (obj) {
! if (obj.newState.val === true) {
! request(mega3 + '&cmd=11:1');
! }else
! {
! request(mega3 + '&cmd=11:0');
! }
! });Я так думаю, так как в логе еще есть:
! 2016-06-14 11:02:50.586 - warn: megad.3 Got error by request to 192.168.15.23: connect EHOSTUNREACH
! 2016-06-14 11:02:50.588 - warn: megad.3 connect EHOSTUNREACHРаньше при отключение контролеров Меги ничего не падало… `
Засунь request в try catch -
Ошибка с фалом версий
Server-PC 2016-05-19 23:17:07 warn host.Server-PC warning: Cannot read "http://download.iobroker.net/sources-dist.json" Server-PC 2016-05-19 23:17:07 info host.Server-PC Update repository "fast-online" under "http://download.iobroker.net/sources-dist.json"
Соответственно в админке показывает не все драйвера. `
Опять не пересобрался http://download.iobroker.net/sources-dist.json
-
Ошибка с фалом версий
Server-PC 2016-05-19 23:17:07 warn host.Server-PC warning: Cannot read "http://download.iobroker.net/sources-dist.json" Server-PC 2016-05-19 23:17:07 info host.Server-PC Update repository "fast-online" under "http://download.iobroker.net/sources-dist.json"
Соответственно в админке показывает не все драйвера. `
Опять не пересобрался http://download.iobroker.net/sources-dist.json `
Сейчас норм? -
Сейчас норм? `
Да. Спасибо за оперативность. -
Планируется ли как-то исправить ошибку Adapter already running
(http://forum.iobroker.net/viewtopic.php?p=23712#p23712)
которая присутствует в мультихост конфигурациях?
Дело в том, что если например при пропадании и появлении электроэнергии
происходит перезагрузка мастера и слейва - мастер в основном
загружается немного позже, так как на нем больше сервисов.
И начинает передергивать javascript адаптер слейва, который уже
благополучно загрузился и работает.
Получается что-то типа (на слейве):
root@art1:~# ps ax | grep io ... 656 ? Ssl 9:21 iobroker.js-controller 7188 ? Sl 58:34 io.javascript.1 9353 ? Sl 0:43 io.javascript.1 9423 ? Sl 0:40 io.javascript.1 10397 ? Sl 0:25 io.javascript.1 11582 pts/0 S+ 0:00 grep io
Здесь видно, что мастером запущено несколько экземпляров javascript на слейве.
При этом хаотически щелкают реле и т.д. так как разные экземпляры
javascript слейва мешают один другому.
Здесь возможны два варианта решения:
1. сначала проверить, что не запущено на слейве и лишь потом запускать
(здесь возможно повторение той же ошибки, если адаптер на слейве запускается с небольшой задержкой)
2. сначала все адаптеры на слейве погасить с мастера, и лишь потом
запустить, как говорится с чистого листа.
-
Планируется ли как-то исправить ошибку Adapter already running
(http://forum.iobroker.net/viewtopic.php?p=23712#p23712)
которая присутствует в мультихост конфигурациях?
Дело в том, что если например при пропадании и появлении электроэнергии
происходит перезагрузка мастера и слейва - мастер в основном
загружается немного позже, так как на нем больше сервисов.
И начинает передергивать javascript адаптер слейва, который уже
благополучно загрузился и работает.
Получается что-то типа (на слейве):
root@art1:~# ps ax | grep io ... 656 ? Ssl 9:21 iobroker.js-controller 7188 ? Sl 58:34 io.javascript.1 9353 ? Sl 0:43 io.javascript.1 9423 ? Sl 0:40 io.javascript.1 10397 ? Sl 0:25 io.javascript.1 11582 pts/0 S+ 0:00 grep io
Здесь видно, что мастером запущено несколько экземпляров javascript на слейве.
При этом хаотически щелкают реле и т.д. так как разные экземпляры
javascript слейва мешают один другому.
Здесь возможны два варианта решения:
1. сначала проверить, что не запущено на слейве и лишь потом запускать
(здесь возможно повторение той же ошибки, если адаптер на слейве запускается с небольшой задержкой)
2. сначала все адаптеры на слейве погасить с мастера, и лишь потом
запустить, как говорится с чистого листа. `
Планируется… Но пока планирую я один.Склоняюсь ко 2му варианту. Если теряется связь с мастером, то все инстанции погасить. И ждать, когда связь снова появится.
-
Да, я полностью понимаю Вашу загруженность!
Просто обращаю внимание на, как мне кажется существенный недостаток,
который не дает возможности работать полноценно в мультихост режиме.
Здесь мне тоже кажется предпочтительнее второй вариант.
При существующем положении вещей вынужден уходя на работу отключать
javascript на слейве - ибо непонятно, что он сделает в мое отсутствие при подобном сбое.
–-----
Еще, если будет возможность (и время) - обратите внимание на
возможность переключения драйвера OWFS в локальный режим
(http://forum.iobroker.net/viewtopic.php?p=32357#p32357).
То-есть предоставить пользователю возможность выбора - или локально или через owserver
(на этапе конфигурации адаптера).
В локальном режиме не только в десятки раз увеличивается скорость работы в owfs
но и появляется возможность остановить ненужные сервисы owserver и owhttpd,
что освобождает так необходимые ресурсы на маломощных серверах типа Raspberry Pi.
-
Да, я полностью понимаю Вашу загруженность!
Просто обращаю внимание на, как мне кажется существенный недостаток,
который не дает возможности работать полноценно в мультихост режиме.
Здесь мне тоже кажется предпочтительнее второй вариант.
При существующем положении вещей вынужден уходя на работу отключать
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