# Developing Nodes

**URL:** https://discourse.nodered.org/c/developing-nodes/15.md

[Latest](https://discourse.nodered.org/latest.md) · [Categories](https://discourse.nodered.org/categories.md) · [Tags](https://discourse.nodered.org/tags.md)

---

## [About the Developing Nodes category](https://discourse.nodered.org/t/about-the-developing-nodes-category/496)

<div class="topic-metadata">

**Author:** [@knolleary](https://discourse.nodered.org/u/knolleary)\
**Replies:** 0

</div>

Discussions around creating your own nodes for Node-RED. For support or help with using nodes, please use #general

---

## [Update editor-client type definitions](https://discourse.nodered.org/t/update-editor-client-type-definitions/101754)

<div class="topic-metadata">

**Author:** [@GogoVega](https://discourse.nodered.org/u/GogoVega)\
**Replies:** 3\
**Last updated:** [9 September 2026 18:15 UTC](https://discourse.nodered.org/t/update-editor-client-type-definitions/101754 "2026-09-09T18:15:26Z")

</div>

I am currently updating the editor's types (@types/node-red\_\_editor-client). This is a very huge update, and I hope this PR can be merged quickly :crossed\_fingers: Two important points: The types are based on v5, but…

---

## [Experimental libgpiod GPIO nodes for Node-RED on Raspberry Pi Zero 2 W / Debian Trixie](https://discourse.nodered.org/t/experimental-libgpiod-gpio-nodes-for-node-red-on-raspberry-pi-zero-2-w-debian-trixie/101745)

<div class="topic-metadata">

**Author:** [@devifast](https://discourse.nodered.org/u/devifast)\
**Replies:** 3\
**Last updated:** [9 September 2026 10:48 UTC](https://discourse.nodered.org/t/experimental-libgpiod-gpio-nodes-for-node-red-on-raspberry-pi-zero-2-w-debian-trixie/101745 "2026-09-09T10:48:59Z")

</div>

Experimental libgpiod GPIO nodes for Node-RED on Raspberry Pi Zero 2 W / Debian Trixie Before anything else, I want to make the intention of this project very clear. This is not a criticism of node-red-node-pi-gpio, it…

---

## [More npm changes coming](https://discourse.nodered.org/t/more-npm-changes-coming/101572)

<div class="topic-metadata">

**Author:** [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Replies:** 0\
**Last updated:** [31 July 2026 14:28 UTC](https://discourse.nodered.org/t/more-npm-changes-coming/101572 "2026-07-31T14:28:07Z")

</div>

Quick head's-up: The new check takes some time so they are saying that there will be at least a 5 minute delay after publishing before the new version is actually live - currently it is pretty much instantaneous. It i…

---

## [\[Announce\] Node-RED Node TypeScript Starter: New release v0.4.0](https://discourse.nodered.org/t/announce-node-red-node-typescript-starter-new-release-v0-4-0/101571)

<div class="topic-metadata">

**Author:** [@alexk111](https://discourse.nodered.org/u/alexk111)\
**Replies:** 0\
**Last updated:** [31 July 2026 11:22 UTC](https://discourse.nodered.org/t/announce-node-red-node-typescript-starter-new-release-v0-4-0/101571 "2026-07-31T11:22:25Z")

</div>

Hi all, I'm pleased to announce a new release of Node-RED Node TypeScript Starter, a quick-start template repository for creating new Node-RED nodes in TypeScript. What's added/updated: Starts Node-RED instance with …

---

## [How did I not know this existed? VSCode/VSCodium function call hierarchy](https://discourse.nodered.org/t/how-did-i-not-know-this-existed-vscode-vscodium-function-call-hierarchy/101550)

<div class="topic-metadata">

**Author:** [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Replies:** 8\
**Last updated:** [29 July 2026 10:33 UTC](https://discourse.nodered.org/t/how-did-i-not-know-this-existed-vscode-vscodium-function-call-hierarchy/101550 "2026-07-29T10:33:25Z")

</div>

Select a function name and use the right-mouse menu or hit shift+alt+H - gives you the call tree for that function in the sidebar. I can't believe I didn't spot that before. :frowning:

---

## [Folder Structured Flows](https://discourse.nodered.org/t/folder-structured-flows/101430)

<div class="topic-metadata">

**Author:** [@Robert0](https://discourse.nodered.org/u/Robert0)\
**Replies:** 9\
**Last updated:** [13 July 2026 12:29 UTC](https://discourse.nodered.org/t/folder-structured-flows/101430 "2026-07-13T12:29:08Z")

</div>

Hi everyone, I have seen quite a few comments about Node-RED’s flat flow structure, and for larger projects I personally find it frustrating to scroll through endless flows. I am working on a plugin that adds some stru…

---

## [Looking for feedback — features you'd want in a Node-RED Protocol Inspector plugin](https://discourse.nodered.org/t/looking-for-feedback-features-youd-want-in-a-node-red-protocol-inspector-plugin/101443)

<div class="topic-metadata">

**Author:** [@lizzardguki](https://discourse.nodered.org/u/lizzardguki)\
**Replies:** 6\
**Last updated:** [12 July 2026 16:20 UTC](https://discourse.nodered.org/t/looking-for-feedback-features-youd-want-in-a-node-red-protocol-inspector-plugin/101443 "2026-07-12T16:20:12Z")

</div>

Hi all, I am building a sidebar plugin for Node-RED called node-red-contrib-protocol-inspector — a DevTools Network-tab-style inspector that captures and displays HTTP, MQTT, and WebSocket traffic flowing through your f…

---

## [Same Trigger - Different Outputs / Different Results](https://discourse.nodered.org/t/same-trigger-different-outputs-different-results/101384)

<div class="topic-metadata">

**Author:** [@Sgooch](https://discourse.nodered.org/u/Sgooch)\
**Replies:** 14\
**Last updated:** [3 July 2026 16:48 UTC](https://discourse.nodered.org/t/same-trigger-different-outputs-different-results/101384 "2026-07-03T16:48:25Z")

</div>

I have a trigger that I want to turn on a light (Homeseer Device). If I "trigger" the trigger :slight\_smile: with a timestamp inject results are expected. Light comes on for 15 seconds and then goes off. Note …

---

## [A reminder about the turning off of npm install scripts](https://discourse.nodered.org/t/a-reminder-about-the-turning-off-of-npm-install-scripts/101308)

<div class="topic-metadata">

**Author:** [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Replies:** 1\
**Last updated:** [18 June 2026 18:15 UTC](https://discourse.nodered.org/t/a-reminder-about-the-turning-off-of-npm-install-scripts/101308 "2026-06-18T18:15:15Z")

</div>

preinstall, install, and postinstall scripts will no longer run by default in the next major release of npm. We should be preparing for this now. The change is to prevent some really serious security issues that are bein…

---

## [🤷 Node-RED v5 now supports ESM nodes! MAYBE? Maybe not](https://discourse.nodered.org/t/node-red-v5-now-supports-esm-nodes-maybe-maybe-not/101259)

<div class="topic-metadata">

**Author:** [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Replies:** 6\
**Last updated:** [16 June 2026 19:06 UTC](https://discourse.nodered.org/t/node-red-v5-now-supports-esm-nodes-maybe-maybe-not/101259 "2026-06-16T19:06:55Z")

</div>

Just in case you missed this. The following PR was incorporated in v5. A big step forward for the future of Node-RED. :smiley: I've already migrated everything I could in UIBUILDER to ESM but now I can start migratin…

---

## [Node resources ESM loading issues](https://discourse.nodered.org/t/node-resources-esm-loading-issues/101282)

<div class="topic-metadata">

**Author:** [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Replies:** 2\
**Last updated:** [14 June 2026 15:14 UTC](https://discourse.nodered.org/t/node-resources-esm-loading-issues/101282 "2026-06-14T15:14:09Z")

</div>

Hi, I noticed this with Node-RED v4 and it persists with v5. I had hoped that the issue would be resolved with the newer release. If loading the node's Editor script as a resource using ESM, not everything works as expe…

---

## [this.updateWires() is not a function](https://discourse.nodered.org/t/this-updatewires-is-not-a-function/58106)

<div class="topic-metadata">

**Author:** [@wz2b](https://discourse.nodered.org/u/wz2b)\
**Replies:** 2\
**Last updated:** [14 June 2026 14:30 UTC](https://discourse.nodered.org/t/this-updatewires-is-not-a-function/58106 "2026-06-14T14:30:59Z")

</div>

Hi, I understand that typescript support in node red is a bit sketchy, but in some tests I have gotten it to work really well. I find it really clean, and it lets me test and use these classes in other places. My ulti…

---

## [New MCP23017 PCF8574 All-In-One node](https://discourse.nodered.org/t/new-mcp23017-pcf8574-all-in-one-node/60087)

<div class="topic-metadata">

**Author:** [@PizzaProgram](https://discourse.nodered.org/u/PizzaProgram)\
**Replies:** 55\
**Last updated:** [10 June 2026 21:28 UTC](https://discourse.nodered.org/t/new-mcp23017-pcf8574-all-in-one-node/60087 "2026-06-10T21:28:39Z")

</div>

After 14 month of work in my free (and work) time here I present my first AIO solution to handle 3 similar kind of Input-Output I2C chips with Node-Red: I'm still searching a way to publish it to NPM. (Do not know yet…

---

## [Introducing Nodebuilder](https://discourse.nodered.org/t/introducing-nodebuilder/101185)

<div class="topic-metadata">

**Author:** [@pankajithetaai](https://discourse.nodered.org/u/pankajithetaai)\
**Replies:** 3\
**Last updated:** [4 June 2026 14:19 UTC](https://discourse.nodered.org/t/introducing-nodebuilder/101185 "2026-06-04T14:19:15Z")

</div>

This is my first post on the forum. Let me introduce myself. My name is Pankaj Sharma and I have been using Node-RED for the better part of 5 years. We recently went on an endeavor to simplify node creation using scaffol…

---

## [The Unofficial Guide to the Interactive Tours API](https://discourse.nodered.org/t/the-unofficial-guide-to-the-interactive-tours-api/100977)

<div class="topic-metadata">

**Author:** [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Replies:** 7\
**Last updated:** [9 May 2026 21:19 UTC](https://discourse.nodered.org/t/the-unofficial-guide-to-the-interactive-tours-api/100977 "2026-05-09T21:19:37Z")

</div>

I Hope @knolleary & @dceejay don't mind me documenting this API, I know there is a view to develop some documentation on it when time allows, but I think this API deserves more exposure, so thought id share my DIY handbo…

---

## [Create nodes using Typescript, Vue and Vite](https://discourse.nodered.org/t/create-nodes-using-typescript-vue-and-vite/100340)

<div class="topic-metadata">

**Author:** [@AllanOricil](https://discourse.nodered.org/u/AllanOricil)\
**Replies:** 8\
**Last updated:** [29 April 2026 18:52 UTC](https://discourse.nodered.org/t/create-nodes-using-typescript-vue-and-vite/100340 "2026-04-29T18:52:45Z")

</div>

Continuing from this other thread: Write nodes using Typescript + Vue 3 + JSON Schemas for runtime validations You can now develop nodes using Typescript and build them with Vite. This will soon be released as a standal…

---

## [Node output contract](https://discourse.nodered.org/t/node-output-contract/100795)

<div class="topic-metadata">

**Author:** [@Sanderd17](https://discourse.nodered.org/u/Sanderd17)\
**Replies:** 6\
**Last updated:** [21 April 2026 06:41 UTC](https://discourse.nodered.org/t/node-output-contract/100795 "2026-04-21T06:41:27Z")

</div>

We're developing some custom nodes to easily work with a certain Rest API. I'd like the users of the nodes to easily see what data they are getting. How can I best achieve this? I've found the "Message properties" help…

---

## [Hooking into the "\_users" property of a config node's config](https://discourse.nodered.org/t/hooking-into-the-users-property-of-a-config-nodes-config/100544)

<div class="topic-metadata">

**Author:** [@TacticalNudge](https://discourse.nodered.org/u/TacticalNudge)\
**Replies:** 7\
**Last updated:** [3 April 2026 19:59 UTC](https://discourse.nodered.org/t/hooking-into-the-users-property-of-a-config-nodes-config/100544 "2026-04-03T19:59:09Z")

</div>

I've come across a bit of a weird race condition. Under normal circumstances one might have a config node that references another config node. In my particular situation the config node (lets call it a FOO config node)…

---

## [Node RED Plugins](https://discourse.nodered.org/t/node-red-plugins/100542)

<div class="topic-metadata">

**Author:** [@marcus-j-davies](https://discourse.nodered.org/u/marcus-j-davies)\
**Replies:** 4\
**Last updated:** [12 March 2026 18:37 UTC](https://discourse.nodered.org/t/node-red-plugins/100542 "2026-03-12T18:37:41Z")

</div>

Ok... Having the experience of building nodes, I am prepping a new release of one. This time around, it has plugins, that need to be initialised prior to any instance of my normal flow editor nodes. One thing I am con…

---

## [Minimum time for setTimeout. It looks like it cant be less than 30ms](https://discourse.nodered.org/t/minimum-time-for-settimeout-it-looks-like-it-cant-be-less-than-30ms/100414)

<div class="topic-metadata">

**Author:** [@Bannsaenger](https://discourse.nodered.org/u/Bannsaenger)\
**Replies:** 5\
**Last updated:** [20 February 2026 13:12 UTC](https://discourse.nodered.org/t/minimum-time-for-settimeout-it-looks-like-it-cant-be-less-than-30ms/100414 "2026-02-20T13:12:23Z")

</div>

I am the developer of the @bannsaenger/node-red-contrib-artnet-controller. This node uses a timer mechanism to handle transitions where values are send in specific timing. Therefor i use the setTimeout like: this.main…

---

## [Why is close event not fired on disabled node delete?](https://discourse.nodered.org/t/why-is-close-event-not-fired-on-disabled-node-delete/100317)

<div class="topic-metadata">

**Author:** [@maurimuchico-work](https://discourse.nodered.org/u/maurimuchico-work)\
**Replies:** 3\
**Last updated:** [9 February 2026 18:33 UTC](https://discourse.nodered.org/t/why-is-close-event-not-fired-on-disabled-node-delete/100317 "2026-02-09T18:33:01Z")

</div>

Hi Node-RED team, good afternoon, I have a question related to the lifecycle of nodes in the context of developing custom nodes with external services. When you delete a node, the flow is as follows: The oneditdelete …

---

## [Is it possible to include credentials (env variables) in a flow json?](https://discourse.nodered.org/t/is-it-possible-to-include-credentials-env-variables-in-a-flow-json/100254)

<div class="topic-metadata">

**Author:** [@mattjcj](https://discourse.nodered.org/u/mattjcj)\
**Replies:** 3\
**Last updated:** [27 January 2026 15:44 UTC](https://discourse.nodered.org/t/is-it-possible-to-include-credentials-env-variables-in-a-flow-json/100254 "2026-01-27T15:44:27Z")

</div>

Hi everybody ! I'm trying to package a subflow as a module. This subflow should transparently subscribe to a MQTT topic and change it's output accordingly. It will be deployed on a Kubernetes cluster, and the goal is t…

---

## [How to do Black Box UI Testing of Nodes?](https://discourse.nodered.org/t/how-to-do-black-box-ui-testing-of-nodes/100212)

<div class="topic-metadata">

**Author:** [@Chris927](https://discourse.nodered.org/u/Chris927)\
**Replies:** 10\
**Last updated:** [22 January 2026 11:20 UTC](https://discourse.nodered.org/t/how-to-do-black-box-ui-testing-of-nodes/100212 "2026-01-22T11:20:18Z")

</div>

In node-red-contrib-victron we have non-trivial javascript logic in the node's html, e.g. here. To avoid bugs and regressions, we want to add automated tests for such logic. How to approach this? I would like to avoi…

---

## [Creating own node](https://discourse.nodered.org/t/creating-own-node/100118)

<div class="topic-metadata">

**Author:** [@Matthias32](https://discourse.nodered.org/u/Matthias32)\
**Replies:** 23\
**Last updated:** [9 January 2026 09:28 UTC](https://discourse.nodered.org/t/creating-own-node/100118 "2026-01-09T09:28:27Z")

</div>

Hi I have tried the example from the node red page for creating a node: So far it worked but the node is shown in with a grey dash box. Any idea what went wrong? I copied the example exaclty with no changes in it. …

---

## [Developing custom nodes](https://discourse.nodered.org/t/developing-custom-nodes/100084)

<div class="topic-metadata">

**Author:** [@jpiwek](https://discourse.nodered.org/u/jpiwek)\
**Replies:** 10\
**Last updated:** [8 January 2026 20:59 UTC](https://discourse.nodered.org/t/developing-custom-nodes/100084 "2026-01-08T20:59:46Z")

</div>

Hi, what is the most efficient and recommended way to develop custom nodes for NodeRED? Is it also possible to recycle Python functions in custom nodes?

---

## [ReadMultiple node-red-contrib-opcua-client](https://discourse.nodered.org/t/readmultiple-node-red-contrib-opcua-client/99797)

<div class="topic-metadata">

**Author:** [@Frittos](https://discourse.nodered.org/u/Frittos)\
**Replies:** 0\
**Last updated:** [28 November 2025 15:09 UTC](https://discourse.nodered.org/t/readmultiple-node-red-contrib-opcua-client/99797 "2025-11-28T15:09:04Z")

</div>

Hi everyone, For a project, I’d like to read multiple values simultaneously from an OPC UA server. To do this, I’m using the node-red-contrib-opcua-client package. Usually, I use the subscribe option of the OPC UA node…

---

## [Multiline Text Editor with Javascript Formatting and custom context](https://discourse.nodered.org/t/multiline-text-editor-with-javascript-formatting-and-custom-context/99764)

<div class="topic-metadata">

**Author:** [@TacticalNudge](https://discourse.nodered.org/u/TacticalNudge)\
**Replies:** 2\
**Last updated:** [24 November 2025 23:12 UTC](https://discourse.nodered.org/t/multiline-text-editor-with-javascript-formatting-and-custom-context/99764 "2025-11-24T23:12:14Z")

</div>

Hi there.... I am currently stuck on this particular conundrum and can't seem to find a workaround. The premise is that we have a node with two or three multi-line text editor inputs that will contain some user-editabl…

---

## [Need Guidance on Creating Custom LLM, Tool Call, and Subagent Nodes in Node-RED](https://discourse.nodered.org/t/need-guidance-on-creating-custom-llm-tool-call-and-subagent-nodes-in-node-red/99631)

<div class="topic-metadata">

**Author:** [@makerstorage](https://discourse.nodered.org/u/makerstorage)\
**Replies:** 1\
**Last updated:** [10 November 2025 19:52 UTC](https://discourse.nodered.org/t/need-guidance-on-creating-custom-llm-tool-call-and-subagent-nodes-in-node-red/99631 "2025-11-10T19:52:13Z")

</div>

Hi everyone, I’m looking for your expertise on developing new custom nodes for Node-RED. I want to make sure I follow all the Node-RED standards and best practices, but I’m currently stuck on one important aspect. My g…

---

## ["Supply Chain" security for developers](https://discourse.nodered.org/t/supply-chain-security-for-developers/99531)

<div class="topic-metadata">

**Author:** [@TotallyInformation](https://discourse.nodered.org/u/TotallyInformation)\
**Replies:** 0\
**Last updated:** [29 October 2025 14:00 UTC](https://discourse.nodered.org/t/supply-chain-security-for-developers/99531 "2025-10-29T14:00:41Z")

</div>

With recent widespread attacks on the open source community, though I would share some additional security tooling that is free, easy to use and will help node.js, Python, etc developers against supply chain attacks. I…

[Next page](https://discourse.nodered.org/c/developing-nodes/15.md?page=1)
