A Node-RED node to calculate the position of the sun at a given location.
Run the following command in the root directory of your Node-RED install
npm install node-red-contrib-sunpos
This node calculates the position of the sun at a given location. It is configured with the following properties:
- lat: latitude of the location
- lon: longitude of the location
- start: time of day that constitutes the start of daylight hours
- startOffset: offset to be applied for start of daylight hours, a negative value brings the start forward, a positive value delays
- end: time of day that constitutes the end of daylight hours
- endOffset: offset to be applied for end of daylight hours
This node emits a msg.payload with the following properties:
- startTime: time of day that constitutes the start of daylight hours (inclusive of offset)
- endTime: time of day that constitutes the end of daylight hours (inclusive of offset)
- sunInSky: boolean value indicating whether it is currently considered daylight hours
- altitude: altitude of the sun above the horizon in degrees
- azimuth: azimuth of the sun in degrees, where 0 is North
- altitudeRadians: altitude of the sun above the horizon in radians
- azimuthRadians: azimuth of the sun in radians, where 0 is South, a positive value is in the west and negative value in the east
The node also sets the following msg properties:
- location: with the coordinates of the location
- sunTimes: an object containing various sunlight times
- topic: to "sun"
All times in msg.payload are milliseconds since midnight Jan 1 1970.
The node also reports its status within the Node-RED flow editor, using colour to indicate whether it is currently considered daylight hours.