node-red-contrib-sun-position
Advanced tools
Comparing version 1.0.0-alpha-5 to 1.0.0-alpha-6
@@ -16,4 +16,3 @@ /******************************************** | ||
const cRuleLogOperatorOr = 1; | ||
const cautoTriggerTimeFull = 60 * 60000; // <- 1h | ||
// const cautoTriggerTimeSmall = 10 * 60000; // 10 min | ||
const cautoTriggerTime = 20 * 60000; | ||
@@ -222,10 +221,10 @@ /******************************************************************************************/ | ||
let overrideTopic = undefined; | ||
if (!onlyTrigger && msg.payload) { | ||
if (msg.payload.value && (msg.payload.expires || msg.payload.prio || msg.payload.priority)) { | ||
overrideData = msg.payload.value; | ||
overrideTopic = msg.topic; | ||
} else if (msg.topic && (msg.topic.includes('manual') || | ||
if (!onlyTrigger && typeof msg.payload !== 'undefined') { | ||
if (msg.topic && (msg.topic.includes('manual') || | ||
msg.topic.includes('overwrite'))) { | ||
overrideData = msg.payload; | ||
overrideTopic = msg.topic; | ||
} else if (typeof msg.payload === 'object' && (msg.payload.value && (msg.payload.expires || msg.payload.prio || msg.payload.priority))) { | ||
overrideData = msg.payload.value; | ||
overrideTopic = msg.topic; | ||
} | ||
@@ -666,4 +665,6 @@ } | ||
node.reason.stateComplete = node.reason.state ; | ||
if (timeCtrl.payload && typeof timeCtrl.payload !== 'object') { | ||
node.reason.stateComplete = hlp.clipStrLength(timeCtrl.payload.toString(),10) + ' - ' + node.reason.stateComplete; | ||
if (timeCtrl.payloadOut === null || typeof timeCtrl.payloadOut !== 'object') { | ||
node.reason.stateComplete = hlp.clipStrLength(''+timeCtrl.payloadOut,20) + ' - ' + node.reason.stateComplete; | ||
} else if (typeof timeCtrl.payloadOut === 'object') { | ||
node.reason.stateComplete = hlp.clipStrLength(JSON.stringify(timeCtrl.payloadOut),20) + ' - ' + node.reason.stateComplete; | ||
} | ||
@@ -702,3 +703,3 @@ node.status({ | ||
timeClock: node.timeClockData, | ||
payload: node.payload.current | ||
payloadOut: node.payload.current | ||
}; | ||
@@ -713,3 +714,3 @@ const tempData = node.context().get('cacheData',node.storeName) || {}; | ||
if (node.autoTrigger) { | ||
node.autoTriggerTime = cautoTriggerTimeFull; | ||
node.autoTriggerTime = cautoTriggerTime; | ||
node.autoTriggerType = 0; | ||
@@ -745,4 +746,5 @@ } | ||
if (node.payload.current && | ||
if (typeof node.payload.current !== 'undefined' && | ||
node.payload.current !== 'none' && | ||
node.payload.current !== null && | ||
((node.reason.code !== previousData.reasonCode) || | ||
@@ -749,0 +751,0 @@ (ruleId !== previousData.usedRule))) { |
@@ -13,2 +13,3 @@ /******************************************** | ||
// (function() { | ||
/*******************************************************************************************************/ | ||
@@ -92,5 +93,5 @@ const moonPhases = [{ | ||
/** | ||
* creates a new instance of the settings node and initializes them | ||
* @param {*} config - configuration of the node | ||
*/ | ||
* creates a new instance of the settings node and initializes them | ||
* @param {*} config - configuration of the node | ||
*/ | ||
constructor(config) { | ||
@@ -147,5 +148,5 @@ RED.nodes.createNode(this, config); | ||
/** | ||
* register a node as child | ||
* @param {*} node node to register as child node | ||
*/ | ||
* register a node as child | ||
* @param {*} node node to register as child node | ||
*/ | ||
register(node) { | ||
@@ -156,7 +157,7 @@ this.users[node.id] = node; | ||
/** | ||
* remove a previous registered node as child | ||
* @param {*} node node to remove | ||
* @param {function} done function which should be executed after deregister | ||
* @returns {*} result of the function | ||
*/ | ||
* remove a previous registered node as child | ||
* @param {*} node node to remove | ||
* @param {function} done function which should be executed after deregister | ||
* @returns {*} result of the function | ||
*/ | ||
deregister(node, done) { | ||
@@ -168,26 +169,26 @@ delete node.users[node.id]; | ||
/** | ||
* @typedef {Object} timeresult | ||
* @property {Date} value - a Date object of the neesed date/time | ||
* @property {number} ts - The time as unix timestamp | ||
* @property {number} pos - The position of the sun on the time | ||
* @property {number} angle - Angle of the sun on the time | ||
* @property {number} julian - The time as julian calendar | ||
* @property {boolean} valid - indicates if the time is valid or not | ||
*/ | ||
* @typedef {Object} timeresult | ||
* @property {Date} value - a Date object of the neesed date/time | ||
* @property {number} ts - The time as unix timestamp | ||
* @property {number} pos - The position of the sun on the time | ||
* @property {number} angle - Angle of the sun on the time | ||
* @property {number} julian - The time as julian calendar | ||
* @property {boolean} valid - indicates if the time is valid or not | ||
*/ | ||
/** | ||
* @typedef {Object} erroresult | ||
* @property {string} error - string of an error message if an error occurs | ||
*/ | ||
* @typedef {Object} erroresult | ||
* @property {string} error - string of an error message if an error occurs | ||
*/ | ||
/** | ||
* gets sun time by Name | ||
* @param {Date} now current time | ||
* @param {string} value name of the sun time | ||
* @param {number} [offset] the offset (positive or negative) which should be added to the date. If no multiplier is given, the offset must be in milliseconds. | ||
* @param {number} [multiplier] additional multiplier for the offset. Should be a positive Number. Special value -1 if offset is in month and -2 if offset is in years | ||
* @param {number} [next] if greater than 0 the number of days in the future | ||
* @param {string} [days] days for which should be calculated the sun time | ||
* @return {timeresult|erroresult} result object of sunTime | ||
*/ | ||
* gets sun time by Name | ||
* @param {Date} now current time | ||
* @param {string} value name of the sun time | ||
* @param {number} [offset] the offset (positive or negative) which should be added to the date. If no multiplier is given, the offset must be in milliseconds. | ||
* @param {number} [multiplier] additional multiplier for the offset. Should be a positive Number. Special value -1 if offset is in month and -2 if offset is in years | ||
* @param {number} [next] if greater than 0 the number of days in the future | ||
* @param {string} [days] days for which should be calculated the sun time | ||
* @return {timeresult|erroresult} result object of sunTime | ||
*/ | ||
getSunTimeByName(now, value, offset, multiplier, next, days) { | ||
@@ -243,6 +244,6 @@ let result; | ||
/** | ||
* gets previous and next sun time | ||
* @param {Date} now current time | ||
* @return {array} result object of sunTime | ||
*/ | ||
* gets previous and next sun time | ||
* @param {Date} now current time | ||
* @return {array} result object of sunTime | ||
*/ | ||
getSunTimePrevNext(now) { | ||
@@ -351,16 +352,16 @@ let dayid = hlp.getDayId(now); // this._getUTCDayId(now); | ||
/** | ||
* @typedef {Object} moontime | ||
* @property {Date|NaN} value - a Date object of the neesed date/time | ||
*/ | ||
* @typedef {Object} moontime | ||
* @property {Date|NaN} value - a Date object of the neesed date/time | ||
*/ | ||
/** | ||
* gets moon time | ||
* @param {Date} now current time | ||
* @param {string} value name of the moon time | ||
* @param {number} [offset] the offset (positive or negative) which should be added to the date. If no multiplier is given, the offset must be in milliseconds. | ||
* @param {number} [multiplier] additional multiplier for the offset. Should be a positive Number. Special value -1 if offset is in month and -2 if offset is in years | ||
* @param {number} [next] if greater than 0 the number of days in the future | ||
* @param {string} [days] days for which should be calculated the moon time | ||
* @return {moontime|erroresult} result object of moon time | ||
*/ | ||
* gets moon time | ||
* @param {Date} now current time | ||
* @param {string} value name of the moon time | ||
* @param {number} [offset] the offset (positive or negative) which should be added to the date. If no multiplier is given, the offset must be in milliseconds. | ||
* @param {number} [multiplier] additional multiplier for the offset. Should be a positive Number. Special value -1 if offset is in month and -2 if offset is in years | ||
* @param {number} [next] if greater than 0 the number of days in the future | ||
* @param {string} [days] days for which should be calculated the moon time | ||
* @return {moontime|erroresult} result object of moon time | ||
*/ | ||
getMoonTimeByName(now, value, offset, multiplier, next, days) { | ||
@@ -420,6 +421,6 @@ const result = {}; | ||
/** | ||
* Formate a Date Object to a Date and Time String | ||
* @param {Date} dt Date to format to Date and Time string | ||
* @returns {string} formated Date object | ||
*/ | ||
* Formate a Date Object to a Date and Time String | ||
* @param {Date} dt Date to format to Date and Time string | ||
* @returns {string} formated Date object | ||
*/ | ||
toDateTimeString(dt) { | ||
@@ -430,6 +431,6 @@ return (this.toDateString(dt) + ' ' + this.toTimeString(dt)).trim(); | ||
/** | ||
* Formate a Date Object to a Time String | ||
* @param {Date} dt Date to format to trime string | ||
* @returns {string} formated Date object | ||
*/ | ||
* Formate a Date Object to a Time String | ||
* @param {Date} dt Date to format to trime string | ||
* @returns {string} formated Date object | ||
*/ | ||
toTimeString(dt) { | ||
@@ -443,6 +444,6 @@ if (!this.tzOffset && this.stateTimeFormat === '3') { | ||
/** | ||
* Formate a Date Object to a Date String | ||
* @param {Date} dt Date to format to Date string | ||
* @returns {string} formated Date object | ||
*/ | ||
* Formate a Date Object to a Date String | ||
* @param {Date} dt Date to format to Date string | ||
* @returns {string} formated Date object | ||
*/ | ||
toDateString(dt) { | ||
@@ -456,11 +457,11 @@ if (!this.tzOffset && this.stateDateFormat === '12') { | ||
/** | ||
* get a float value from a type input in Node-Red | ||
* @param {*} _srcNode - source node information | ||
* @param {*} msg - message object | ||
* @param {string} type - type name of the type input | ||
* @param {*} value - value of the type input | ||
* @param {*} [def] - default value if can not get float value | ||
* @param {*} [opCallback] - callback function for getting getPropValue | ||
* @returns {number} float property | ||
*/ | ||
* get a float value from a type input in Node-Red | ||
* @param {*} _srcNode - source node information | ||
* @param {*} msg - message object | ||
* @param {string} type - type name of the type input | ||
* @param {*} value - value of the type input | ||
* @param {*} [def] - default value if can not get float value | ||
* @param {*} [opCallback] - callback function for getting getPropValue | ||
* @returns {number} float property | ||
*/ | ||
getFloatProp(_srcNode, msg, type, value, def, opCallback, noError) { | ||
@@ -494,21 +495,21 @@ // _srcNode.debug('getFloatProp type='+type+' value='+value); | ||
/** | ||
* @typedef {Object} outPropType | ||
* @property {string} type - type name of the type input | ||
* @property {string} value - value of the type input | ||
* @property {string|number} format - format of the input | ||
* @property {string} [offset] - value of the offset type input | ||
* @property {string} [offsetType] - type name of the offset type input | ||
* @property {number} [multiplier] - multiplier to the time | ||
* @property {boolean} [next] - if __true__ the next date will be delivered starting from now, otherwise the matching date of the date from now | ||
* @property {string} [days] - valid days | ||
* @property {Date} [now] - base date, current time as default | ||
*/ | ||
* @typedef {Object} outPropType | ||
* @property {string} type - type name of the type input | ||
* @property {string} value - value of the type input | ||
* @property {string|number} format - format of the input | ||
* @property {string} [offset] - value of the offset type input | ||
* @property {string} [offsetType] - type name of the offset type input | ||
* @property {number} [multiplier] - multiplier to the time | ||
* @property {boolean} [next] - if __true__ the next date will be delivered starting from now, otherwise the matching date of the date from now | ||
* @property {string} [days] - valid days | ||
* @property {Date} [now] - base date, current time as default | ||
*/ | ||
/** | ||
* get the time Data prepared for output | ||
* @param {*} _srcNode - source node for logging | ||
* @param {*} [msg] - the message object | ||
* @param {outPropType} data - a Data object | ||
* @returns {*} output Data | ||
*/ | ||
* get the time Data prepared for output | ||
* @param {*} _srcNode - source node for logging | ||
* @param {*} [msg] - the message object | ||
* @param {outPropType} data - a Data object | ||
* @returns {*} output Data | ||
*/ | ||
getOutDataProp(_srcNode, msg, data) { | ||
@@ -576,28 +577,28 @@ // _srcNode.debug(`getOutDataProp IN data=${util.inspect(data, { colors: true, compact: 10, breakLength: Infinity }) } tzOffset=${this.tzOffset}`); | ||
/** | ||
* @typedef {Object} timePropType | ||
* @property {string} type - type name of the type input | ||
* @property {string} value - value of the type input | ||
* @property {string|number} [format] - format of the input | ||
* @property {string} [offset] - value of the offset type input | ||
* @property {string} [offsetType] - type name of the offset type input | ||
* @property {number} [multiplier] - multiplier to the time | ||
* @property {boolean} [next] - if __true__ the next date will be delivered starting from now, otherwise the matching date of the date from now | ||
* @property {string} [days] - valid days | ||
* @property {Date} [now] - base date, current time as default | ||
*/ | ||
* @typedef {Object} timePropType | ||
* @property {string} type - type name of the type input | ||
* @property {string} value - value of the type input | ||
* @property {string|number} [format] - format of the input | ||
* @property {string} [offset] - value of the offset type input | ||
* @property {string} [offsetType] - type name of the offset type input | ||
* @property {number} [multiplier] - multiplier to the time | ||
* @property {boolean} [next] - if __true__ the next date will be delivered starting from now, otherwise the matching date of the date from now | ||
* @property {string} [days] - valid days | ||
* @property {Date} [now] - base date, current time as default | ||
*/ | ||
/** | ||
* @typedef {Object} timePropResultType | ||
* @property {Date} value - the Date value | ||
* @property {string} error - error message if an error has occured | ||
* @property {boolean} fix - indicator if the given time value is a fix date | ||
*/ | ||
* @typedef {Object} timePropResultType | ||
* @property {Date} value - the Date value | ||
* @property {string} error - error message if an error has occured | ||
* @property {boolean} fix - indicator if the given time value is a fix date | ||
*/ | ||
/** | ||
* get the time Data from a typed input | ||
* @param {*} _srcNode - source node for logging | ||
* @param {*} [msg] - the message object | ||
* @param {timePropType} data - a Data object | ||
* @returns {timePropResultType} value of the type input | ||
*/ | ||
* get the time Data from a typed input | ||
* @param {*} _srcNode - source node for logging | ||
* @param {*} [msg] - the message object | ||
* @param {timePropType} data - a Data object | ||
* @returns {timePropResultType} value of the type input | ||
*/ | ||
getTimeProp(_srcNode, msg, data) { | ||
@@ -722,15 +723,15 @@ // _srcNode.debug(`getTimeProp data=${util.inspect(data, { colors: true, compact: 10, breakLength: Infinity })} tzOffset=${this.tzOffset}`); | ||
/** | ||
* @typedef {Object} propValueType | ||
* @property {string} type - type name of the type input | ||
* @property {string} value - value of the type input | ||
* @property {function} [callback] - function which should be called after value was recived | ||
*/ | ||
* @typedef {Object} propValueType | ||
* @property {string} type - type name of the type input | ||
* @property {string} value - value of the type input | ||
* @property {function} [callback] - function which should be called after value was recived | ||
*/ | ||
/** | ||
* get a property value from a type input in Node-Red | ||
* @param {*} _srcNode - source node information | ||
* @param {*} msg - message object | ||
* @param {propValueType} data - data object with more information | ||
* @returns {*} value of the type input, return of the callback function if defined or __null__ if value could not resolved | ||
*/ | ||
* get a property value from a type input in Node-Red | ||
* @param {*} _srcNode - source node information | ||
* @param {*} msg - message object | ||
* @param {propValueType} data - data object with more information | ||
* @returns {*} value of the type input, return of the callback function if defined or __null__ if value could not resolved | ||
*/ | ||
getPropValue(_srcNode, msg, data) { | ||
@@ -1234,2 +1235,3 @@ _srcNode.debug(`getPropValue ${data.type}.${data.value} (${data.addID}) - data= ${util.inspect(data, { colors: true, compact: 10, breakLength: Infinity })}`); | ||
}); | ||
}; | ||
}; | ||
// })(); |
@@ -948,3 +948,3 @@ /************************************************************************/ | ||
function getBackendData(result, data) { // eslint-disable-line no-unused-vars | ||
console.log('[IN getBackendData] ',data); // eslint-disable-line | ||
// console.log('[IN getBackendData] ',data); // eslint-disable-line | ||
let res = ''; | ||
@@ -1011,2 +1011,15 @@ if (!data || data.type === 'none' || data.type === '' || data.type === 'jsonata' || data.type === 'json' || data.type === 'bin') { | ||
return ((add) ? add : ''); | ||
} | ||
/** | ||
* get the value for the day checkbox array | ||
* @param {jQuery} value - the checkbox array | ||
* @returns {string} the value of the checkboxes | ||
*/ | ||
function getDaysStr(value) { // eslint-disable-line no-unused-vars | ||
const days = value.map((_, el) => { return $(el).val(); }).get(); | ||
if (days.length === 0) { return ''; } | ||
if (days.length === 7) { return '*'; } | ||
return days.join(','); | ||
} |
{ | ||
"name": "node-red-contrib-sun-position", | ||
"version": "1.0.0-alpha-5", | ||
"version": "1.0.0-alpha-6", | ||
"description": "NodeRED nodes to get sun and moon position", | ||
@@ -5,0 +5,0 @@ "keywords": [ |
Sorry, the diff of this file is too big to display
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
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
10248
1434039