npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

node-red-contrib-smithtek-schedule

v1.8.3

Published

Smithtek 24-channel irrigation scheduler with Smithtek.cloud integration

Readme

smithtek-irrigation-scheduler

SmithTek format

Installation

Install the smithtek-irrigation-scheduler using the Node-RED Palette Manager, or place it manually into your Node-RED ~/.node-red/nodes directory and restart Node-RED.

Usage

The smithtek-irrigation-scheduler node is designed to work in conjunction with the Schedule Widget inside Smithtek.cloud. It retrieves schedule data from the cloud and controls up to 24 outputs (stations) based on that data. it uses the PassPort CPU clock, so even during network outages it will use the onboard RTC to maintain the correct time, If you Change your PassPort local time using the RTC node it will alter the scheduling working time. you must make sure the times selected are in line with your application needs. The configuration is stored in the PassPort so even after power cycles it will load the last config and continue. This is good for poor network coms and/or unstable power systems.

Each schedule created in the cloud matches an output in Node-RED:

  • The first schedule controls output1
  • The second schedule controls output2
  • … and so on, up to output24

SmithTek format

Setup smithtek-irrigation-scheduler

  1. Drag the smithtek-irrigation-scheduler node into your Node-RED flow
  2. Configure the following:
    • Device Token – your secure device API token, located in /devices
    • Variable ID – This is the ID for a single variable located in /devices/variable
    • Update Frequency – polling rate (10 to 60 seconds only)
    • Site Name – optional label shown on dashboard widgets

This node will periodically check for updated schedule via the " update frequency" from the cloud and control each output according to:

  • ON mode: forces the output to ON (1) continuously
  • OFF mode: disables the output; no messages will be sent
  • Auto Schedule: evaluates time/day logic and turns ON or OFF as required

SmithTek format

Message Output Logic

To avoid overloading RF or telemetry networks, the node only sends output messages when a state changes.

  • If mode is OFF – no messages will pass through for that output
  • If mode is ON or Auto Schedule:
    • The node will send a message only when the output changes state
    • This reduces wasted transmissions and keeps things efficient

Node Display

The node will display a live status summary directly beneath it in the Node-RED editor showing the mode and state of each output (e.g., output1: Auto Schedule = 1).

This allows for quick visual feedback without opening debug panels.

Smithtek.cloud Integration

This node interfaces with Smithtek.cloud only to retrieve schedule data.

To read/write any other variables such as tank levels, pressures, switches, or alarms, use the standard smithtek in and out nodes

🟡 The scheduler system uses a single variable to manage all schedule data. This helps conserve data usage, but make sure you have an active Smithtek.cloud plan with sufficient data transmission allowance.

Smithtek.cloud Dashboard Usage

Logon at www.smithtek.cloud

The Smithtek Schedule Configurator widget is used to configure all scheduling directly from the Smithtek.cloud dashboard.

SmithTek format

Step-by-step:

  1. Name the Site:
    At the top of the widget, enter a friendly name for the overall site (e.g. "Farm North Dam"). This is just a label for your reference and does not affect functionality.

  2. Enter Your Credentials:

    • Device API Token: Paste your Smithtek.cloud device token.
    • Variable ID: Paste the ID of the single variable used to store the full schedule data.

    These fields may be hidden by default for safety. Click “🔒 Show Advanced” to reveal or edit them.

  3. Add and Configure Schedules:
    Click ➕ Add Schedule to create a new schedule block.

    For each schedule:

    • Output Name: Give the schedule a unique label (e.g. “Pump 1”, “Irrigation Zone A”). This is only for display and helps track which output each schedule represents.
    • Mode:
      • ON: Forces the output on at all times.
      • OFF: Forces the output off (no messages will pass through).
      • Auto Schedule: Uses the day and time settings to control output.
    • Start Time:
      • Enter the hour (0–23) and minute (0–59) in 24-hour clock format.
    • Run Time:
      • Enter the duration in hours and minutes that the output should remain ON.
    • Days:
      • Select any combination of Mon–Sun for when the schedule is active.
  4. Controls:

    • Click to minimize a schedule section.
    • Click 🗑️ to delete a schedule.
    • You can add up to 24 schedules in total.
  5. Saving: Click 💾 Save All to upload the full schedule to Smithtek.cloud. The config will be stored in a single variable.

SmithTek format

The scheduler node in Node-RED will fetch this data based on the interval you define in the node configuration (between 10 and 60 seconds). The PassPort will act accordingly even if the network goes offline, thanks to its built-in real-time clock (RTC) and cached schedule logic.

Functionality

  • Fetches and applies live schedule data from Smithtek.cloud
  • Supports 24 independent outputs
  • Modes: ON, OFF, Auto Schedule
  • Time-based logic with 10 to 60 second polling
  • Built-in status display under node
  • Change-based messaging to reduce traffic
  • Compatible with RTC-equipped hardware

License

Copyright (c) 2025
www.smithtek.com.au
Licensed under the terms of the GPLv3

Acknowledgements

Special thanks to:

  • Nick O'Leary and Dave Conway-Jones for their invaluable contributions to the Node-RED community

Contact: [email protected]
Website: www.smithtek.com.au