NEWS
Основные особенности системы
-
Как работает адаптер "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; }
Скрипт начал правильно работать. `
Спасибо, надо будет исправить. -
@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