@mcm1957 Of course, that's not what I meant. Google Translate completely distorted the meaning.
The original message was meant humorously, as if to say, "How could this be?"
I have the utmost respect for your work, as well as for the work of all the other developers who contribute to the product's development. Thank you!
The reasons are clear; I'll be looking for ways to use mqtt.
NEWS
Best posts made by hawkeye
-
RE: Драйвер MegaD-2561
Latest posts made by hawkeye
-
RE: Драйвер MegaD-2561
@mcm1957 Of course, that's not what I meant. Google Translate completely distorted the meaning.
The original message was meant humorously, as if to say, "How could this be?"
I have the utmost respect for your work, as well as for the work of all the other developers who contribute to the product's development. Thank you!
The reasons are clear; I'll be looking for ways to use mqtt. -
RE: Драйвер MegaD-2561
Тут пришло уведомление, что драйвер удалён из-за того, что никем не поддерживается.
Как так-то? Беспредел!)
Видимо придётся перебираться на работу через mqtt... -
RE: Драйвер MegaD-2561
Успешно обновилось, но вылазиет такое:
root@opc:/opt/iobroker# iobroker upload megadd module.js:327 throw err; ^ Error: Cannot find module '/usr/local/www/iobroker/node_modules/iobroker.js-controller/iobroker.js' at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Function.Module.runMain (module.js:441:10) at startup (node.js:140:18) at node.js:1043:3
С чего бы вдруг ему лезть в /usr/local/….. если он установлен в /opt...
upd: почему то кривой путь был в /opt/iobroker/node_modules/iobroker/install/iobroker - поправил, но эта ошибка осталась
ошибка c рестартами вроде ушла...
А в каком месте включить дебаг и режим эксперта?
-
RE: Драйвер MegaD-2561
Действительно ничего не перенастраивал, но с недавних пор стало после запуска так:
host.opc 2018-03-14 20:47:43.478 info Restart adapter system.adapter.megadd.0 because enabled host.opc 2018-03-14 20:47:43.477 error instance system.adapter.megadd.0 terminated with code 7 (Adapter already running) host.opc 2018-03-14 20:47:41.088 info instance system.adapter.megadd.0 started with pid 3408 host.opc 2018-03-14 20:47:11.069 info Restart adapter system.adapter.megadd.0 because enabled host.opc 2018-03-14 20:47:11.068 error instance system.adapter.megadd.0 terminated with code 7 (Adapter already running) host.opc 2018-03-14 20:47:08.770 info instance system.adapter.megadd.0 started with pid 3346 host.opc 2018-03-14 20:46:38.727 info Restart adapter system.adapter.megadd.0 because enabled host.opc 2018-03-14 20:46:38.725 error instance system.adapter.megadd.0 terminated with code 7 (Adapter already running) host.opc 2018-03-14 20:46:36.398 info instance system.adapter.megadd.0 started with pid 3320 host.opc 2018-03-14 20:46:06.357 info Restart adapter system.adapter.megadd.0 because enabled host.opc 2018-03-14 20:46:06.356 error instance system.adapter.megadd.0 terminated with code 7 (Adapter already running) host.opc 2018-03-14 20:46:04.030 info instance system.adapter.megadd.0 started with pid 3258
Перезапуск systemctl restart iobroker ровным счётом ничего не даёт.
Подскажите, где логи какие может есть?.. С чего вдруг он считает нужным перезапуститься, если и так вроде как запущен…
Какое-то время это продолжается и заканчивается нормальным стартом:
megadd.0 2018-03-14 20:50:31.942 info Update state megadd.0.p0_P0 megadd.0 2018-03-14 20:50:31.838 warn port 8015 already in use megadd.0 2018-03-14 20:50:31.590 info starting. Version 0.3.1 in /opt/iobroker/node_modules/iobroker.megadd, node: v4.8.7 host.opc 2018-03-14 20:50:29.284 info instance system.adapter.megadd.0 started with pid 3653 host.opc 2018-03-14 20:50:29.264 info object change system.adapter.megadd.0 host.opc 2018-03-14 20:50:25.130 info Do not restart adapter system.adapter.megadd.0 because disabled or deleted host.opc 2018-03-14 20:50:25.129 error instance system.adapter.megadd.0 terminated with code 7 (Adapter already running) host.opc 2018-03-14 20:50:22.114 info "system.adapter.megadd.0" disabled host.opc 2018-03-14 20:50:22.113 info object change system.adapter.megadd.0 host.opc 2018-03-14 20:49:52.776 info Restart adapter system.adapter.megadd.0 because enabled
-
RE: Автоматизация света и вытяжки в ванной по датчику движения и влажности (с использованием данных из sql)
Вот что получилось.
megadd.0.p31_P31 - датчик влажности
megadd.0.p32_P32 - датчик движения
megadd.1.p25_P25 - реле света
megadd.0.p8_P8 - реле вытяжки
`var timer_vanna; var timer_vanna_vent; var flag_motion_vanna = false; var flag_hum = false; on({id: 'megadd.0.p32_P32', change: 'any'}, function (obj) { if (obj.newState.val === false){ flag_motion_vanna = true; flag_hum = false; clearTimeout(timer_vanna); if (getState('megadd.1.p25_P25').val === false) { setState('megadd.1.p25_P25', true); } }else if (obj.newState.val === true) { timer_vanna = setTimeout(function() { flag_motion_vanna = false; if (getState('megadd.0.p32_P32').val === true && flag_hum === false) { setState('megadd.1.p25_P25', false); } }, 40000); } }); schedule({second: [0, 20, 40]}, function () { var end = new Date().getTime(); var DT1; var DT = 0; sendTo('sql.0', 'getHistory', { id: 'megadd.0.p31_P31_humidity', options: { end: new Date().getTime(), count: 10, aggregate: 'onchange' //аggregate: 'm4' // or 'none' to get raw values } }, function (result) { DT1=0; for (var i = 0; i < result.result.length; i++) { //console.log(result.result[i].id + ' D= ' + new Date(result.result[i].ts).toISOString()+' V=' +result.result[i].val); Hprev = result.result[i].val; DT1=DT1+result.result[i].val; //console.log('Rows: ' + JSON.stringify(result.result)); } DT1=DT1/10; Htek=getState('megadd.0.p31_P31_humidity').val; DT=Htek-DT1; //console.log('DT='+DT+'('+ Htek+'-'+DT1+')'); if (DT>=2 && flag_hum === false){ flag_hum = true; console.log('flag_hum=true DT='+DT+'>2'); if (getState('megadd.1.p25_P25').val === false) { setState('megadd.1.p25_P25', true); console.log('Был выключен - включаю'); } } else if (DT<-1 && flag_hum === true) { flag_hum = false; console.log('flag_hum=false DT='+DT+'<-1'); if (flag_motion_vanna === false) { console.log('Запуск таймера на отключение света'); timer_vanna = setTimeout(function() { if (getState('megadd.0.p32_P32').val === true && flag_hum === false) { setState('megadd.1.p25_P25', false); } }, 40000); } } if (DT<-2) { console.log('DT='+DT+' Запуск таймера на выключение вытяжки'); setState('megadd.0.p8_P8', true); clearTimeout(timer_vanna_vent); timer_vanna_vent = setTimeout(function() { setState('megadd.0.p8_P8', false); }, 185000); } }); });` [/i][/i][/i][/i][/i]
-
RE: Автоматизация света и вытяжки в ванной по датчику движения и влажности (с использованием данных из sql)
а с чего ты решил что влажность все время будет увеличиваться по 20% до 1000? Влажность поднимется практичски сразу и будет по немногу падать после включения вентилятора. `
Какие ещё 1000? См. график во вложении. (График слишком сглаженный, т.к. показания снимались каждые 5 минут).В целом собираюсь реализовать такай сценарий:
1. чел входит в помещение душевой - срабатывает датчик движения, включает свет
2. пока чел в душевой кабине датчик движение не работает - но влажность увеличивается, значит кто-то есть, соответсвенно свет гасить не нужно
3. как только чел выходит из кабины - уже срабатывает датчик движения, а влажность постепенно начинает падать. За влажностью уже можно не следить - управлять светом по датчику движения.
4. вентилятор планирую включать уже после выхода чела из душевой кабины, скажем через 5 минут на 5 минут или при превышении некоего порога. Нужны дополнительные испытания.
Все эти телодвижения с влажностью нужны для учёта того, что кто-то есть в помещении.
Соответсвенно по п.2 я задумался как проанализировать скорость роста значения. Использовать значения истории видится наиболее логичным. Просто следить за скоростью роста показания влажности. Судя по анализу тех графиков что имею - если скорость роста более 2% за минуту - явно кто-то решил "подушиться".
Вобщем-то вроде процесс сдвинулся, если что - ещё спрошу.
5570_2018-02-25-br-hum.png -
RE: Автоматизация света и вытяжки в ванной по датчику движения и влажности (с использованием данных из sql)
Спасибо, но немного не то.
В моём случае я хочу чтобы включение происходило по росту влажности, а не по абсолютному значению.
Абсолютное значение по моим наблюдениям сейчас гуляет от 10 до 30%, летом думаю разбег будет ещё больше, но когда кто-то идёт в душ влажность по показаниям датчика в течении минуты повышается резко на 20-30%. По этому росту я хочу определять, что кто-то там ещё есть, несмотря на то, что от датчика движения нет сообщений, поскольку как только заходишь в душевую кабинку её стекла экранируют тепло от тела и датчик движения не работает.
-
Автоматизация света и вытяжки в ванной по датчику движения и влажности (с использованием данных из sql)
Прошу помочь с написанием скрипта.
Идея такая - анализировать изменение показаний датчика влажности и пока значение повышается держать включенными освещение и вытяжной вентилятор, как только значения начнут уменьшаться через 2 минуты всё выключить.
Т.е. в моём понимании нужно взять два последних измерения, усреднить, сравнить с текущим значением, если текущее больше среднего за последние два раза - включить..
Ну и видимо придётся по крону раз в минуту проверять и если началось снижение - выключить.
Может быть уже такое написано - тогда очень прошу ткнуть куда смотреть.
Сейчас я взять из доков функцию
`var end = new Date().getTime(); sendTo('sql.0', 'getHistory', { id: 'megadd.0.p31_P31_humidity', options: { start: end - 600000, end: end, аggregate: 'm4' // or 'none' to get raw values } }, function (result) { for (var i = 0; i < result.result.length; i++) { //console.log(result.result[i].id + ' Л ' + new Date(result.result[i].ts).toISOString()); console.log('Rows: ' + JSON.stringify(result.result)); } });` Но, поскольку я js дел не имел - сразу споткнулся с тем как взять из result цифровые значения....[/i][/i]
-
RE: Драйвер MegaD-2561
Спасибо! Всё получилось как надо!
Осталось только осознать, почему оно так. Нашёл по этой теме переписку на форуме ab-log.ru… Перечитаю ещё раз.
-
RE: Драйвер MegaD-2561
Не помогло. Глюк какой-то…..
Выставил Р и галку. Датчик всё время в состоянии ON, но в ioBroker так и продолжаю получать:
stateChange megadd.0.p30_P30 false true megadd.0 2018-01-28 19:20:23.226 2018-01-28 19:20:23.226
stateChange megadd.0.p30_P30 true true megadd.0 2018-01-28 19:20:23.124 2018-01-28 19:20:23.124
Vadim попробуй, пожалуйста, выставить в IN любой порт на XT2 (30-35) и посмотреть как он будет опрашиваться.