node-red-nodes
node-red-nodes copied to clipboard
The pushbullet output node doesn't ever reconnect after an initial (temporary) network failure
Which node are you reporting an issue on?
The pushbullet output node.
What are the steps to reproduce?
-
Create a flow that pushes a message to Pushbullet on startup:
(And configure an API key)code
[ { "id":"d9e5fa50.f9b968", "type":"inject", "z":"60d725f1.cdf0ec", "name":"On boot", "props":[ { "p":"payload" }, { "p":"topic", "vt":"str" } ], "repeat":"", "crontab":"", "once":true, "onceDelay":0.1, "topic":"", "payload":"", "payloadType":"date", "x":110, "y":220, "wires":[ [ "a8ba0328.f2dce8" ] ] }, { "id":"11a4ced0.25d6e1", "type":"debug", "z":"60d725f1.cdf0ec", "name":"Boot time", "active":true, "tosidebar":true, "console":false, "tostatus":false, "complete":"payload", "targetType":"msg", "statusVal":"", "statusType":"auto", "x":480, "y":200, "wires":[ ] }, { "id":"a8ba0328.f2dce8", "type":"function", "z":"60d725f1.cdf0ec", "name":"Format boot message", "func":"\nreturn { payload: \"Started at \" + new Date(msg.payload) };", "outputs":1, "noerr":0, "initialize":"", "finalize":"", "x":300, "y":220, "wires":[ [ "11a4ced0.25d6e1", "63b3c072.b27df8" ] ] }, { "id":"63b3c072.b27df8", "type":"pushbullet", "z":"60d725f1.cdf0ec", "config":"72855ef7.294dd", "pushtype":"note", "title":"Booted", "chan":"", "name":"Booted", "x":480, "y":240, "wires":[ ] }, { "id":"72855ef7.294dd", "type":"pushbullet-config", "z":"", "name":"My Pushbullet key" } ] -
Disconnect from all external networks.
-
Restart Node-RED
-
After the "[pushbullet:Booted] Unable to push", reconnect to the network(s).
-
Manually trigger the "Booted" node.
Note: originally I reproduced this by shutting down the device and moving it before restarting. Inspecting the syslog led me to these steps.
What happens?
Pushes to Pushbullet fail if the network is temporarily unavailable. (okay, understandable I guess) However, they continue to fail even once a network connection is available. Attempts at pushing messages are met with an "Unable to push" error until I force a re-deploy or restart Node-RED. (I once waited for 10 hours but it still kept failing)
These error messages show up in syslog (with prefixes removed):
[pushbullet:Booted] RequestError: Error: getaddrinfo EAI_AGAIN api.pushbullet.com
[feedparse:XKCD (RSS)] Error: getaddrinfo EAI_AGAIN xkcd.com
[pushbullet:Booted] Unable to push
These all happen within one second of each other, and in my original case (during system boot) about a second before my WiFi network connects.
Such an error is somewhat to be expected before the network connection is up of course, but it'd be nice if it at least didn't kill the entire session.
(As you can see, the feedparse node reports a similar initial error, but that one at least fixes itself on the next check interval)
What do you expect to happen?
If a working network connection is available, messages sent to the pushbullet output node are pushed to my devices.
Retrying initial failures a few times (after short waits) would be nice too.
Please tell us about your environment:
- [ ] Node-RED version: v1.2.1
- [ ] node.js version: v12.19.0
- [ ] npm version: 6.14.8
- [ ] Platform/OS: Linux Mint 18.3 Sylvia
- [ ] Browser: Firefox 82