Помогите пожалуйста с подбором и настройкой оборудования для теплиц

Вот пример:

//light_conversion.js
var sensor_light = "wb-ms_41/Illuminance"; // CHANGE_ME! устройство-датчик освещенности


defineVirtualDevice("light_conversion", {
  title: "conversion",
  cells: {  
   	light_as_is: { 
           type: "text",
           value: ""
    },
    light_converted: { 
           type: "text",
           value: ""
    },
  },
});

defineRule("convert", { //название правила
  whenChanged: sensor_light, //при изменении состояния
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    newValue = Number(newValue); //Приведем к числу
    dev["light_conversion/light_as_is"] = newValue.toString(); //выведем "как есть" приведя к строке
    dev["light_conversion/light_converted"] = ((newValue+400)*1.6).toString();//выведем преобразованное как угодно. И выводим приведя к строке
  }
});

Но освещенность уже в люксах. Нужен поправочный коэффициент? Его проще стразу в основном скрипте указывать, чтоб не помнить потом где оригинальный а где с поправкой.

Мы измеряем в микромолях на метр (или ещё куча других параметром освещённости). Суть в том, что чтобы перевести из люксов в ту величину, которая нам нужна, надо к значению освещённости в люксах прибавить ещё какую-то величину (60 с небольшим). Если это можно изменить, прибавив это поправочное число в основном скрипте, то подскажите пожалуйста, как это сделать? спасибо

Вот тут:

defineRule("sensor_light change", { //название правила 
whenChanged: sensor_light, //При изменении измеренной освещенности - установим значения виртуального устройства.
  then: function (newValue, devName, cellName) { //выполняй следующие действия
    newValue = Number(newValue); //Приведем к числу
    newValue = newValue+60; //Меняем уровень на коэффициент (прибавляем 60)
    dev["light_"+grow_box]["Light_measured"] = newValue.toString(); //Записываем в виртуальное устройство
    if ((dev["light_"+grow_box]["sunraiseProcess"]==true)||(dev["light_"+grow_box]["dayProcess"]==true)||(dev["light_"+grow_box]["sunsetProcess"]==true)){// если сейчас нужен свет
      if (newValue>setPointLight) { // Если текущая освещенность больше уставки
        //log.info("light_"+grow_box+"Light_measured BIG",newValue);
        if (dev[dimmer_light]>dimmer_zeroValue){
          dev[dimmer_light] -= dimmer_increment;
        }
      } else{ // если меньше
        //log.info("light_"+grow_box+"Light_measured LOW",newValue);
        if (dev[dimmer_light]<dimmer_maxValue){
          dev[dimmer_light] += dimmer_increment;
        }
      }
      dev["light_"+grow_box+"/Lamp power set"] = dev[dimmer_light];
    }
  }
});

Поменял. Спасибо. Сегодня запускаем одну полку стеллажа. Попробуем автоматику в действии. Сделаю видео, когда весь стеллаж будет готов

Промежуточные итоги такие: рассвет есть, закат есть поддержание освещённости есть. показатели с датчиков отладим по ходу дела, когда всё повесим. Это не проблема. Всё работает и это очень хорошо. Спасибо огромное за помощь. Единственная проблема, на данный момент- это когда закат заканчивается и на управляющие провода драйвера не подаётся напряжение, то светильники светят на 10% и не выключаются полностью. Вот обдумываем решение проблемы0-02-05-87fd4d558c2706a3337cbc6f41ab17fd179595bea49bed4bad283b2979764f3f_e7efbd6f
По графику он должен регулироваться с 0. Может быть на выходе остаётся напряжение?

Смотрите в скрипт,

Вот это “нижний” порог диммера. На тот случай если диммирование начинается не с “0”. У вас какое значение там сейчас?
Я отлаживал на MDM, вам имеет смысл сделать “5” например. И какое напряжение на выходе модуля остается?
Надо померить мультиметром при подключенном к выходу модуля светильнике и при отключенном.
Если вход светильника подтягивается к напряжению (при отключении от выхода - светильник загорается) и проблема аппаратная - то возможно решением будет поставить резистор (подобрать, но не меньше 2 Ком!) от выхода модуля к GND.
И проверьте чтоб земля управляющего входа светильника точно и хорошо соединялась с землей контроллера.
Есть документация на используемый диммер?

можно ли поставить пороговое значение 0?

Я думал над этим. Возможно как 1 из решений.

Посмотрел документацию, там упомянут


внутренний потенциометр, может его надо подкрутить чтоб снизить минимальную яркость?

Да, можно.

Замкните входы диммирования между собой.
Screenshot from 2020-08-07 13-25-45
Если потухнет совсем - значит резистор скорее всего поможет. Если нет - значит надо разбираться с диммером.

По итогу в скрипте стоит 0. Напряжение остаётся, после заката, 0,66В. Возможно это конденсаторы. при замыкании управляющих проводов светильник тухнет. Скорее всего надо, как вы и сказали, резистор. Крутил диммер. Не тухнет. Попробуем в пн резистор. Любой не менее 2Ком?

По идее резистор нам частично “обрежет” максимальную яркость. Это не есть хорошо. Я откинул концы: выход из модуля контроллера=0. Если контакты не замкнуты, то яркость максимальная. Может быть есть вариант с каким-то реле, чтобы не потерять в яркости? Или может быть можно чуть поднять выход с модуля выше 10в?

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

Нет, резистор не должен повлиять. Модуль все равно выдаст на выходе 10V. Но попробуйте - замкните резистором входы диммер. Если совсем потухнет - хорошо, поможет. Если нет - тогда уже подумаем про реле.

Согласен. В пн попробуем резистор

Кстати, подключаете выводы диммера к клеммам “ignd” и “1”?

Ignd и 3. Я сделал 4 одинаковые полки с 4 разными выходами, чтобы каждой полкой можно было отдельно управлять. Сейчас делаем 3 полку

Попробовал параллельно подключить резистор. Сильно падает яркость светильника и очень не корректно работает автоматика. Не выходит на заданное значение за выставленное время. У нас ещё есть 4 свободных аналоговых выхода. Можем задействовать их для подачи напряжения, к примеру, на реле

А какой номинал у резистора?
Попробовал 2.7 Ком - просаживает на вольт. Должно компенсироваться внутренней подтяжкой диммера.
С выхода модуля на землю (Ignd) модуля?

Да, но выходы напряжения, они не потянут реле.
Если хотите использовать подобную схему - то можно использовать клеммы А1-А4 самого контроллера. Реле (“обмотку”) -подключать между выводом “Vout” и А1-4.
Вообще если используете нестандартные диммеры - может быть использовать другой модуль? MAO4 умеет как PWM(ШИМ) так и аналоговый 0-10В выходы.

2.2Ком

да

Сейчас хотелось бы эффективно решить проблему именно этого стеллажа. В дальнейшем да, можно использовать другой модуль и реле. Пока что других идей у меня нет. Если у вас есть идеи, то с радостью их попробую

А при резисторе в 2,2 - яркость до нуля уменьшается?
Ну и надо попробовать 4,7 соответственно.

если закоротить управляющие провода резистором 2.2Ком, то яркость снижается сильно, но не гаснет. Если подключить параллельно к модулю с проводами, то гаснет, но предельная яркость сильно ниже. При этом при сценарии рассвет срабатывает очень странно. То есть за заданное время освещённость не выходит на заданную

А как это может помочь? не просядет напряжение ещё сильнее?

Резистор больше - ток меньше.