{"id":41617,"library":"node-red-contrib-queue-gate","title":"Node-RED Queue Gate","description":"A Node-RED node for controlling message flow with queueing capability, similar to simple-gate but with added queueing and release-on-demand features. Current stable version is 1.5.5. Actively maintained on GitHub. Differentiators: supports queue size limits, 'Keep newest messages' option (since v1.1.0), control commands (open/close/toggle/queue/trigger/flush/peek/drop/reset), and status refresh. Suitable for flow control and buffering in Node-RED automation pipelines.","status":"active","version":"1.5.5","language":"javascript","source_language":"en","source_url":"https://github.com/drmibell/node-red-contrib-queue-gate","tags":["javascript","node-red","gate","flow control","queue"],"install":[{"cmd":"npm install node-red-contrib-queue-gate","lang":"bash","label":"npm"},{"cmd":"yarn add node-red-contrib-queue-gate","lang":"bash","label":"yarn"},{"cmd":"pnpm add node-red-contrib-queue-gate","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"This is a Node-RED node, not a regular npm module. Install via Manage Palette or npm in ~/.node-red.","wrong":"Do not require('node-red-contrib-queue-gate') directly in Node-RED flows.","symbol":"q-gate","correct":"Use the Node-RED palette manager or npm install node-red-contrib-queue-gate in your Node-RED user directory."}],"quickstart":{"code":"// This is a Node-RED node; no code snippet applicable.\n// Install: cd ~/.node-red && npm install node-red-contrib-queue-gate\n// Then add a 'q-gate' node from the palette.\n// Configure: set Control Topic, command strings, queue size, default state.\n// Use control messages with payload 'open', 'close', 'queue', 'trigger', etc.","lang":"javascript","description":"Shows how to install and configure the q-gate node in Node-RED."},"warnings":[{"fix":"Update to v1.1.0 or later. If you want to keep the same behavior (discard oldest), no change needed. If you want to keep newest, check the 'Keep newest messages' checkbox.","message":"In version 1.1.0, the 'Keep newest messages' behavior was added. If upgrading from older versions, the queue now discards oldest by default; check your flows if you relied on the old behavior.","severity":"breaking","affected_versions":"<1.1.0"},{"fix":"If you rely on control messages being numbers/booleans, ensure they map to the correct string commands (e.g., '1' vs 'open').","message":"In version 1.4.0, control messages with numeric or boolean payload are converted to string before matching commands. Previously, they might have been ignored or caused errors.","severity":"breaking","affected_versions":">=1.4.0"},{"fix":"Consider using a separate property like `msg.control` if the API changes.","message":"The node uses `msg.topic` for control messages. Future versions might use a different property.","severity":"deprecated","affected_versions":">=1.0.0"},{"fix":"Set an appropriate queue size or enable 'Keep newest messages' if you want to retain the most recent.","message":"Queue size limit: when full, new messages are discarded by default. The 'Keep newest messages' option (v1.1.0+) discards the oldest instead.","severity":"gotcha","affected_versions":">=1.0.0"},{"fix":"Ensure your control messages use the exact case as configured in the node settings.","message":"Control messages are case-insensitive but must match the configured command strings exactly in case. Default commands are lower-case.","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"search_vec":"'1.5.5':37 'activ':38 'ad':25 'autom':69 'buffer':64 'capabl':17 'command':54 'control':12,53,62,77 'current':33 'demand':31 'differenti':42 'featur':32 'flow':14,61,76 'gate':5,22,75 'github':41 'javascript':71 'keep':47 'limit':46 'maintain':39 'messag':13,49 'newest':48 'node':2,8,10,67,73 'node-r':1,7,66,72 'open/close/toggle/queue/trigger/flush/peek/drop/reset':55 'option':50 'pipelin':70 'queue':4,16,26,44,78 'red':3,9,68,74 'refresh':58 'releas':29 'release-on-demand':28 'similar':18 'simpl':21 'simple-g':20 'sinc':51 'size':45 'stabl':34 'status':57 'suitabl':59 'support':43 'v1.1.0':52 'version':35","created_at":"2026-06-04T18:53:16.644635+00:00","updated_at":"2026-06-04T18:53:16.644635+00:00","problems":[{"fix":"Run 'npm install node-red-contrib-queue-gate' inside your Node-RED user directory (usually ~/.node-red).","cause":"Node-RED cannot find the module because it is installed globally or in the wrong directory.","error":"Error: No such module: node-red-contrib-queue-gate"},{"fix":"Install the package correctly and restart Node-RED.","cause":"Trying to use the node before it is installed or after a failed installation.","error":"TypeError: Cannot read property 'q-gate' of undefined"},{"fix":"Check the command definitions in the node configuration and ensure your control message payload matches exactly (case-insensitive but must be a string).","cause":"The control message payload does not match any configured command string or the command is not defined in the node.","error":"Control message not recognized: [payload]"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/drmibell/node-red-contrib-queue-gate","github":"https://github.com/drmibell/node-red-contrib-queue-gate","docs":null,"changelog":null,"pypi":null,"npm":"node-red-contrib-queue-gate","openapi_spec":null,"status_page":null,"smithery":null,"categories":["messaging"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-04","next_check":"2026-09-02","install_tag":null}}