NEWS
Основные особенности системы
-
Жду когда ко мне приедет BananaPi. Тащется с Китая уже две недели(((
Хочу тоже попробовать установить ioBroker. На текущей системе с Cubietruck пока не буду пробовать - все работает, ломать не хочется…
-
Электро, дай координаты где банану брал.
-
Электро, дай координаты где банану брал. `
Дык на том же http://www.aliexpress.com/item/Free-shipping-Banana-pi-sata-cable-case-fully-compatible-with-Raspberry-Pi-cubieboard-with-Gigabit-ethernet/2030355208.html. Сейчас кстати там типа распродажи, можно купить с хорошей скидкой всякие железки… -
Подскажите как правильно обновлять систему , а то сейчас с консоли пока обновляю .
И второй вопрос , какой репозиторий выбрать, локальный или онлайн.
-
> Подскажите как правильно обновлять систему , а то сейчас с консоли пока обновляю .
В админке на первой странице появляется кнопка обновить, если есть новая версия для js-controller.Еще не уверен, но помоему надо потом ручками перстартовать js-controller или iobroker сервис````
node iobroker restartА так, надо сначала пойти на закладку "драйвера" нажать кнопку в нижнем левом углу (обновить) и если есть новые обновления то появятся кнопки напротив драйверов. [301_zwave.png](/assets/uploads/files/301_zwave.png)
-
Как работает адаптер "History"?
Как часто сохраняются значения в базу CoutcDB ?
Никак не заставлю его писать архив значений температуры с датчика Z-Wave.
-
Как работает адаптер "History"?
Как часто сохраняются значения в базу CoutcDB ?
Никак не заставлю его писать архив значений температуры с датчика Z-Wave. `
Если поставить галочку "только изменения", то сохранятся будут только отличные от предыдущих значения.Если не поставить, то значения будут сохранятся каждый раз при получении значения, то есть, каждый раз, когда zwave посылает значение.
Но все значения сначала сохраняются в redis DB и когда набирается 960 значений, то они сбрасываются в couchDB в history.objectId.20141107
-
Спасибо, нашел, а графики строить есть чем?
-
Bluefox, подскажи, собственно домашняя автоматизация (скрипты) будет только GUI (node-red) или текстовый редактор (ScriptEditor) так же будет присутствовать?
-
Да он есть ,ток называется по другому
-
Bluefox, подскажи, собственно домашняя автоматизация (скрипты) будет только GUI (node-red) или текстовый редактор (ScriptEditor) так же будет присутствовать? `
Ну он уже есть.1. Сначала нужно установть javascript драйвер
2. Перейти на вкладку скрипты и создать один скрипт типа JavaScript или Coffescript
3. Написать скрипт в окне и сохранить.
4. Активировать скрипт и выставить engine, как system.adapter.javascript.0
5. Активировать javascript драйвер
-
Bluefox, подскажи, собственно домашняя автоматизация (скрипты) будет только GUI (node-red) или текстовый редактор (ScriptEditor) так же будет присутствовать? `
Ну он уже есть.1. Сначала нужно установть javascript драйвер
2. Перейти на вкладку скрипты и создать один скрипт типа JavaScript или Coffescript
3. Написать скрипт в окне и сохранить.
4. Активировать скрипт и выставить engine, как system.adapter.javascript.0
5. Активировать javascript драйвер `
Добавил скрипт, но отрабатывать не хочет, в ccuio работал.
var TempSensorID = 'io.zwave.0.NODE2.SENSOR_MULTILEVEL.Temperature'; //ID датчика температуры var SwitchStateID = 'io.zwave.0.NODE3.SWITCH_MULTILEVEL.Level'; //ID реле обогревателя subscribe(TempSensorID, function (obj) { if (getState(TempSensorID) < 18 ) { //если температура меньше 18 градусов setState(SwitchStateID, 1 ); //включить обогреватель } else{ setState(SwitchStateID, 0 ); // иначе выключить обогреватель } });
-
@KondorSoft:`
Можешь добавить парочку логов?var TempSensorID = 'io.zwave.0.NODE2.SENSOR_MULTILEVEL.Temperature'; //ID датчика температуры var SwitchStateID = 'io.zwave.0.NODE3.SWITCH_MULTILEVEL.Level'; //ID реле обогревателя log("Script starting.."); subscribe(TempSensorID, function (obj) { log(TempSensorID + " change detected. Value " + getState(TempSensorID)); if (getState(TempSensorID) < 18 ) { //если температура меньше 18 градусов log("Switch heater on"); setState(SwitchStateID, 1 ); //включить обогреватель } else{ log("Switch heater off"); setState(SwitchStateID, 0 ); // иначе выключить обогреватель } });
-
@KondorSoft:`
Можешь добавить парочку логов?var TempSensorID = 'io.zwave.0.NODE2.SENSOR_MULTILEVEL.Temperature'; //ID датчика температуры var SwitchStateID = 'io.zwave.0.NODE3.SWITCH_MULTILEVEL.Level'; //ID реле обогревателя log("Script starting.."); subscribe(TempSensorID, function (obj) { log(TempSensorID + " change detected. Value " + getState(TempSensorID)); if (getState(TempSensorID) < 18 ) { //если температура меньше 18 градусов log("Switch heater on"); setState(SwitchStateID, 1 ); //включить обогреватель } else{ log("Switch heater off"); setState(SwitchStateID, 0 ); // иначе выключить обогреватель } }); ```` `
В лог ничего не пишет, похоже не стартует скрипт.
UPD:
Всетаки скрипт стартует, в лог пишет
2014-11-11 11:39:36.721 - info: javascript.0 starting. Version 0.1.1
2014-11-11 11:39:36.723 - info: javascript.0 requesting all states
2014-11-11 11:39:36.724 - info: javascript.0 requesting all objects
2014-11-11 11:39:36.741 - info: javascript.0 received all states
2014-11-11 11:39:37.369 - info: javascript.0 received all objects
2014-11-11 11:39:37.417 - info: javascript.0 script.js.JavaScript: Script starting..
2014-11-11 11:39:37.418 - info: javascript.0 script.js.JavaScript: registered 1 subscription and 0 schedules
61_script.png -
Переставил IoBroker, что-то не так с адаптером "javascript", постоянно в лог сыпется ошибка
! 2014-11-11 14:35:49.608 - error: pmessage system.adapter.admin.0.log{"message":"pmessage system.adapter.admin.0.log{"message":"pmessage system.adapter.admin.0.log{\"message\":\"pmessage system.adapter.admin.0.log{\\\"message\\\":\\\"TypeError: Cannot read property 'parent' of undefined\\\\n at getObjectEnums (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:840:27)\\\\n at Object.require.stateChange (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:66:13)\\\\n at that.states.StatesRedis.change (/home/boris/ioBroker.js-controller/lib/adapter.js:1276:80)\\\\n at RedisClient. <anonymous>(/home/boris/ioBroker.js-controller/lib/redis.js:48:21)\\\\n at RedisClient.EventEmitter.emit (events.js:106:17)\\\\n at RedisClient.return_reply (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:672:22)\\\\n at HiredisReplyParser. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:309:14)\\\\n at HiredisReplyParser.EventEmitter.emit (events.js:95:17)\\\\n at HiredisReplyParser.execute (/home/boris/ioBroker.js-controller/node_modules/redis/lib/parser/hiredis.js:43:18)\\\\n at RedisClient.on_data (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:534:27)\\\\n at Socket. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:91:14)\\\\n at Socket.EventEmitter.emit (events.js:95:17)\\\\n at Socket. <anonymous>(stream_readable.js:736:14)\\\\n at Socket.EventEmitter.emit (events.js:92:17)\\\\n at emitReadable (_stream_readable.js:408:10)\\\\n at emitReadable (_stream_readable.js:404:5)\\\\n at readableAddChunk (_stream_readable.js:165:9)\\\\n at Socket.Readable.push (_stream_readable.js:127:10)\\\\n at TCP.onread (net.js:526:21)\\\\n\\\",\\\"severity\\\":\\\"error\\\",\\\"from\\\":\\\"javascript.0\\\",\\\"ts\\\":1415709325176} Cannot read property 'parent' of undefined\",\"severity\":\"error\",\"from\":\"javascript.0\",\"ts\":1415709326813} Cannot read property 'parent' of undefined","severity":"error","from":"javascript.0","ts":1415709330064} Cannot read property 'parent' of undefined","severity":"error","from":"javascript.0","ts":1415709336635} Cannot read property 'parent' of undefined
! 2014-11-11 14:35:49.612 - error: TypeError: Cannot read property 'parent' of undefined
! at getObjectEnums (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:840:27)
! at Object.require.stateChange (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:66:13)
! at that.states.StatesRedis.change (/home/boris/ioBroker.js-controller/lib/adapter.js:1276:80)
! at RedisClient. <anonymous>(/home/boris/ioBroker.js-controller/lib/redis.js:48:21)
! at RedisClient.EventEmitter.emit (events.js:106:17)
! at RedisClient.return_reply (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:672:22)
! at HiredisReplyParser. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:309:14)
! at HiredisReplyParser.EventEmitter.emit (events.js:95:17)
! at HiredisReplyParser.execute (/home/boris/ioBroker.js-controller/node_modules/redis/lib/parser/hiredis.js:43:18)
! at RedisClient.on_data (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:534:27)
! at Socket. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:91:14)
! at Socket.EventEmitter.emit (events.js:95:17)
! at Socket. <anonymous>(stream_readable.js:736:14)
! at Socket.EventEmitter.emit (events.js:92:17)
! at emitReadable (_stream_readable.js:408:10)
! at emitReadable (_stream_readable.js:404:5)
! at readableAddChunk (_stream_readable.js:165:9)
! at Socket.Readable.push (_stream_readable.js:127:10)
! at TCP.onread (net.js:526:21)</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous> -
Переставил IoBroker, что-то не так с адаптером "javascript", постоянно в лог сыпется ошибка
! 2014-11-11 14:35:49.608 - error: pmessage system.adapter.admin.0.log{"message":"pmessage system.adapter.admin.0.log{"message":"pmessage system.adapter.admin.0.log{\"message\":\"pmessage system.adapter.admin.0.log{\\\"message\\\":\\\"TypeError: Cannot read property 'parent' of undefined\\\\n at getObjectEnums (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:840:27)\\\\n at Object.require.stateChange (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:66:13)\\\\n at that.states.StatesRedis.change (/home/boris/ioBroker.js-controller/lib/adapter.js:1276:80)\\\\n at RedisClient. <anonymous>(/home/boris/ioBroker.js-controller/lib/redis.js:48:21)\\\\n at RedisClient.EventEmitter.emit (events.js:106:17)\\\\n at RedisClient.return_reply (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:672:22)\\\\n at HiredisReplyParser. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:309:14)\\\\n at HiredisReplyParser.EventEmitter.emit (events.js:95:17)\\\\n at HiredisReplyParser.execute (/home/boris/ioBroker.js-controller/node_modules/redis/lib/parser/hiredis.js:43:18)\\\\n at RedisClient.on_data (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:534:27)\\\\n at Socket. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:91:14)\\\\n at Socket.EventEmitter.emit (events.js:95:17)\\\\n at Socket. <anonymous>(stream_readable.js:736:14)\\\\n at Socket.EventEmitter.emit (events.js:92:17)\\\\n at emitReadable (_stream_readable.js:408:10)\\\\n at emitReadable (_stream_readable.js:404:5)\\\\n at readableAddChunk (_stream_readable.js:165:9)\\\\n at Socket.Readable.push (_stream_readable.js:127:10)\\\\n at TCP.onread (net.js:526:21)\\\\n\\\",\\\"severity\\\":\\\"error\\\",\\\"from\\\":\\\"javascript.0\\\",\\\"ts\\\":1415709325176} Cannot read property 'parent' of undefined\",\"severity\":\"error\",\"from\":\"javascript.0\",\"ts\":1415709326813} Cannot read property 'parent' of undefined","severity":"error","from":"javascript.0","ts":1415709330064} Cannot read property 'parent' of undefined","severity":"error","from":"javascript.0","ts":1415709336635} Cannot read property 'parent' of undefined
! 2014-11-11 14:35:49.612 - error: TypeError: Cannot read property 'parent' of undefined
! at getObjectEnums (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:840:27)
! at Object.require.stateChange (/home/boris/ioBroker.js-controller/adapter/javascript/javascript.js:66:13)
! at that.states.StatesRedis.change (/home/boris/ioBroker.js-controller/lib/adapter.js:1276:80)
! at RedisClient. <anonymous>(/home/boris/ioBroker.js-controller/lib/redis.js:48:21)
! at RedisClient.EventEmitter.emit (events.js:106:17)
! at RedisClient.return_reply (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:672:22)
! at HiredisReplyParser. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:309:14)
! at HiredisReplyParser.EventEmitter.emit (events.js:95:17)
! at HiredisReplyParser.execute (/home/boris/ioBroker.js-controller/node_modules/redis/lib/parser/hiredis.js:43:18)
! at RedisClient.on_data (/home/boris/ioBroker.js-controller/node_modules/redis/index.js:534:27)
! at Socket. <anonymous>(/home/boris/ioBroker.js-controller/node_modules/redis/index.js:91:14)
! at Socket.EventEmitter.emit (events.js:95:17)
! at Socket. <anonymous>(stream_readable.js:736:14)
! at Socket.EventEmitter.emit (events.js:92:17)
! at emitReadable (_stream_readable.js:408:10)
! at emitReadable (_stream_readable.js:404:5)
! at readableAddChunk (_stream_readable.js:165:9)
! at Socket.Readable.push (_stream_readable.js:127:10)
! at TCP.onread (net.js:526:21)</anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous></anonymous> `
Можешь попробовать ещё раз? Я пересмотрел javascript драйвер. -
Можешь попробовать ещё раз? Я пересмотрел javascript драйвер. `
Ошибок в логе нет, завтра потестирую основательно. -
Можешь попробовать ещё раз? Я пересмотрел javascript драйвер. `
Скрипт на события реагирует но изменить состояние устройства не выходиткоманда setState(SwitchStateID, 1 );
пытается изменить состояние "io.javascript.0.zwave.0.NODE3.SWITCH_MULTILEVEL.Level" вместо "io.zwave.0.NODE3.SWITCH_MULTILEVEL.Level"
В логе такие сообщения.
2014-11-17 12:02:50.505 - info: javascript.0 script.js.Script1: io.zwave.0.NODE2.SENSOR_MULTILEVEL.Temperature change detected. Value [object Object]
2014-11-17 12:02:50.505 - info: javascript.0 script.js.Script1: Switch heater off
2014-11-17 12:02:50.507 - warn: zwave.0 Object io.javascript.0.zwave.0.NODE3.SWITCH_MULTILEVEL.Level not found
-
в адартере "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; }
Скрипт начал правильно работать.
-
в адартере "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; }
Скрипт начал правильно работать. `
Спасибо, надо будет исправить.