kovalov part delete

This commit is contained in:
rasta5man 2024-06-20 17:56:49 +02:00
parent 54038a06f8
commit f4ffef94b9

View file

@ -58,8 +58,8 @@ const process = require('process');
//TODO - to remove?
// runTasks intervals
const SHORT_INTERVAL = 50;
const LONG_INTERVAL = 500;
const SHORT_INTERVAL = 30;
const LONG_INTERVAL = 300;
//send data to following instances:
const SEND_TO = {
@ -1052,183 +1052,6 @@ exports.install = function(instance) {
let line = parseInt(keys[i]); //line is turned off by default
let profilestr = relaysData[line].profile;
//Reset linii
let resetLine = false;
if(FLOW.OMS_rvo_name == "Kovalov RVO 2" && line != 0 && init == true) resetLine = true;
if(resetLine)
{
/*
Takže v Koválove nastavené offesty pre dusk a dawn nasledovne:
DUSK: offset +20 minút teda napr. namiesto 17:00 bude 17:20 a reštart by sa robil v čase 17:19, teda o minútu skôr. Tak aby keď budeš robiť zapnutie o 17:20 tak na RVO1 sa svietidlá zapnú v rovnakom čase.
Teda: vypnutie v čase DUSK_TIME + 19 minút, zapnutie v čase DUSK_TIME + 20 minút
DAWN: offset -30 minút teda napr. namiesto 7:00 bude 6:30 a reštart by sa robil v čase 6:30, tak aby sa svietidlá zhasli rovnako s RVO1. Zapnutie by bolo 6:31.
Teda: vypnutie v čase DAWN_TIME -30 minút, zapnutie v čase DAWN_TIME -29 minút
Vždy po reštarte asi 30 sekúnd po zapnutí treba poslať aktuálny čas na nody.
*/
//function calculateDuskDawn(date, line, duskOffset = 0, dawnOffset = 0)
let duskOffset = 20;
let dawnOffset = -30;
let sunCalcResult = calculateDuskDawn(new Date(), undefined, duskOffset, dawnOffset);
console.log(sunCalcResult);
monitor.info("--> dusk - dawn", sunCalcResult);
//if(isDusk) time_points[t].value = 1;//sumrak - zapneme svetlo
//if(isDawn) time_points[t].value = 0;//vychod - vypneme svetlo
//DUSK - sumrak
{
//vypneme liniu a o minitu zapneme
{
let value = 0;//vypneme liniu
let dusk_time = sunCalcResult.dusk_time;
if(dusk_time < now.getTime()) dusk_time = dusk_time + 24*60*60*1000;//1den
let params = getParams(PRIORITY_TYPES.relay_profile);
params.type = "relay";
params.line = line;
params.value = value;
params.tbname = relaysData[line].tbname;
params.timestamp = dusk_time;
params.duskOffset = duskOffset;
params.useProfile = false;
//once a day
params.addMinutesToTimestamp = 24*60;
//this will be recalculated
params.timePointName = "dusk"
if(params.value == 0) params.info = "reset - KOVALOV - force turn off line: " + line;
else if(params.value == 1) params.info = "reset - KOVALOV - force turn on line: " + line;
params.debug = true;
//turn on/off line
tasks.push(params);
console.log(params);
}
//a o minutu zapneme
{
let value = 1;//zapneme liniu
let dusk_time = sunCalcResult.dusk_time + 60*1000;//o minutu neskor po vypnuti zapneme
if(dusk_time < now.getTime()) dusk_time = dusk_time + 24*60*60*1000;//1den
let params = getParams(PRIORITY_TYPES.relay_profile);
params.type = "relay";
params.line = line;
params.value = value;
params.tbname = relaysData[line].tbname;
params.timestamp = dusk_time;
params.duskOffset = duskOffset + 1;
params.useProfile = false;
//once a day
params.addMinutesToTimestamp = 24*60;
//this will be recalculated
params.timePointName = "dusk"
if(params.value == 0) params.info = "reset - KOVALOV - force turn off line: " + line;
else if(params.value == 1) params.info = "reset - KOVALOV - force turn on line: " + line;
params.debug = true;
//turn on/off line
tasks.push(params);
console.log(params);
}
}
//DAWN - vychod
{
//vypneme liniu a o minitu zapneme
{
let value = 0;//vypneme liniu
let dawn_time = sunCalcResult.dawn_time;
if(dawn_time < now.getTime()) dawn_time = dawn_time + 24*60*60*1000;//1den
let params = getParams(PRIORITY_TYPES.relay_profile);
params.type = "relay";
params.line = line;
params.value = value;
params.tbname = relaysData[line].tbname;
params.timestamp = dawn_time;
params.dawnOffset = dawnOffset;
params.useProfile = false;
//once a day
params.addMinutesToTimestamp = 24*60;
//this will be recalculated
params.timePointName = "dawn";
if(params.value == 0) params.info = "reset - KOVALOV - force turn off line: " + line;
else if(params.value == 1) params.info = "reset - KOVALOV - force turn on line: " + line;
params.debug = true;
//turn on/off line
tasks.push(params);
console.log(params);
}
//a o minitu zapneme
{
let value = 1;//vypneme liniu
let dawn_time = sunCalcResult.dawn_time + 1000*60;//o minutu neskor po vypnuti zapneme
if(dawn_time < now.getTime()) dawn_time = dawn_time + 24*60*60*1000;//1den
let params = getParams(PRIORITY_TYPES.relay_profile);
params.type = "relay";
params.line = line;
params.value = value;
params.tbname = relaysData[line].tbname;
params.timestamp = dawn_time;
params.dawnOffset = dawnOffset + 1;
params.useProfile = false;
//once a day
params.addMinutesToTimestamp = 24*60;
//this will be recalculated
params.timePointName = "dawn";
if(params.value == 0) params.info = "reset - KOVALOV - force turn off line: " + line;
else if(params.value == 1) params.info = "reset - KOVALOV - force turn on line: " + line;
params.debug = true;
//turn on/off line
tasks.push(params);
console.log(params);
}
}
//console.log("-------------------------Kovalov RVO 2----");
}
if(processLine != undefined)
{
if(processLine != line) continue;
@ -1236,7 +1059,6 @@ exports.install = function(instance) {
try {
/**
* we process line profiles: timepoints, astro clock, lux_sensor, offsets ...
*/
@ -2060,22 +1882,11 @@ exports.install = function(instance) {
const timePointName = params.timePointName;
const value = params.value;
// used just in Kovalov RVO 2
const useProfile = params.useProfile;
let date = new Date();
date.setDate(date.getDate() + 1);//next day
let sunCalcResult;
if(!useProfile)
{
sunCalcResult = calculateDuskDawn(date, params.line);
}
else
{
//do not use profile, line is there for undefined
sunCalcResult = calculateDuskDawn(date, undefined, params.duskOffset, params.dawnOffset);
}
sunCalcResult = calculateDuskDawn(date, params.line);
if(timePointName == "dawn")
{
@ -2098,12 +1909,7 @@ exports.install = function(instance) {
tasks[0].timestamp = currentTimestamp + tasks[0].addMinutesToTimestamp * 60000;
}
//monitor.info("new relay timepoint sunCalcResult ,,,,,,,,,,", sunCalcResult);
let info;
if(!useProfile) info = "aplikovaný bod profilu";
else info = params.info; //kovalov rvo params.info
let info = "aplikovaný bod profilu";
let message = "";
if(value == 1)
{
@ -2117,7 +1923,7 @@ exports.install = function(instance) {
}
//sendNotification("CMD Manager: process cmd", relaysData[0].tbname, ERRWEIGHT.INFO, "aplikovaný bod profilu línie " + params.line + " - stav: " + message, "", SEND_TO.tb, instance, null );
if(!useProfile) sendNotification("CMD Manager: process cmd", FLOW.OMS_edgeName, "switching_profile_point_applied_to_line", {line: params.line, value: message}, "", SEND_TO.tb, instance );
sendNotification("CMD Manager: process cmd", FLOW.OMS_edgeName, "switching_profile_point_applied_to_line", {line: params.line, value: message}, "", SEND_TO.tb, instance );
interval = setInterval(runTasks, SHORT_INTERVAL);
return;