Try using the one i linked to.
Can not help with the one you installed as i do not use that node.
Try using the one i linked to.
Can not help with the one you installed as i do not use that node.
That one refused to install. I can try and upload the error message
Make sure you remove the old one first as there may be node name clashes.
You will probably have to uninstall the other one before trying to install the newer version.
I actually tried to upload the node that you use first. It wouldn't, so i followed another set of instructions. I just tried to upload the error message but it causes a lock-up when I click the formatted text button. So here it is raw:
2026-06-05T11:43:46.968Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-node-telegrambot@0.1.6
2026-06-05T11:43:52.855Z [err] npm warn config production Use --omit=dev instead.
2026-06-05T11:46:22.365Z [err] npm warn deprecated har-validator@5.1.5: this library is no longer supported
2026-06-05T11:46:25.014Z [err] npm warn deprecated yaeti@0.0.6: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
2026-06-05T11:47:06.356Z [err] npm warn deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See Thereās Math.random(), and then thereās Math.random() Ā· V8 for details.
2026-06-05T11:47:12.552Z [err] npm warn deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
2026-06-05T11:47:15.692Z [err] npm warn deprecated vm2@3.9.19: The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm.
2026-06-05T11:47:23.028Z [err] npm warn deprecated @inutil-labs/node-red-whin-whatsapp@0.1.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
2026-06-05T11:53:09.898Z [out]
2026-06-05T11:53:09.898Z [out] added 443 packages in 9m
2026-06-05T11:53:09.997Z rc=0
2026-06-05T19:57:12.217Z Install : node-red-contrib-telegrambot 17.4.12
2026-06-05T19:57:12.721Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production --engine-strict node-red-contrib-telegrambot@17.4.12
2026-06-05T19:57:16.885Z [err] npm warn config production Use --omit=dev instead.
2026-06-05T19:58:20.392Z [err] npm error code EBADENGINE
2026-06-05T19:58:20.438Z [err] npm error engine Unsupported engine
2026-06-05T19:58:20.440Z [err] npm error engine Not compatible with your version of node/npm: node-red-contrib-telegrambot@17.4.12
2026-06-05T19:58:20.442Z [err] npm error notsup Not compatible with your version of node/npm: node-red-contrib-telegrambot@17.4.12
2026-06-05T19:58:20.442Z [err] npm error notsup Required: {"node":">=20.0.0"}
2026-06-05T19:58:20.442Z [err] npm error notsup Actual: {"npm":"10.7.0","node":"v18.20.3"}
2026-06-05T19:58:20.478Z [err]
2026-06-05T19:58:20.480Z [err] npm error A complete log of this run can be found in: /data/home/nodered/.npm/_logs/2026-06-05T19_57_15_490Z-debug-0.log
2026-06-05T19:58:20.543Z rc=1
The important part is at the end:
npm error code EBADENGINE
npm error engine Unsupported engine
npm error notsup Required: {"node":">=20.0.0"}
npm error notsup Actual: {"npm":"10.7.0","node":"v18.20.3"}
This means:
--engine-strict is enabled, npm refuses to install it.If you drop your error message into ChatGPT and ask it... "what does this mean ?" - it should tell you how to fix the problem.
Or use the simple pushbullet node instead ![]()
[edit: - oops I meant Pushover as I already mentioned above - sorry for the confusion as Pushbullet is indeed yet another way to do it - but not one I use day to day ]
Pushbullet; I'm looking to get Node-red to send a one-word text message to my phone, via sms, whatsapp or telegram, those I already have. Another app, another set of instructions, I dunno if I can make it work. Track record: highly doubtful.
So chatgpt says my node.js is too old to install the node that I should install. Can I fix that without updating the Victron OS ?
So Pushbullet: how does it send the message ? Could I, for instance, install Pushbullet on my phone and achieve the one-word message goal ? Without opening a google account, or trying to get API keys or hashes or IDs ?
Ooops - sorry - I meant Pushover as I mentioned before... (Pushbullet is indeed yet another message service that we have a node for... but that I don't use day to day - sorry for the confusion)
Pushover lets you sign up with just an email - and the node will work with older versions of node.js.
Once logged into their control dashboard - you should see your User token which you will need. You then add a device - (and install the correct client app on that device, and configure it with your user) - and then Add an application - which is whatever you want to call it (House Alerts - or Security Alarm - or...) and that will then show you an API key to use for that "channel"/application - you can then send a test message from the web dashboard.
Then you can copy the user key and api key into the node, deploy and send a payload.
(you can also configure sounds, priorities etc)
The correct pushover node is node-red-node-pushover
O.k, so I've got pushover working !
Thanks for all help !
Hello again, on the same subject but slightly off topic, pushover was working fine but I just changed my phone and was hoping to not have Google on the new one so was wondering if it's possible to install Pushover directly ? Sorry for asking on here but their help service (Pushover's) doesn't seem to work or at least I can't get it to on two different browsers.
Thanks in advance,
I've been using Telegram for notifications for years.
Although I've heard of Pushover, I somehow ignored it.
Thanks to dceejay , I thought I'd take a look at Pushover.
Super easy to use and configure, much easier compared to Telegram. And the license price is modest, about the same as a coffee.
One thing to bear in mind is:-
Pushover is a single-way transmission.
Its primary purpose is to send notifications from Node-RED to your phone.
Telegram can be used for interactive messaging and commands. (e.g. "chats")
I use Telegram's virtual keyboard facility to control many items in my home from my phone.
Pushover and Telegram can happily co-exist in the same Node-RED installation.
You are not restricted to using only one.
In fact, many Node-RED users use multiple notification services simultaneously.
I've also been using Telegram for years. It is now capable of hosting quite complex HTML-based "apps" using the bot API. It is by far the easiest of the full-featured bi-directional services to get bots working.
I have multiple bots. Low volume ones for the family to see things like whether the front door is open or if someone has pressed the doorbell. And more technical ones that let me be assured that the home automation services and my websites are all working as expected. I also have bots that allow users to issue commands to control lighting, etc. Though, to be honest, our lighting automation is so stable that it never needs touching. ![]()
I will, at some point, have a play with @whiskeysockets/baileys which is supposed to be a usable node.js library to interact with WhatsApp. Just not quite at the top of my list yet.
I did note at least 1 other node in the library that claims to be able to connect to WhatsApp but I couldn't get it to work.
I will have to try and get Telegram nodes working for my new phone. I had to swallow the Google Ts and Cs to install Pushover on it just after having got it working on my old phone but it was going to be the only way to get it all back up and running quickly. I forgot what it was that stopped me last time I tried with Telegram nodes but I believe Telegram doesn't have to be installed onto your phone via Playstore and it sounds very capable if I want to expand things later on, so I'm going to try again. Pushover is very good though, reliable so far.
They do have a fairly comprehensive web version, a couple actually, I've never worked out the differences between them. However, not sure if that will reliably give you notifications on your phone or not.
Unfortunately, if you are using Android, you can't realistically completely escape a Google account (just as you can't escape an Apple account on iOS). I have my Google account locked down as much as possible but still use it all too regularly for maps, app installs, etc.
Like probably most of us, I only use the smallest of the features really. But if you look at the API now, you can build full web apps hosted within Telegram. Bots can also talk to each other now which couldn't happen before.
It is an incredibly powerful platform. Security and privacy wise, it isn't the absolute best by any means. But it isn't that bad either. And you can restrict bot interactions to specific groups and users.
There are 2 modes of use:
I think most of us use Polling mode. There is even a local test API server you can use if setting up something more complex.
Just note that you can only have one process controlling a bot. So a Node-RED instance can run many bots but you can't control the same bot from more than one instance of Node-RED.
I like to decouple everything so I have a single focal point for bots on my live server. MQTT messages are used to send/receive.
The function node is used to standardise messages. I have things set up so a node-red message's topic becomes the title (in bold) and the payload as the text.
let contentType = msg.contentType || 'message'
let mode = msg.mode || 'MarkdownV2' //'Markdown' // 'html'
let content = ''
// Make topic into a pseudo heading (Bold, Underline)
if (msg.topic) content += `__*${msg.topic.replace(/_/g, ' ')}*__\n`
// Allow complex payload, convert to Markdown
let sp
if (msg.payload) {
sp = msg.payload
// If payload is an array, assume an array of strings, otherwise try to turn into a string
if (!Array.isArray(sp)) {
// Try toString first
try {
sp = sp.toString()
} catch (e) {}
// Check if it is now `[object Object]`, if it is, try to JSON stringify it instead
if ( sp === '[object Object]' ) {
try {
sp = JSON.stringify(msg.payload)
// TODO: Maybe newline on comma and [ or { ? Maybe also make json props into bold or italic?
} catch (e) {
node.warn(`Cannot convert input payload to a string. ${e.message}`)
return
}
}
// If payload is a string, split on `<br>`
if (typeof sp === 'string') sp = sp.split('<br>')
}
// If payload is an array, each element is a new line
if (Array.isArray(sp)) content += sp.join('\n')
else if (typeof sp === 'string') content += sp // belt and braces
}
// If content contains `.` - mode must be Markdown, not MarkdownV2!
if (mode === 'MarkdownV2') {
if ( /[.{]/.test(content) ) mode = 'Markdown'
}
msg.payload = {
"chatId": msg.chatId,
"content": content,
"type": contentType,
"options": {
"parse_mode": mode,
},
}
return msg;
/**
* Markdown V2 Styles - https://core.telegram.org/bots/api#markdownv2-style
*
* *bold \*text*
* _italic \*text_
* __underline__
* ~strikethrough~
* *bold _italic bold ~italic bold strikethrough~ __underline italic bold___ bold*
* [inline URL](http://www.example.com/)
* [inline mention of a user](tg://user?id=123456789)
* `inline fixed-width code`
* ```
* pre-formatted fixed-width code block
* ```
* ```python
* pre-formatted fixed-width code block written in the Python programming language
* ```
*
*/
Ultimately I will root my old phone and see if I can get by with that, fully degoogled. I am not particularly worried about security but anyway google are certainly not secure, every time one of my passwords has been "compromised", it's them (google, microsoft, amazon etc.) that let it out.
I will try and get my head round the technical stuff you wrote. It looks useful.