Здравствуйте. К сожалению, архитектура сценариев этого не позволяет. Однако, вы можете использовать наши модули сценариев в своих скриптах, например, термостат можно использовать так:
/**
* @file: init-heating.js
*/
// Step 1: import module
var CustomTypeSc = require('thermostat.mod').ThermostatScenario;
function main() {
var scenarioName = 'Bathroom: heat floor';
log.debug('Start init logic for: "{}"', scenarioName);
// Step 2: Create new instance with scenario class
var scenario = new CustomTypeSc();
// Step 3: Configure algorithm
var cfg = {
idPrefix: 'bathroom_floor',// Не обязательный параметр, можно не указывать
targetTemp: 22,
tempLimitsMin: 16,
tempLimitsMax: 29,
hysteresis: 2,
tempSensor: 'wb-msw-v4_34/Temperature',
actuator: 'wb-mr6cv3_127/K6',
};
// Step 4: init algorithm
try {
var isInitSuccess = scenario.init(scenarioName, cfg);
if (!isInitSuccess) {
log.error('Init operation aborted for scenario: "{}"', scenarioName);
return;
}
log.debug('Initialization successful for: "{}"', scenarioName);
} catch (error) {
log.error(
'Exception during scenario initialization: "{}" for scenario: "{}"',
error.message || error,
scenarioName
);
}
}
main();
Про это я знаю, это не совсем то, что хотелось бы. Я имел ввиду, что можно было бы взять за основу, в качестве шаблона, то, что можно сделать конструктором и это доработать.
Реализовали, будет доступно в ближайшем стабильном релизе уже совсем скоро.
Сейчас появились сценарии, которые можно настроить, так, чтобы какие-то действия выполнялись в определенный момент времени. Если это имелось ввиду, то это не то, что я хотел. Имелось ввиду, что непосредственно в сценарии, например, “Управление светом”, можно было бы задавать условия, которые влияли на то, что должно происходить. Например, по нажатию кнопки на входе одного реле или датчика движения, включался выход другого реле, но это происходит только в определенный промежуток времени.
Ну вот, например, у меня есть датчик WB-MSW. Когда кто-то попадает в зону действия датчика, должен включиться свет, например, посредством реле WB-MR6CU. Но, этот сценарий должен выполняться только с 9:00 до 22:00.