An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          

# node-red-contrib-sunpos
[![npm version](https://badge.fury.io/js/node-red-contrib-sunpos.svg)](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