Commit Graph

289 Commits

Author SHA1 Message Date
dceejay 8b61c121e6 Small changes to info box language for file watch node 2015-01-21 15:05:35 +00:00
dansu 9a0177b900 Added support for websocket-client in 22-wesocket node, selectable in ui
as Listen to/Connect to drop down.
2015-01-15 08:57:42 +01:00
Dave C-J 41552625e0 remove spurious line of debug from http node 2014-12-15 17:01:58 +00:00
Dave C-J 27ef7d972f Add Binary paylaod option to Http request node
Also add JSON parse option to output
Allow user to select override using msg.method to stop getting warning.
Fix to close #399
2014-12-09 14:40:03 +00:00
Dave C-J 5f74a1d237 Update file, http and email nodes to only show deprecation warning
if msg property is a real overide  to node property ( !== ).

Fix for comment by @drJeckyll  to Issue #399
2014-12-01 22:58:25 +00:00
Nick O'Leary da7b3ce9e4 Incorrect reference to routes in http in node
Fixes #503
2014-11-28 10:09:38 +00:00
Nick O'Leary a477c0b827 Fix serial config node edit layout 2014-11-13 20:53:15 +00:00
Dave C-J b861f490c6 tiny tidy-up on TCP request node 2014-11-07 12:28:34 +00:00
Dave C-J 9c92eeb9f5 Allow tcp request node to accept msg.host and msg.port as inputs
Overrides only allowed if edit setting left blank.
2014-11-06 10:21:14 +00:00
Nick O'Leary 67449eb65a Merge pull request #470 from anna2130/msg-property-overrides
Message properties overriding set node properties
2014-11-05 22:05:34 +00:00
Anna Thomas 069a47f35a Added node warnings when message properties override set node properties 2014-11-05 17:23:27 +00:00
Dave C-J 273acc0ec4 Let MQTT input node receive binary packets
Try to auto select output type to be string or buffer to be backwards compatible
Fixes #435
2014-11-04 21:56:15 +00:00
Dave C-J a1830def8e Fix http in node close wrinkle if cors enabled but not used. 2014-10-29 18:26:09 +00:00
Dave C-J 0bb78ae491 Try to ensure TCP node closes server connections on redeploy
(to clean up properly - especially in case of port changes)

Closes Issue #454
2014-10-25 17:52:24 +01:00
Nick O'Leary 21e349c22a Ensure httpNodePath is handled properly in HTTP/WS nodes
Cope with httpNodePath not ending with a / when it comes to
displaying the node details. The runtime is not affected.
2014-10-08 11:03:18 +01:00
Nick O'Leary 1f95071a37 Only normalise known headers in http node 2014-09-22 20:48:06 +01:00
Dave C-J ed1da5cf7b Add try/catch to websocket to fix #402
Also allow buffer out as binary if required. (ie don't try and stringify a buffer)
2014-09-18 17:10:01 +01:00
Mark Hindess 5d9c16ffbf Remove redundant msg != null checks. 2014-09-08 21:10:06 +01:00
Nick O'Leary d30f1e639b Merge pull request #391 from hindessm/remove-undefined-reference-to-node
Remove reference to undefined variable 'node'.
2014-09-08 20:38:00 +01:00
Nick O'Leary 27149fe10f Merge pull request #390 from hindessm/fix-base64-udp-send
Fix base64 udp send
2014-09-08 20:20:22 +01:00
Dave C-J cba4791b65 MQTT node better check for topic existing 2014-09-08 20:19:25 +01:00
Mark Hindess 3ec07a9161 Remove reference to undefined variable 'node'. 2014-09-08 20:19:20 +01:00
Mark Hindess 6368a43a02 Fix base64 encoding of msg.payload in UDP out node. 2014-09-08 20:13:08 +01:00
Dave C-J ab4d3c025e MQTT node should only send message if topic actually specified (string) 2014-09-08 20:01:28 +01:00
Mark Hindess 3f054bdf7e Migrate to fa icons. 2014-09-08 12:07:39 +01:00
Dave C-J 426453d925 make tcp and udp node fa icons more consistent 2014-09-07 22:12:25 +01:00
Dave C-J 5872541b1b Tweak info of watch and file nodes to be more style consistent with others. 2014-09-07 22:11:00 +01:00
Nick O'Leary 67d5bc2399 Merge pull request #380 from hindessm/trivial-html-fixes
Fix two trivial HTML bugs.
2014-09-05 23:12:32 +01:00
Nick O'Leary 56768fbf2c HTTP In delete configuration missing errorHandler
Fixes #384
2014-09-05 13:19:05 +01:00
Mark Hindess e90054c93c Fix two trivial HTML bugs. 2014-09-04 19:59:30 +01:00
Dave C-J fc679adefb Allow TCP node option to break connections per message (and auto
reconnect) - eg for file trnasfer to indicate EOF.

Change to FA icons.
2014-09-03 20:06:29 +01:00
Dave C-J e136080888 Tiny wrinkle (non critical) in httpin node 2014-09-03 20:04:38 +01:00
Mark Hindess 0a009e2a15 Rename RED.utils to RED.util. Fixes #364. 2014-09-03 13:20:45 +01:00
Mark Hindess a9e72858df Add ensure string helper for nodes. 2014-08-28 14:25:41 +01:00
Dave C-J a8ade083d4 Add QoS and Retain to the MQtt node options 2014-08-22 12:44:54 +01:00
Nick O'Leary 907ce5c079 MQTT Node: allow publishing of Buffer payloads
Closes #341
2014-08-18 11:27:52 +01:00
Nick O'Leary 55679694c9 HTTP In - fix header iterator 2014-07-23 21:28:53 +01:00
Nick O'Leary c079576e49 Remove websocket listeners on close
Fixes #285
2014-07-23 21:18:07 +01:00
Dave C-J 82036dd84a Simple fix to check/force http: to close #288
Checks url starts http: or https: - if not add http: - at least then it breaks gently.
Also add resultant url to any error payload if request  fails in order to make debug easier.
2014-07-23 12:09:34 +01:00
Nick O'Leary bead24e760 HTTP In node: Check credentials exist before using 2014-07-22 11:33:52 +01:00
Dave C-J 0b308deb79 Slight tidy to MQTT - move to fa icons - use built in close method. 2014-07-21 20:29:10 +01:00
Nick O'Leary 4302deb5a6 Change credential boolean prefix 2014-07-20 20:42:41 +01:00
Nick O'Leary d67a54a66a Update HTTP Request node to new credentials api 2014-07-19 00:26:46 +01:00
Nick O'Leary 760dd022dc Migrate MQTT nodes to new credentials api 2014-07-19 00:25:22 +01:00
Dave C-J 4770a06679 yet more JShint cleaning. 2014-07-18 21:49:48 +01:00
Mark Hindess 5073cf8dd7 Reduce scope of variable declaration to be consistent with MQTTInNode code. 2014-07-16 21:45:02 +01:00
Mark Hindess 77f6652fa9 Remove spurious variable declaration. 2014-07-16 21:45:02 +01:00
Dave Conway-Jones debd5c4496 Spelling correctin http node info, close #266 2014-07-14 09:26:09 +01:00
Dave C-J 62496d80d5 tray/catch error in Websocket node to close #264 2014-07-13 17:39:56 +01:00
Dave C-J bc53d302ff and add fa icons to websocket 2014-07-11 21:32:51 +01:00
Dave Conway-Jones b84aba5c98 minor spelling correction 2014-07-11 08:20:47 +01:00
Nick O'Leary 3db84d5bf1 HTTP Out payload: relax null checking 2014-07-09 09:51:43 +01:00
Nick O'Leary 4d031891e5 Http Out: remove excess debug 2014-07-09 09:48:09 +01:00
Nick O'Leary a7e7254317 Handle null response payloads 2014-07-09 09:46:10 +01:00
Nick O'Leary 8e24a958b7 HTTP Out - stringed the wrong bit 2014-07-09 09:43:02 +01:00
Nick O'Leary bd80cf4f83 HTTP Out - header properties must be strings 2014-07-09 09:08:43 +01:00
Dave C-J c10c687653 Add TCP request node to TCP node "family" 2014-07-08 13:45:00 +01:00
Dave C-J 790ad8eb68 Tidy up jsHint errors in parser nodes 2014-06-30 20:43:31 +01:00
Dave C-J 7c7f030aa8 Tweak serial to outpur correct number of chars from buffer.
Having counted the correct number into the buffer it seems a shame
not to send them all out to the next node...
(Also allow separator char to be specified as hex (eg  0x0a))
2014-06-24 22:27:02 +01:00
Dave C-J 6f6ecfc7a8 Make sure buffers are nulled to ensure cleanup. 2014-06-17 20:06:54 +01:00
Dave C-J c61d4d3209 revert logging of every url request from http reg node. 2014-06-12 21:16:41 +01:00
Dave C-J fe1b7c54ff Update serial info to match new capabilities. 2014-06-08 15:39:38 +01:00
Dave C-J 7d6f70545a and honour text (utf8) mode in single char mode. aaargh. 2014-06-08 15:27:15 +01:00
Dave C-J 12b8fa36dc Serial port - missed no split char option. If no split char then send every
character in char mode.
2014-06-08 15:21:02 +01:00
Dave C-J 00f87cbcd6 Add strict mode and latest icons to http node(s) 2014-06-08 15:05:08 +01:00
Dave C-J 0cbc277a2c Add binary capabilities to Serial node - along with timeout, fixed
buffer size and binary output options. Also updated icons and added strict
checking.
2014-06-08 14:58:19 +01:00
Nick O'Leary 72476cc8a7 Set content-length in HTTP response node
Fixes #233
2014-06-07 23:18:50 +01:00
Dave C-J 4e1d45b508 Tweak to Watch Node info to close #236 2014-06-01 18:02:25 +01:00
Dave C-J 8c8f75df69 Catch more errors in file watcher node. 2014-05-31 19:44:02 +01:00
Nick O'Leary 70147d0b6b Remove 'retined' property from node.status calls 2014-05-30 20:30:26 +01:00
Dave C-J 2cdaed1325 Add "use strict" to most core nodes.
(skipping ones that may have other work in progress)
2014-05-29 22:13:21 +01:00
Dave C-J 7ad28de52a Add use strict to mqtt node, allow will parm to be passed. 2014-05-29 09:00:28 +01:00
Nick O'Leary 8f1dd62515 Allow Serial nodes to close asynchonously 2014-05-14 21:34:17 +01:00
Dave C-J 6f981d29ec Patch to suppoer use strict
Fixes Issue #205
Manual merge due to other changes
2014-05-14 11:44:19 +01:00
Dave C-J 6f0e619611 add Status to email, http nodes (update copyright on tcp) 2014-05-13 11:39:59 +01:00
Dave C-J 7e71a118eb Add status indicators to serial and tcp (client) nodes 2014-05-12 16:32:19 +01:00
Nick O'Leary 7e85eb297d Make status display toggleable and add to MQTT nodes 2014-05-10 23:33:02 +01:00
Dave C-J e47839b7e7 Tweaks to shorten Serialport html names.
and remove redundant code.
2014-05-06 11:12:56 +01:00
Nick O'Leary 14e882f250 Remove rogue console.log 2014-05-05 21:44:04 +01:00
Nick O'Leary b64b1f2956 Serial port select combo-box 2014-05-05 21:42:01 +01:00
Dave C-J 671723374d Allow serial port to be manual entry or pick from list. 2014-05-05 11:39:59 +01:00
Dave C-J b806854867 Revert serial port config to a text box - while we look at how best to
provide a list - but allow free input. (for Pi that doesn't enumerate tyAMA0)
2014-05-05 09:02:01 +01:00
Nick O'Leary ff49d2b217 Migrate to new node function style 2014-05-03 23:32:04 +01:00
Nick O'Leary 1df963e0ed Generate content-length on HTTP Request node 2014-04-30 22:05:27 +01:00
Dave C-J e49eb3c685 Tweak layout of serial port config (Thanks Frank) 2014-04-30 14:09:08 +01:00
Dave Conway-Jones f60430305e Merge pull request #207 from fvdpol/master
Add configuration of serial protocol settings (25-serial node)
2014-04-30 13:53:36 +01:00
Frank van de Pol c62a42169f Typo 2014-04-21 23:42:07 +02:00
Frank van de Pol 9d1bb39018 Add configuration of serial protocol settings
- Add support for configuration of protocol parameters (data bits,
party, stop bits)
- Set serial device/port using select list (discovered ports)
- Provide default settings for existing flows that do not yet have
serial protocol settings
2014-04-21 23:35:28 +02:00
Nick O'Leary c20128b80f MQTT Client - missing null check 2014-04-21 21:14:03 +01:00
Nick O'Leary 0b7fa1ab5c Fix MQTT client reconnect logic 2014-04-21 20:40:56 +01:00
Nick O'Leary 729036ec0b Fix HTTTP Request url template 2014-04-20 20:50:20 +01:00
Nick O'Leary eee8f89146 Clear MQTT Connection watchdog on error 2014-04-19 22:19:06 +01:00
Nick O'Leary d5b36fcadc Add mustache template support to the HTTP Request url 2014-04-15 22:49:39 +01:00
Nick O'Leary bcefa6c9ef Properly deprecate httpget node 2014-04-02 21:21:51 +01:00
Nick O'Leary fa2d2771a7 Add websocket error handlers
Fixes #190
2014-04-01 23:18:34 +01:00
Nick O'Leary e7dcdb075a Update udp node bind local options 2014-03-31 13:06:57 +01:00
Dave C-J 1f6155f118 Fix to allow blank password for Basic Auth in httprequest node 2014-03-31 10:28:37 +01:00
Nick O'Leary a3fa6dada5 Rework local port UI in udp node 2014-03-30 23:05:59 +01:00
Dave C-J 79f8d057a1 tweak "leave blank for random" text for outgoing port
as per Nick's suggestion
2014-03-28 08:53:25 +00:00
Dave C-J e5e457a410 UDP node fixes. Allow fixing of outbound port.
Fixes #178
Also fixed multicast binding to work more correctly.
Note: - if you fix the outbound port it will then be unvailable for input - as we are not setting up a pool.
2014-03-27 23:27:43 +00:00
Nick O'Leary f666b0e6f9 TCP Node port in use not caught properly 2014-03-17 16:09:07 +00:00
Nick O'Leary 15002f6872 Add headless mode
closes #2

httpAdminRoot / httpNodeRoot can be set to false to disable their respective bits. If both are set to false, (or httpRoot is set to false), and httpStatic is not defined, then it will not start the http server.
2014-03-08 22:35:35 +00:00
Nick O'Leary 5e58cc9fc1 HTTP In help text should use httpNodeRoot 2014-03-08 21:54:13 +00:00
Nick O'Leary f81ebf0e64 Fix too specific wildcard matching in MQTT node 2014-02-23 20:14:27 +00:00
Nick O'Leary f7a72a48ea Improve socket error handling in MQTT client
Fixes #155
2014-02-20 21:56:29 +00:00
Dave C-J 0bc4a3bbb1 update UDP node to not bind output port if not required to do so.
Fix to Close #165
2014-02-20 20:59:05 +00:00
Dave C-J 46765d5737 Turn down console.log-ing in udp node 2014-02-20 18:11:08 +00:00
Nick O'Leary d97e23947d Add uid to mqtt client log messages
This is a semi-temporary change to help debug the multiple-connection issue seen with the MQTT client
2014-02-19 22:17:20 +00:00
Nick O'Leary b4ef1d354d Catch mqtt socket write error after disconnect
Part of #155
2014-02-19 21:30:46 +00:00
Nick O'Leary d8f2f24b44 Add optional basic-auth to HTTP Request node
Closes #160
2014-02-19 20:31:42 +00:00
Nick O'Leary b8953abb28 Add clientid to mqtt-broker label
Fixes #161
2014-02-17 22:42:31 +00:00
Nick O'Leary 6b278fdceb Add httpNodeCors setting
Adds a dependency on the 'cors' npm module
2014-02-17 22:32:53 +00:00
Nick O'Leary 09f162d933 Fix overriding method in HTTP Req node 2014-02-17 22:16:42 +00:00
Nick O'Leary 7c24d4d760 Separate out httpAdmin and httpNode 2014-02-16 00:39:30 +00:00
Nick O'Leary e6cf783d52 HTTP In GET error handler fix 2014-02-15 22:36:01 +00:00
Nick O'Leary 35fb4bb47a Add rawBody middleware
Fixes #151
2014-02-12 21:30:49 +00:00
Nick O'Leary 7c24c7465a HTTP Request: allow message to override https
Fixes #147
2014-02-06 22:14:27 +00:00
Dave C-J b882846516 Quick fix for serial hangs (with serialport1.3.1)
While we investigate further.
2014-02-02 16:52:32 +00:00
Dave C-J ad675c00d8 enhance fs.notify help text
windows paths need double slashes \\
2014-01-13 20:25:58 +00:00
Nick O'Leary 79aeeea640 Handle duplicate PUBREL
Fixes #138

If the connection to a broker is lost mid qos 2 flow, there is a window where we have processed the PUBREL, released the message and deleted it from our store, but not sent the PUBCOMP. When the connection is re-established, and the PUBREL is resent by the broker, we assume the message still exists - and hit the error reported.

The fix is to check the message is valid before trying to process it. We send the PUBCOMP to complete the flow regardless.
2014-01-13 11:32:16 +00:00
Nick O'Leary 6b3010f95b Guard against null client in MQTT nodes
Fixes #130

There was a timing window where a client could connect to a broker just as new flows were deployed that would cause the on-connect callback to be called after client has been set to null. This caused an NPE.

The fix is to check client isn't null in the event handler.
2014-01-13 11:27:09 +00:00
Dave C-J 10b7f402c3 Update MQTT node Icon color to be different from Twitter one
Fixes #132
2014-01-08 16:44:47 +00:00
Dave C-J cbad188be8 Update to fs.watch node to use new fs.notify API
requires npm update fs.notify
2014-01-08 16:44:05 +00:00
Nick O'Leary 1c010c568d Fix keepalive handling in MQTT client
Fixes #124
2013-12-29 20:16:27 +00:00
Dave C-J 2ba5e0fe3e Add socketTimeout to settings.js for TCP server sockets
Fixes #125
adds an optional socketTimeout param to settings.js file to add a TCP server
socket timeout. Default is no timeout.
2013-12-24 13:12:17 +00:00
Nick O'Leary 95b8600da7 Automatically follow 301-redirects in HTTP request node
Fixes #30
2013-12-20 11:11:50 +00:00
Nick O'Leary 73f3ea52a5 Add session awareness to TCP nodes
Closes #63,#65
2013-12-19 21:16:25 +00:00
Nick O'Leary 751ac7b9ee Handle Buffer objects properly in Serial out node
Fixes #115
The serial out node does a JSON.stringify if the payload is an object. This was incorrectly being applied to Buffer objects, causing the output seen in issue #115.

The Buffer is now passed through as-is (with the newline appended if so configured).
2013-12-13 10:27:52 +00:00
Nicholas O'Leary 3984b6b702 Add websocket node docs
Part of #105
2013-12-08 20:41:57 +00:00
Nicholas O'Leary cce5f33a97 Allow JSON sending/receiving in websocket node
Fixes #105
2013-12-08 20:31:56 +00:00
Nicholas O'Leary f22cd381ee Add JSONP support to http response node
Fixes #102
2013-12-08 19:40:27 +00:00
Dave C-J fae34f8244 Let serialport retry reconnects etc
Partial fix to Issue #111

This doesn't fix the screaming loop issue if you try to write to an unplugged
serial port - but does attempt to fix the not retrying to reconnect part of 
the issue.

Both were introduced by changes to the underlying serialport npm.
2013-12-08 16:59:36 +00:00
Dave C-J 67e16adfd0 Added output "New Line" char to Serial
Addresses Issue #104
adds the option to re-use the character used the split input into lineson input as an append to every line sent out to the serial port.
2013-12-06 21:04:35 +00:00
Nicholas O'Leary 4475e74187 Overlapping mqtt subs get duplicate messages 2013-12-06 14:19:21 +00:00
Nicholas O'Leary 9690ebe9c1 Add session awareness to WebSocket node
This allows a websocket-in node to receive data, process it in a flow
and then send it back to the originating websocket client via a
websocket-out node.
2013-11-26 23:33:57 +00:00
Nicholas O'Leary 7040aaa179 Add clientid/username/password to MQTT nodes
Alternative implementation, closes #42

The username/password as not stored in the main flow file for security reasons;
they are stored in the adjacent credentials file. This does mean an extra step
to importing an MQTT node, as the user has to manually edit it to re-add username
and password if needed.
2013-11-25 22:50:08 +00:00
Nicholas O'Leary 88be896f1c Add WebSocket nodes 2013-11-22 21:28:05 +00:00
Nicholas O'Leary 7463ef92cb Add httpRoot tip to http node 2013-11-22 21:26:18 +00:00
Nicholas O'Leary 48dabffefc Move all nodes into core subdirectory
This makes it easier to distinguish core nodes from those added later
2013-11-14 15:52:19 +00:00