NEWS
Основные особенности системы
-
в адартере "javascript" в файле "javascript.js" заменил вызов функции "setState"
adapter.setState(id, state, function () { if (typeof callback === 'function') callback(); });на вызов "setForeignState"
adapter.setForeignState(id, { val: state }, function () { if (typeof callback === 'function') callback(); });и````
getState: function (id) {
return states[id];
}заменил на```` getState: function (id) { return states[id].val; }Скрипт начал правильно работать. `
Спасибо, надо будет исправить. -
@Bluefox:`
Не смотрели в сторону https://github.com/tavendo/WAMP - Web Application Messaging Protocol?Что интересного:
Поддерживает asynchronous messaging patterns: publish-subscribe и RPC.
В качестве транспорта использует Websocket+JSON или TCP+MsgPack.
Есть клиентская библиотека для JavaScript из браузера.
Сложность базового профиля сопоставима с MQTT. Advanced профиль содержит кучу расширений.
Удобно использовать для связи между плагинами и на web-интерфейс данные можно напрямую отдавать.
-
@X13:@Bluefox:`
Не смотрели в сторону https://github.com/tavendo/WAMP - Web Application Messaging Protocol?Что интересного:
Поддерживает asynchronous messaging patterns: publish-subscribe и RPC.
В качестве транспорта использует Websocket+JSON или TCP+MsgPack.
Есть клиентская библиотека для JavaScript из браузера.
Сложность базового профиля сопоставима с MQTT. Advanced профиль содержит кучу расширений.
Удобно использовать для связи между плагинами и на web-интерфейс данные можно напрямую отдавать. `
Спасибо за подсказку. Интересный протокол.Но время будет только после драйвера визуализации. (ioBroker.vis)
291_offset.png -
Странные записи в админке вкладка лог
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <– 192.168.55.3:59445 websocket connected
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io: handshake authorized
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- 192.168.55.3:50043 websocket disconnected
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io: transport end (undefined)
! controller NaN-aN-aN aN:aN:aN info Update repository "default" under "conf/sources-dist.json"
! node-red.0 NaN-aN-aN aN:aN:aN error 14 Dec 23:34:39 - ------------------------------------------
! node-red.0 NaN-aN-aN aN:aN:aN error 14 Dec 23:34:39 - [25-serial.js] Error: Cannot find module 'serialport'
! node-red.0 NaN-aN-aN aN:aN:aN error 14 Dec 23:34:39 - [36-rpi-gpio.js] Info : Ignoring Raspberry Pi specific node.
! node-red.0 NaN-aN-aN aN:aN:aN error 14 Dec 23:34:39 - [35-arduino.js] Error: Cannot find module 'arduino-firmata'
! node-red.0 NaN-aN-aN aN:aN:aN info starting. Version 0.0.7
! controller NaN-aN-aN aN:aN:aN info instance system.adapter.node-red.0 started with pid 3358
! socketio.0 NaN-aN-aN aN:aN:aN info socket.io server listening on port 8084
! socketio.0 NaN-aN-aN aN:aN:aN info starting. Version 0.0.4
! controller NaN-aN-aN aN:aN:aN info instance system.adapter.socketio.0 started with pid 3347
! history.0 NaN-aN-aN aN:aN:aN info starting. Version 0.0.7
непонятно что это NaN-aN-aN aN:aN:aN вместо таймстампа
291_tabelle.png
291_before.png -
Странные записи в админке вкладка лог
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <– 192.168.55.3:59445 websocket connected
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io: handshake authorized
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- 192.168.55.3:50043 websocket disconnected
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io: transport end (undefined)
! controller NaN-aN-aN aN:aN:aN info Update repository "default" under "conf/sources-dist.json"
! node-red.0 NaN-aN-aN aN:aN:aN error 14 Dec 23:34:39 - ------------------------------------------
! node-red.0 NaN-aN-aN aN:aN:aN error 14 Dec 23:34:39 - [25-serial.js] Error: Cannot find module 'serialport'
! node-red.0 NaN-aN-aN aN:aN:aN error 14 Dec 23:34:39 - [36-rpi-gpio.js] Info : Ignoring Raspberry Pi specific node.
! node-red.0 NaN-aN-aN aN:aN:aN error 14 Dec 23:34:39 - [35-arduino.js] Error: Cannot find module 'arduino-firmata'
! node-red.0 NaN-aN-aN aN:aN:aN info starting. Version 0.0.7
! controller NaN-aN-aN aN:aN:aN info instance system.adapter.node-red.0 started with pid 3358
! socketio.0 NaN-aN-aN aN:aN:aN info socket.io server listening on port 8084
! socketio.0 NaN-aN-aN aN:aN:aN info starting. Version 0.0.4
! controller NaN-aN-aN aN:aN:aN info instance system.adapter.socketio.0 started with pid 3347
! history.0 NaN-aN-aN aN:aN:aN info starting. Version 0.0.7
непонятно что это NaN-aN-aN aN:aN:aN вместо таймстампа `
а как это выглядит в log/iobroker.log ?? -
как не странно ,нормально ,такие траблы только в web log
! 3347
! 2014-12-14 23:34:27.312 - info: socketio.0 starting. Version 0.0.4
! 2014-12-14 23:34:27.337 - info: socketio.0 socket.io server listening on port 8084
! 2014-12-14 23:34:28.907 - info: controller instance system.adapter.node-red.0 started with pid 3358
! 2014-12-14 23:34:29.397 - info: node-red.0 starting. Version 0.0.7
! 2014-12-14 23:34:39.385 - error: node-red.0 14 Dec 23:34:39 - [35-arduino.js] Error: Cannot find module 'arduino-firmata'
! 2014-12-14 23:34:39.386 - error: node-red.0 14 Dec 23:34:39 - [36-rpi-gpio.js] Info : Ignoring Raspberry Pi specific node.
! 14 Dec 23:34:39 - [25-serial.js] Error: Cannot find module 'serialport'
! 14 Dec 23:34:39 - –----------------------------------------
Маленько понаблюдал, если не находиться на вкладке лог в админке то пишет нон-но и тд.когда переходишь на вкладку лог начинает отображать таймстамп
! SmartHome 2014-12-16 19:40:48 info controller Restart adapter system.adapter.admin.0 because enabled
! SmartHome 2014-12-16 19:40:47 info controller instance system.adapter.admin.0 started with pid 11800
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <– readFile dashui-views.json
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- getIndex
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- getObjects
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- touchFile www/dashui/css/dashui-user.css
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- getDat -
как не странно ,нормально ,такие траблы только в web log
! 3347
! 2014-12-14 23:34:27.312 - info: socketio.0 starting. Version 0.0.4
! 2014-12-14 23:34:27.337 - info: socketio.0 socket.io server listening on port 8084
! 2014-12-14 23:34:28.907 - info: controller instance system.adapter.node-red.0 started with pid 3358
! 2014-12-14 23:34:29.397 - info: node-red.0 starting. Version 0.0.7
! 2014-12-14 23:34:39.385 - error: node-red.0 14 Dec 23:34:39 - [35-arduino.js] Error: Cannot find module 'arduino-firmata'
! 2014-12-14 23:34:39.386 - error: node-red.0 14 Dec 23:34:39 - [36-rpi-gpio.js] Info : Ignoring Raspberry Pi specific node.
! 14 Dec 23:34:39 - [25-serial.js] Error: Cannot find module 'serialport'
! 14 Dec 23:34:39 - –----------------------------------------
Маленько понаблюдал, если не находиться на вкладке лог в админке то пишет нон-но и тд.когда переходишь на вкладку лог начинает отображать таймстамп
! SmartHome 2014-12-16 19:40:48 info controller Restart adapter system.adapter.admin.0 because enabled
! SmartHome 2014-12-16 19:40:47 info controller instance system.adapter.admin.0 started with pid 11800
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <– readFile dashui-views.json
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- getIndex
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- getObjects
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- touchFile www/dashui/css/dashui-user.css
! legacy.0 NaN-aN-aN aN:aN:aN info socket.io <-- getDat `
Firefox не умеет делать объекты Date из строчек ("2014-12-12 04:05:06"), а chrome может.. Пофиксил.Спасибо за баг. :D
-
На немецкой ветке я уже некоторое время описываю новые возможности, которые появляются в ioBroker. Т.к. на русской ветке народ уже тоже поддтянулся, начну описывать и здесь.
-
при установке riсkshaw все дополнительные драйвера активируются и настраиваются автоматом. По идее, если активировать историю у состояний, то графики должны заработать.
-
при редактировании настроек истории появилась возможность настроить сразу несколько объектов одновременно. Для этого надо отфильтровать объекты на закладке "Объекты" (например ввести temperature) и потом нажать сверху справа кнопку с часами в строке с фильтром.
-
Появилась возможность распределить драйвера между несколькими ioBroker системами. Например к центральной системе (cubie/banana) подключить малину или windows PC на котором бежит node-red с owfs и датчиком температуры.
Для этого надо установить обычные две ioBroker системы на устройствах и потом на второстепенной выполнить в консоли: "node iobroker setup custom"
Type of objects DB [file, couch, redis], default [file]: просто нажать ENTER Host of objects DB(file), default[127.0.0.1]: ввести IP адрес головной системы или DNS имя (например "cubie" или "192.168.1.100") Port of objects DB(file), default[9001]: просто нажать ENTER Type of states DB [file, redis], default [file]:просто нажать ENTER Host of states DB (file), default[cubie]:просто нажать ENTER Port of states DB (file), default[9000]:просто нажать ENTERПосле перезапуска второй системы в админке "cubie:8081" должен появится второй хост.
После этого можно перейти на закладку Драйвера, выбрать в селекторе сверху нужный хост и установить необходимый драйвер. Он должен встать на выбранном хосте. Позже хост для драйвера можно поменять в "Настройках драйверов".
-
-
- Появилась возможность распределить драйвера между несколькими ioBroker системами. Например к центральной системе (cubie/banana) подключить малину или windows PC на котором бежит node-red с owfs и датчиком температуры.
Для этого надо установить обычные две ioBroker системы на устройствах и потом на второстепенной выполнить в консоли: "node iobroker setup custom"
Type of objects DB [file, couch, redis], default [file]: просто нажать ENTER Host of objects DB(file), default[127.0.0.1]: ввести IP адрес головной системы или DNS имя (например "cubie" или "192.168.1.100") Port of objects DB(file), default[9001]: просто нажать ENTER Type of states DB [file, redis], default [file]:просто нажать ENTER Host of states DB (file), default[cubie]:просто нажать ENTER Port of states DB (file), default[9000]:просто нажать ENTER ```` `Не получилось:
root@orangepiplus2e:/opt/iobroker# node iobroker setup custom /opt/iobroker/iobroker:1 (function (exports, require, module, __filename, __dirname) { node node_modules/iobroker.js-controller/iobroker.js $1 $2 $3 $4 $5 ^^^^^^^^^^^^ SyntaxError: Unexpected identifier at createScript (vm.js:80:10) at Object.runInThisContext (vm.js:139:10) at Module._compile (module.js:616:28) at Object.Module._extensions..js (module.js:663:10) at Module.load (module.js:565:32) at tryModuleLoad (module.js:505:12) at Function.Module._load (module.js:497:3) at Function.Module.runMain (module.js:693:10) at startup (bootstrap_node.js:191:16) at bootstrap_node.js:612:3 root@orangepiplus2e:/opt/iobroker# -
Так что делать-то и как быть? Не прокатывает мультихост:
pi@ioBroker-RasPi:~ $ node iobroker setup custom internal/modules/cjs/loader.js:583 throw err; ^ Error: Cannot find module '/home/pi/iobroker' at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15) at Function.Module._load (internal/modules/cjs/loader.js:507:25) at Function.Module.runMain (internal/modules/cjs/loader.js:742:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3) -
Нашёл инструкции. Имеем два iobroker на разных устройствах. Одно выбираем как мастер, другое будет слейв. Поехали:
На мастере вводим:
sudo iobroker multihost enableПросит ввести кодовую фразу, вводим, повторяем ввод.
Теперь идём на слейв:
посмотрим, какие мастеры видны
команда
sudo iobroker multihost browseответ:
root@ioBroker-OPi2E:~# sudo iobroker multihost browse 1 | 192.168.1.44 | host | 192.168.1.44 | "authentication required" root@ioBroker-OPi2E:~#Отлично! Мы увидели мастера! Коннектимся к мему:
root@ioBroker-OPi2E:~# sudo iobroker multihost connect 1 | 192.168.1.44 | host | 192.168.1.44 | "authentication required" Please select host [1]: 1 Enter secret phrase for connection: ******** IP Address of the host is 127.0.0.1\. It accepts no connections. Please change. root@ioBroker-OPi2E:~#И.. Как видим, вылетает ошибка: IP Address of the host is 127.0.0.1. It accepts no connections. Please change.
Что делать?? Хм… Тут http://www.iobroker.net/docu/?page_id=3068&lang=de нагуглил следующее:
Надо сделать так
` > nano /etc/redis/redis.confСодержащаяся строка
bind 127.0.0.1
должен быть дополнен IP-адресом сетевого адаптера, чтобы сервер Redis мог подключаться извне. так, например,
bind 127.0.0.1 192.168.1.10
Сделано, и перезапскаем:> sudo service redis-server restart `
Ииии… Ничего не поменялось.., ошибка таже IP Address of the host is 127.0.0.1. It accepts no connections. Please change., при этом запись bind 127.0.0.1 192.168.1.10 имеется.Снова вопрос - что делать?
-
Решил ещё это сделать:
./iobroker setup customСделал и вся система рухнула. не доступен веб интерфейс, хотя в консоли говорит:
root@ioBroker-OPi2E:~# iobroker status events.js:160 throw er; // Unhandled 'error' event ^ Error: listen EADDRNOTAVAIL 192.168.1.44:9000 at Object.exports._errnoException (util.js:1020:11) at exports._exceptionWithHostPort (util.js:1043:20) at Server._listen2 (net.js:1249:19) at listen (net.js:1298:10) at net.js:1408:9 at _combinedTickCallback (internal/process/next_tick.js:83:11) at process._tickCallback (internal/process/next_tick.js:104:9) root@ioBroker-OPi2E:~#В мастере слейв стал виден, но он в оффлайне.

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