New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

node-red-contrib-eztimer

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-red-contrib-eztimer

A simple-yet-flexible timer/scheduler for node-red

  • 1.0.4
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
248
decreased by-43.64%
Maintainers
1
Weekly downloads
 
Created
Source

eztimer

Timer/scheduler for node-red which allows you to enter on/off times as 24hr clock (e.g. 01:10) or suncalc events (e.g. goldenHour). It also allows you to offset times and randomise the time within the offset.

Forked from (retaining much of the code, including this document) schedex which was in turn inspired by Pete Scargill's BigTimer, so hat-tip to both those coders.

Emphasis has been put on creating a simple interface and utilising built-in node-red formatting helpers (such as creating a JSON payload).

Installation

This node requires node 4.x. It's tested against 4.6.1.

$ cd ~/.node-red
$ npm install node-red-contrib-eztimer

Configuration

Schedule

The scheduling days allow you to choose which days of the week to schedule events. Unticking all days will suspend scheduling.

Suspending scheduling

The 'Suspend scheduling' checkbox allows you to disable time scheduling. If scheduling is suspended, eztimer will only generate output events upon receipt of input 'on' and 'off' events (see below).

This setting is provided for the situation where you temporarily don't want time based activation and don't want to rewire your Node-RED flow.

Times

Select the type of trigger from the dropdown and this will provide either a fruther dropdown (for suncalc events), or a text box to enter either a 24hr time (HH:mm) or, for the off event, a duration (hh:mm:ss).

Offsets

The on and off time can have an offset. This is specified in minutes:

  • -ve number brings the time forward. E.g. if the time is dusk and offset is -60, a message will be generated 60 minutes before dusk.
  • +ve number delays the time by the specified number of minutes

Randomisation of times

Both on and off times can be randomised by ticking "Use random time within offset period". For example, if you specify dusk with an offset of -60 minutes, every day a message will be generated at a random time in a 60 minute window before dusk.

Inputs

You can wire inject nodes to the input of this node and send the following in msg.payload.

msg.payloadDescription
onTriggers manual on mode and causes eztimer to emit the configured on event. Manual mode is reset when the next on or off time is reached
offTriggers manual off mode and causes eztimer to emit the configured off event. Manual mode is reset when the next on or off time is reached
infoeztimer emits an object containing the on and off times in UTC format. It also contains the state which is either on or off.

'## Programmatic Control

This node supports programmatic time control as well as configuration via the NodeRED UI.

It is very important to note that properties set programmatically in this manner are transient. They will not persist over a NodeRED restart or redeploy!

Note that both the property-based and string-based specifications are overrides that violate the usual behavior. See here for further discussion https://github.com/node-red/node-red/issues/399.

You can set the following:

PropertyType
msg.payload.suspendedBoolean: true will suspend scheduling, false will resume scheduling
msg.payload.ontimeString value as specified in the table above for time configuration
msg.payload.ontopicString value emitted as the topic for the on event
msg.payload.onpayloadString value emitted as the payload for the on event
msg.payload.onoffsetNumber value as specified above for Offset configuration
msg.payload.onrandomoffsetBoolean value as specified above in Randomisation of Times
msg.payload.offtimeString value as specified in the table above for time configuration
msg.payload.offtopicString value emitted as the topic for the off event
msg.payload.offpayloadString value emitted as the payload for the off event
msg.payload.offoffsetNumber value as specified above for Offset configuration
msg.payload.offrandomoffsetBoolean value as specified above in Randomisation of Times
msg.payload.monBoolean: true enables the schedule on a Monday, false disables it.
msg.payload.tueBoolean: true enables the schedule on a Tuesday, false disables it.
msg.payload.wedBoolean: true enables the schedule on a Wednesday, false disables it.
msg.payload.thuBoolean: true enables the schedule on a Thursday, false disables it.
msg.payload.friBoolean: true enables the schedule on a Friday, false disables it.
msg.payload.satBoolean: true enables the schedule on a Saturday, false disables it.
msg.payload.sunBoolean: true enables the schedule on a Sunday, false disables it.

Alternatively, you can send msg.payload as a string with the following values:

Example msg.payloadDescription
suspended truetrue will suspend scheduling, false will resume scheduling
ontime 12:00Time as specified in the table above for time configuration
ontopic my_topicSets the topic for the on event (no spaces)
onpayload my_payloadSets the payload for the on event (no spaces)
onoffset 30Sets the offset for the on event
onrandomoffset trueSets the random offset for the on event
offtime duskTime as specified in the table above for time configuration
offtopic my_topicSets the topic for the off event (no spaces)
offpayload my_payloadSets the payload for the off event (no spaces)
offoffset -30Sets the offset for the off event
offrandomoffset falseSets the random offset for the off event
mon falseDisables the schedule on a Monday
tue trueEnables the schedule on a Tuesday
ontime 16:30 onoffset 60 onrandomoffset trueSets the time, offset and random offset for the on event

Keywords

FAQs

Package last updated on 06 Nov 2018

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc