Socket
Socket
Sign inDemoInstall

node-red-contrib-sun-position

Package Overview
Dependencies
1
Maintainers
1
Versions
136
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.3.0-beta-3 to 0.3.0-beta-4

2

nodes/blind-control.js

@@ -527,3 +527,3 @@ /********************************************

}
rule.timeData = node.positionConfig.getTimeProp(node, msg, rule.timeType, rule.timeValue, rule.offsetValue, rule.offsetType, rule.multiplier);
rule.timeData = node.positionConfig.getTimeProp(node, msg, rule.timeType, rule.timeValue, rule.offsetType, rule.offsetValue, rule.multiplier);
if (rule.timeData.error) {

@@ -530,0 +530,0 @@ hlp.handleError(node, RED._('blind-control.errors.error-time', { message: rule.timeData.error }), undefined, rule.timeData.error);

@@ -333,2 +333,3 @@ /*

}
// console.log(`getMoonTimes lat=${lat} lng=${lng} inUTC=${inUTC} date=${date} t=${t}`);

@@ -340,3 +341,3 @@ const hc = 0.133 * rad;

// go in 2-hour chunks, each time seeing if a 3-point quadratic curve crosses zero (which means rise or set)
for (let i = 1; i <= 24; i += 2) {
for (let i = 1; i <= 26; i += 2) {
const h1 = SunCalc.getMoonPosition(hoursLater(t, i), lat, lng).altitude - hc;

@@ -388,5 +389,6 @@ const h2 = SunCalc.getMoonPosition(hoursLater(t, i + 1), lat, lng).altitude - hc;

const result = {};
if (rise) {
result.rise = hoursLater(t, rise);
} else {
result.rise = NaN;
}

@@ -396,2 +398,4 @@

result.set = hoursLater(t, set);
} else {
result.set = NaN;
}

@@ -402,3 +406,2 @@

}
return result;

@@ -405,0 +408,0 @@ };

@@ -44,4 +44,4 @@ {

"windowAzimuthEnd": "rechte Seite Fenster zum geografischen Norden",
"blindIncrement": "0.01 or 1",
"blindOpenPos": "100",
"blindIncrement": "0.01 oder 1",
"blindOpenPos": "1 oder 100",
"blindClosedPos": "0",

@@ -48,0 +48,0 @@ "blindLevelDefault": "Rollladenposition, wenn keine andere zutrifft",

@@ -6,4 +6,4 @@ {

"compare": "vergleich",
"input": "Input",
"inputFormat": "parse format",
"input": "Eingangswert",
"inputFormat": "Eingangsformat",
"inputOffset": "Offset",

@@ -16,4 +16,14 @@ "operatorContainer": "vergleich mit",

"result1Offset": "Offset"
},
"placeholder": {
"property": "Property",
"input": "Eingangswert",
"inputFormat": "Format des Eingangswertes",
"inputOffset": "Offset",
"result": "Ergebnis",
"resultValue": "Wert",
"resultFormat": "Format des Ergebnisses",
"resultOffset": "Offset"
}
}
}

@@ -36,11 +36,15 @@ {

"property": "Property",
"propertyThreshold": "schwellwert",
"payloadStart": "",
"payloadEnd": "",
"startTime": "7:40",
"startOffset": "0",
"time": "18:15",
"offset": "0",
"timeAlt": "18:15",
"timeAltOffset": "0"
"propertyThreshold": "schwellwert",
"payload": "payload der gesendeten Nachricht",
"time": "Zeitpunkt für das Senden der Nachricht",
"timeOffset": "offset der Zeit",
"timeAlt": "alternativer Zeitpunkt",
"timeAltOffset": "offset des alternativen Zeitpunktes",
"days": "Tage auswählen, an denen die nachricht gesendet werden soll",
"addPayload": "zusätzliche Eigenschaften der gesendeten nachricht festlegen",
"addPayloadValue": "Wert der zusätzlichen Eigenschaft",
"addPayloadOffset": "Offset des Wertes",
"addPayloadFormat": "format des Wertes",
"recalcTime": "Intervall in dem eine Neuberechnung des Zeitpunktes zum Senden der Nachricht stattfinden soll.",
"once": "zusätzlich soll beim Start des Flows eine Nachricht (unabhängig von der Zeit) gesendet werden"
},

@@ -47,0 +51,0 @@ "tips": {

@@ -7,6 +7,6 @@ {

"operand1": "Eingangswert 1",
"operand1Format": "parse format",
"operand1Format": "Eingangsformat",
"operand1Offset": "Offset",
"operand2": "Eingangswert 2",
"operand2Format": "parse format",
"operand2Format": "Eingangsformat",
"operand2Offset": "Offset",

@@ -22,6 +22,13 @@ "operator":"Berechnung",

"placeholder": {
"name": "Name",
"offset": "0"
"operand": "Eingangswert",
"operandFormat": "Eingangsformat",
"operandOffset": "Offset",
"operator": "calculation",
"result": "Ergebnis",
"resultValue": "Wert",
"resultTSFormat": "Ausgabeformat",
"resultFormat": "Ausgabeformat",
"resultOffset": "Offset"
}
}
}

@@ -27,17 +27,17 @@ {

"lastMsgOnEndOutTxt": "Zum nächsten Ende wird die letzte Nachricht welche innerhalb der Zeit angekommen ist ausgesendet",
"compareTime":"Vergleichs Basis"
"compareTime":"Vergleichs Basis",
"showEnhSettings":"Erweiterte Einstellungen"
},
"placeholder": {
"propertyStart": "Wert",
"propertyStartThreshold": "schwellwert",
"propertyEnd": "Wert",
"propertyEndThreshold": "schwellwert",
"startTime": "7:40",
"propertyStart": "Eigenschaft for alternative Startzeit",
"propertyStartThreshold": "Schwellwert",
"propertyEnd": "Eigenschaft for alternative Endzeit",
"propertyEndThreshold": "Schwellwert",
"startTime": "Startzeit, Bsp.: 7:40",
"startOffset": "0",
"endTime": "18:15",
"endTime": "Endzeit, Bsp.: 18:15",
"endOffset": "0",
"startTimeAlt": "7:40",
"startTimeAlt": "alternative Startzeit, Bsp.: 7:40",
"startOffsetAlt": "0",
"endTimeAlt": "18:15",
"endTimeAlt": "alternative Endzeit, Bsp.: 18:15",
"endOffsetAlt": "0"

@@ -44,0 +44,0 @@ },

@@ -48,4 +48,4 @@ {

"blindLevelDefault": "position if no other used",
"blindLevelMin": "maximum position if sun calculated position",
"blindLevelMax": "minimum position if sun calculated position",
"blindLevelMin": "minimum position if sun calculated position",
"blindLevelMax": "maximum position if sun calculated position",
"sunControlMode": "select if sun control is active and how it should working",

@@ -52,0 +52,0 @@ "OverwriteExpire": "(opt) the duration a manual setting will remain",

@@ -37,11 +37,8 @@ {

"propertyThreshold": "threshold",
"payloadStart": "",
"payloadEnd": "",
"startTime": "7:40",
"startOffset": "0",
"time": "18:15",
"timeOffset": "0",
"timeAlt": "18:15",
"timeAltOffset": "0",
"days":"select days wherfor it should be valid",
"payload": "payload data of the send message",
"time": "time for inject",
"timeOffset": "offset of time",
"timeAlt": "alternate time",
"timeAltOffset": "offset for alternate time",
"days":"select days wherefore it should be valid",
"addPayload": "allow to add additional property to the send message",

@@ -52,3 +49,3 @@ "addPayloadValue": "value of the additional property",

"recalcTime": "recalculation interval of the defined times",
"once": "define if the node should emit a message independend of the time a message on flow start"
"once": "define if the node should emit a message independent of the time a message on flow start"
},

@@ -55,0 +52,0 @@ "tips": {

@@ -36,13 +36,13 @@ {

"placeholder": {
"propertyStart": "Property",
"propertyStart": "Property for alternate start time",
"propertyStartThreshold": "threshold",
"propertyEnd": "Property",
"propertyEnd": "Property for alternate end time",
"propertyEndThreshold": "threshold",
"startTime": "7:40",
"startTime": "start time, e.g. 7:40",
"startOffset": "0",
"endTime": "18:15",
"endTime": "end time, e.g. 18:15",
"endOffset": "0",
"startTimeAlt": "7:40",
"startTimeAlt": "alternate start time, e.g. 7:40",
"startOffsetAlt": "0",
"endTimeAlt": "18:15",
"endTimeAlt": "alternate end time, e.g. 18:15",
"endOffsetAlt": "0"

@@ -49,0 +49,0 @@ },

@@ -169,2 +169,3 @@ /********************************************

const result = this._moonTimesCheck( now);
// this.debug('getMoonTime moonTimesToday=' + util.inspect(this.moonTimesToday));
result.value = hlp.addOffset(new Date(this.moonTimesToday[value]), offset, multiplier);

@@ -174,3 +175,3 @@ if (next && !isNaN(next) && result.value.getTime() <= now.getTime()) {

result.value = hlp.addOffset(new Date(this.moonTimesTomorow[value]), offset, multiplier);
// this.debug('Moon Times tomorrow =' + util.inspect(this.moonTimesTomorrow));
this.debug('Moon Times tomorrow =' + util.inspect(this.moonTimesTomorow));
} else if (next > 1) {

@@ -197,3 +198,5 @@ this._checkCoordinates();

}
if (isNaN(result.value)) {
result.error = 'No valid time for moon ' + value + ' found!';
}
// this.debug('getMoonTime result' + util.inspect(result));

@@ -207,3 +210,3 @@ return result;

if (type === 'num') {
data = value;
data = Number(value); // extra conversation to handle empty string as 0
} else if (type === '' || (typeof type === 'undefined') || type === null) {

@@ -352,3 +355,3 @@ if (isNaN(value)) {

/*******************************************************************************************************/
getTimeProp(_srcNode, msg, vType, value, offset, offsetType, multiplier, next, days) {
getTimeProp(_srcNode, msg, vType, value,offsetType, offset, multiplier, next, days) {
// this.debug('getTimeProp [' + hlp.getNodeId(_srcNode) + '] vType=' + vType + ' value=' + value + ' offset=' + offset + ' offsetType=' + offsetType + ' multiplier=' + multiplier + ' next=' + next + ' days=' + days);

@@ -787,4 +790,2 @@ let result = {

RED.httpAdmin.get('/sun-position/data', RED.auth.needsPermission('sun-position.read'), (req, res) => {
console.log('getting request');
console.log(req);
if (req.query.config && req.query.config !== '_ADD_') {

@@ -798,6 +799,6 @@ const posConfig = RED.nodes.getNode(req.query.config);

switch (req.query.kind) {
case 'getFloatProp': {
case 'getTimeData': {
try {
obj.value = posConfig.getFloatProp(posConfig, undefined, req.query.type, req.query.value, NaN);
} catch (err) {
obj = posConfig.getTimeProp(posConfig, undefined, req.query.type, req.query.value, req.query.offsetType, req.query.offset, req.query.multiplier, req.query.next, req.query.days);
} catch(err) {
obj.value = NaN;

@@ -809,5 +810,5 @@ obj.error = err;

}
case 'getTimeProp': {
case 'getDateData': {
try {
obj = posConfig.getTimeProp(posConfig, undefined, req.query.type, req.query.value, req.query.offset, req.query.offsetType, req.query.multiplier, req.query.next, req.query.days);
obj = posConfig.getDateFromProp(posConfig, undefined, req.query.type, req.query.value, req.query.format, req.query.offset, req.query.offsetType, req.query.multiplier);
} catch(err) {

@@ -820,5 +821,5 @@ obj.value = NaN;

}
case 'getDateProp': {
case 'getOutDataData': {
try {
obj = posConfig.getDateFromProp(posConfig, undefined, req.query.type, req.query.value, req.query.format, req.query.offset, req.query.offsetType, req.query.multiplier);
obj = posConfig.getOutDataProp(posConfig, undefined, req.query.type, req.query.value, req.query.format, req.query.offset, req.query.offsetType, req.query.multiplier, req.query.days);
} catch(err) {

@@ -825,0 +826,0 @@ obj.value = NaN;

@@ -228,3 +228,2 @@ /************************************************************************/

icon: 'icons/node-red-contrib-sun-position/inputTypeSunClock.png',
hasValue: false,
options: [ 'astronomicalDawn', 'amateurDawn', 'nauticalDawn', 'blueHourDawnStart', 'civilDawn', 'blueHourDawnEnd',

@@ -238,3 +237,2 @@ 'sunrise', 'sunriseEnd', 'goldenHourEnd', 'solarNoon', 'goldenHourStart', 'sunsetStart', 'sunset', 'blueHourDuskStart',

icon: 'icons/node-red-contrib-sun-position/inputTypeMoonClock.png',
hasValue: false,
options: ['rise', 'set']

@@ -681,36 +679,25 @@ },

function getFloatProp(result, config, type, value) { // eslint-disable-line no-unused-vars
const url = '/sun-position/data?config=' + config + '&kind=getFloatProp&type=' + type + '&value=' + value;
$.getJSON(url, result );
}
function getTimeProp(result, config, type, value, offset, offsetType, multiplier, next, days) { // eslint-disable-line no-unused-vars
if (type === 'none' || type === '' || type === 'json' || type === 'jsonata' || type === 'bin') {
result({ value: ''});
} else if (type === 'num' || type === 'str' || type === 'bool') {
result({ value: value });
} else if (type === 'msg' || type === 'flow' || type === 'global' || type === 'env') {
result({ value: type + '.' + value });
} else if (type === 'msgPayload') {
function getTimeData(result, data) { // eslint-disable-line no-unused-vars
if (!data || data.type === 'none' || data.type === '' || data.type === 'json' || data.type === 'jsonata' || data.type === 'bin') {
result({ value: data.type});
} else if (data.type === 'num' || data.type === 'str' || data.type === 'bool') {
result({ value: data.value });
} else if (data.type === 'msg' || data.type === 'flow' || data.type === 'global' || data.type === 'env') {
result({ value: data.type + '.' + data.value });
} else if (data.type === 'msgPayload') {
result({ value: 'msg.payload' });
} else if (type === 'msgTs') {
} else if (data.type === 'msgTs') {
result({ value: 'msg.ts' });
} else if (type === 'msgLC') {
} else if (data.type === 'msgLC') {
result({ value: 'msg.lc' });
} else if (type === 'msgValue') {
} else if (data.type === 'msgValue') {
result({ value: 'msg.value' });
} else if (type === 'msgDelay') {
} else if (data.type === 'msgDelay') {
result({ value: 'msg.delay' });
} else if (type === 'msgOnTime') {
} else if (data.type === 'msgOnTime') {
result({ value: 'msg.onTime' });
} else if (type === 'msgRampTime') {
} else if (data.type === 'msgRampTime') {
result({ value: 'msg.rampTime' });
} else {
let url = '/sun-position/data?config=' + config + '&kind=getTimeProp&type=' + type + '&value=' + value;
if (offset) { url += '&offset=' + offset; }
if (offsetType) { url += '&offsetType=' + offsetType; }
if (multiplier) { url += '&multiplier=' + multiplier; }
if (next) { url += '&next=' + next; }
if (days) { url += '&days=' + days; }
const url = '/sun-position/data?kind=getTimeData&' + jQuery.param( data );
$.getJSON(url, result);

@@ -720,9 +707,32 @@ }

function getDateProp(result, config, type, value, format, offset, offsetType, multiplier) { // eslint-disable-line no-unused-vars
let url = '/sun-position/data?config=' + config + '&kind=getDateProp&type=' + type + '&value=' + value;
if (format) { url += '&format=' + format; }
if (offset) { url += '&offset=' + offset; }
if (offsetType) { url += '&offsetType=' + offsetType; }
if (multiplier) { url += '&multiplier=' + multiplier; }
function getDateData(result, data) { // eslint-disable-line no-unused-vars
const url = '/sun-position/data?kind=getDateData&' + jQuery.param( data );
$.getJSON(url, result);
}
function getOutDataData(result, data) { // eslint-disable-line no-unused-vars
if (data.type === 'none' || data.type === '' || data.type === 'json' || data.type === 'jsonata' || data.type === 'bin') {
result(data.type);
} else if (data.type === 'num' || data.type === 'str' || data.type === 'bool') {
result(data.value);
} else if (data.type === 'msg' || data.type === 'flow' || data.type === 'global' || data.type === 'env') {
result(data.type + '.' + data.value);
} else if (data.type === 'msgPayload') {
result('msg.payload');
} else if (data.type === 'msgTs') {
result('msg.ts');
} else if (data.type === 'msgLC') {
result('msg.lc');
} else if (data.type === 'msgValue') {
result('msg.value');
} else if (data.type === 'msgDelay') {
result('msg.delay');
} else if (data.type === 'msgOnTime') {
result('msg.onTime');
} else if (data.type === 'msgRampTime') {
result('msg.rampTime');
} else {
const url = '/sun-position/data?kind=getOutDataData&' + jQuery.param( data );
$.getJSON(url, result);
}
}

@@ -64,3 +64,3 @@ /********************************************

if (node.startType !== 'none') {
const startTime = node.positionConfig.getTimeProp(node, msg, node.startType, node.start, node.startOffset, node.startOffsetType, node.startOffsetMultiplier);
const startTime = node.positionConfig.getTimeProp(node, msg, node.startType, node.start, node.startOffsetType, node.startOffset, node.startOffsetMultiplier);
node.debug('startTime: ' + util.inspect(startTime));

@@ -77,3 +77,3 @@ if (startTime.error) {

if (node.endType !== 'none') {
const endTime = node.positionConfig.getTimeProp(node, msg, node.endType, node.end, node.endOffset, node.endOffsetType, node.endOffsetMultiplier);
const endTime = node.positionConfig.getTimeProp(node, msg, node.endType, node.end, node.endOffsetType, node.endOffset, node.endOffsetMultiplier);
node.debug('endTime: ' + util.inspect(endTime));

@@ -80,0 +80,0 @@ if (endTime.error) {

@@ -107,3 +107,3 @@ /********************************************

if (node.timeType !== 'none' && node.positionConfig) {
node.nextTimeData = node.positionConfig.getTimeProp(node, undefined, node.timeType, node.time, node.offset, node.offsetType, node.offsetMultiplier, 1, node.timeDays);
node.nextTimeData = node.positionConfig.getTimeProp(node, undefined, node.timeType, node.time, node.offsetType, node.offset, node.offsetMultiplier, 1, node.timeDays);
if (node.nextTimeData.error) {

@@ -128,3 +128,3 @@ errorStatus = 'could not evaluate time';

// (_srcNode, msg, vType, value, offset, offsetType, multiplier, next, days)
node.nextTimeAltData = node.positionConfig.getTimeProp(node, undefined, node.timeAltType, node.timeAlt, node.timeAltOffset, node.timeAltOffsetType, node.timeAltOffsetMultiplier, 1, node.timeAltDays);
node.nextTimeAltData = node.positionConfig.getTimeProp(node, undefined, node.timeAltType, node.timeAlt, node.timeAltOffsetType, node.timeAltOffset, node.timeAltOffsetMultiplier, 1, node.timeAltDays);
if (node.nextTimeAltData.error) {

@@ -131,0 +131,0 @@ errorStatus = 'could not evaluate alternate time';

@@ -134,7 +134,7 @@ /********************************************

// node.debug('using alternate start time ' + result.altStartTime + ' - ' + config.startTimeAltType);
result.start = node.positionConfig.getTimeProp(node, msg, config.startTimeAltType, config.startTimeAlt, config.startOffsetAlt, config.startOffsetAltType, config.startOffsetAltMultiplier);
result.start = node.positionConfig.getTimeProp(node, msg, config.startTimeAltType, config.startTimeAlt, config.startOffsetAltType, config.startOffsetAlt, config.startOffsetAltMultiplier);
result.startSuffix = '⎇ ';
} else {
// node.debug('using standard start time ' + result.altStartTime + ' - ' + config.startTimeAltType);
result.start = node.positionConfig.getTimeProp(node, msg, config.startTimeType, config.startTime, config.startOffset, config.startOffsetType, config.startOffsetMultiplier);
result.start = node.positionConfig.getTimeProp(node, msg, config.startTimeType, config.startTime, config.startOffsetType, config.startOffset, config.startOffsetMultiplier);
}

@@ -144,7 +144,7 @@

// node.debug('using alternate end time ' + result.altEndTime + ' - ' + config.startTimeAltType);
result.end = node.positionConfig.getTimeProp(node, msg, config.endTimeAltType, config.endTimeAlt, config.endOffsetAlt, config.endOffsetAltType, config.endOffsetAltMultiplier);
result.end = node.positionConfig.getTimeProp(node, msg, config.endTimeAltType, config.endTimeAlt, config.endOffsetAltType, config.endOffsetAlt, config.endOffsetAltMultiplier);
result.endSuffix = ' ⎇';
} else {
// node.debug('using standard end time ' + result.altEndTime + ' - ' + config.startTimeAltType);
result.end = node.positionConfig.getTimeProp(node, msg, config.endTimeType, config.endTime, config.endOffset, config.endOffsetType, config.endOffsetMultiplier);
result.end = node.positionConfig.getTimeProp(node, msg, config.endTimeType, config.endTime, config.endOffsetType, config.endOffset, config.endOffsetMultiplier);
}

@@ -151,0 +151,0 @@

{
"name": "node-red-contrib-sun-position",
"version": "0.3.0-beta-3",
"version": "0.3.0-beta-4",
"description": "NodeRED nodes to get sun and moon position",

@@ -5,0 +5,0 @@ "keywords": [

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc