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 🙏

© 2026 – Pkg Stats / Ryan Hefner

@automation-room-control/node-red-arc

v1.2.0

Published

Node-RED nodes for ARC: monitor game activity and trigger actions.

Readme

@automation-room-control/node-red-arc

Node-RED nodes for Automation Room Control (ARC). Use them to trigger ARC controls from flows and listen for game state, timer, and objective progress.

Requirements

  • Node-RED 2.0+
  • ARC Software reachable on the same network
  • ARC connection node-red enabled in Settings -> Connections

Install

cd ~/.node-red
npm install @automation-room-control/node-red-arc

Restart Node-RED after install.

Quick Start

  1. Add an ARC Config node. It defaults to arc.local; change the host only if you need an IP address.
  2. Use Test connection in the config node.
  3. Add ARC Control to run an ARC action from a Node-RED flow.
  4. Add ARC Timer, ARC State, or ARC Objective when a flow needs to react to live ARC activity.
  5. Deploy.

Nodes

| Node | What it does | | --- | --- | | ARC Config | Shared ARC connection settings. The port is fixed at 1183. | | ARC Control | Runs game actions, objective actions, hint actions, display messages, display commands, or variable actions. | | ARC Timer | Sends timer updates every N seconds or at selected thresholds. | | ARC State | Sends selected game state changes. | | ARC Objective | Sends simple objective triggers: all completed, selected objective completed, bypassed, or reset. | | ARC Session | Sends a message when a game ends, with the full game results as msg.payload. Filter by game and/or outcome. |

The editor loads metadata from ARC, so games, objectives, displays, hints, and variables are selected from dropdowns instead of typed manually. Saved IDs are preserved if ARC is offline while editing.

ARC Control

ARC Control is the main output node. Pick a game, choose a control type, then choose the action from ARC-backed dropdowns.

Supported control types:

  • Game action: start, pause, resume, adjust time, request help, end, success, failure, or reset game.
  • Objective action: complete, bypass, or reset.
  • Hint action: send a configured objective hint, with an Allow repeat send checkbox when the flow should permit sending the same hint again.
  • Display message.
  • Display command: clear, refresh, pause, resume, skip, reset overlay, alert, ambient audio, volume, or audio reset.
  • Variable action: set, adjust, toggle, or reset a game variable.

Reset game does the same thing as the Reset Game button on the live control page: it returns the session to its idle state, resets game variables, clears the room displays back to the timer view, and restores audio to the game's configured levels. Like the control page, the reset always runs - it does not wait for props to be back in their reset positions.

The top-level control type list is the package's set of ARC categories. The choices inside the ARC-backed categories, such as objectives, hints, displays, and variables, are loaded from ARC metadata and refresh without republishing the Node-RED package.

Set msg.gameId to override the configured game for one trigger. Most flows do not need any other fields.

For Hint action nodes, set msg.allowRepeatSend or msg.allow_repeat_send to override the configured repeat-send policy for one trigger. Existing flows that send msg.resend are still accepted for compatibility.

ARC Session

ARC Session sends a message when a game ends. Use it to log finished games, send notifications, post results to a Slack channel or a spreadsheet, or feed a leaderboard.

  • Pick the Game to watch.
  • Leave Outcomes unchecked to send a message for every game, or check one or more (success / failure / unknown) to filter.
  • msg.payload is the game's results: outcome, when it started and ended, how long it ran, how much time was left, the hints used (broken down by hint type — text, image, video, audio, TTS, verbal), objective progress (total / completed / bypassed), the team's size, and the staff member who ran the session.
  • The message also includes msg.gameId, msg.gameName, msg.sessionId, and a timestamp on msg.ts.
  • Games run in Testing mode never trigger this node.
  • To watch multiple games, drop one ARC Session node per game in your flow.

Notes

  • ARC host defaults to arc.local.
  • ARC always runs on port 1183; the node configuration does not expose a port field.
  • The ARC WebSocket path is handled by the package.
  • Low-level raw event streaming is intentionally not included in this first package surface. It can return later as a separate advanced node if needed.

Release Notes

See CHANGELOG.md.