https://github.com/alisdairjsmyth/node-red-contrib-sunpos
Node-RED node that emits the position of the sun
https://github.com/alisdairjsmyth/node-red-contrib-sunpos
node-red sun-position
Last synced: 8 months ago
JSON representation
Node-RED node that emits the position of the sun
- Host: GitHub
- URL: https://github.com/alisdairjsmyth/node-red-contrib-sunpos
- Owner: alisdairjsmyth
- License: apache-2.0
- Created: 2015-10-20T10:57:11.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2019-03-22T03:22:36.000Z (over 6 years ago)
- Last Synced: 2025-01-28T23:13:10.411Z (10 months ago)
- Topics: node-red, sun-position
- Language: HTML
- Size: 32.2 KB
- Stars: 1
- Watchers: 3
- Forks: 5
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# node-red-contrib-sunpos
[](https://badge.fury.io/js/node-red-contrib-sunpos)
A Node-RED node to calculate the position of the sun at a given location.
## Install
Run the following command in the root directory of your Node-RED install
npm install node-red-contrib-sunpos
## Usage
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 can optionally receive a time via an input message containing **msg.time** conforming to Javascript Date object, otherwise it will use the current time.
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.
## Credit
This Node is based on, and has used code from, another node-RED Node called suncalc published by dceejay