Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. hawkeye

    NEWS

    • Monatsrückblick – September 2025

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    H
    • Profile
    • Following 0
    • Followers 1
    • Topics 1
    • Posts 13
    • Best 1
    • Groups 1

    hawkeye

    @hawkeye

    1
    Reputation
    18
    Profile views
    13
    Posts
    1
    Followers
    0
    Following
    Joined Last Online

    hawkeye Follow
    Starter

    Best 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.

      posted in ioBroker драйвера
      H
      hawkeye

    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.

      posted in ioBroker драйвера
      H
      hawkeye
    • RE: Драйвер MegaD-2561

      Тут пришло уведомление, что драйвер удалён из-за того, что никем не поддерживается.
      Как так-то? Беспредел!)
      Видимо придётся перебираться на работу через mqtt...

      posted in ioBroker драйвера
      H
      hawkeye
    • 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 рестартами вроде ушла...

      А в каком месте включить дебаг и режим эксперта?

      posted in ioBroker драйвера
      H
      hawkeye
    • 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
      
      posted in ioBroker драйвера
      H
      hawkeye
    • 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]
      
      posted in ioBroker скрипты
      H
      hawkeye
    • RE: Автоматизация света и вытяжки в ванной по датчику движения и влажности (с использованием данных из sql)

      @instalator:

      а с чего ты решил что влажность все время будет увеличиваться по 20% до 1000? Влажность поднимется практичски сразу и будет по немногу падать после включения вентилятора. `
      Какие ещё 1000? См. график во вложении. (График слишком сглаженный, т.к. показания снимались каждые 5 минут).

      В целом собираюсь реализовать такай сценарий:

      1. чел входит в помещение душевой - срабатывает датчик движения, включает свет

      2. пока чел в душевой кабине датчик движение не работает - но влажность увеличивается, значит кто-то есть, соответсвенно свет гасить не нужно

      3. как только чел выходит из кабины - уже срабатывает датчик движения, а влажность постепенно начинает падать. За влажностью уже можно не следить - управлять светом по датчику движения.

      4. вентилятор планирую включать уже после выхода чела из душевой кабины, скажем через 5 минут на 5 минут или при превышении некоего порога. Нужны дополнительные испытания.

      Все эти телодвижения с влажностью нужны для учёта того, что кто-то есть в помещении.

      Соответсвенно по п.2 я задумался как проанализировать скорость роста значения. Использовать значения истории видится наиболее логичным. Просто следить за скоростью роста показания влажности. Судя по анализу тех графиков что имею - если скорость роста более 2% за минуту - явно кто-то решил "подушиться".

      Вобщем-то вроде процесс сдвинулся, если что - ещё спрошу.
      5570_2018-02-25-br-hum.png

      posted in ioBroker скрипты
      H
      hawkeye
    • RE: Автоматизация света и вытяжки в ванной по датчику движения и влажности (с использованием данных из sql)

      Спасибо, но немного не то.

      В моём случае я хочу чтобы включение происходило по росту влажности, а не по абсолютному значению.

      Абсолютное значение по моим наблюдениям сейчас гуляет от 10 до 30%, летом думаю разбег будет ещё больше, но когда кто-то идёт в душ влажность по показаниям датчика в течении минуты повышается резко на 20-30%. По этому росту я хочу определять, что кто-то там ещё есть, несмотря на то, что от датчика движения нет сообщений, поскольку как только заходишь в душевую кабинку её стекла экранируют тепло от тела и датчик движения не работает.

      posted in ioBroker скрипты
      H
      hawkeye
    • Автоматизация света и вытяжки в ванной по датчику движения и влажности (с использованием данных из 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]
      
      posted in ioBroker скрипты
      H
      hawkeye
    • RE: Драйвер MegaD-2561

      Спасибо! Всё получилось как надо!

      Осталось только осознать, почему оно так. Нашёл по этой теме переписку на форуме ab-log.ru… Перечитаю ещё раз.

      posted in ioBroker драйвера
      H
      hawkeye
    • 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) и посмотреть как он будет опрашиваться.

      posted in ioBroker драйвера
      H
      hawkeye
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo