Commit Graph

51 Commits

Author SHA1 Message Date
Nick O'Leary ce57ba80eb
Fix mqtt nodes not reconnected on modified-flows deploy 2022-12-27 14:56:32 +00:00
Steve-Mcl 5bb66ed7d4 fix single subscription mqtt node status 2022-12-01 13:08:48 +00:00
Nick O'Leary f06c53f1f1
Merge pull request #3905 from node-red/mqtt-followups
Fix birth topic handling in MQTT node
2022-10-04 15:36:49 +01:00
Steve-Mcl b0abba15a6 remove dud code instead of commenting 2022-09-29 19:08:46 +01:00
Steve-Mcl 81b4874a7c fix new test and fix bug found in previous PR 2022-09-29 19:05:53 +01:00
Steve-Mcl e15ecc00ce remove old unused code (5y+ not used) 2022-09-29 13:11:25 +01:00
Nick O'Leary 5b7e84c1b0
Merge pull request #3869 from Steve-Mcl/fix-mqtt-birth-bad-topic-crash
Prevent invalid mqtt birth topic crashing node-red
2022-09-12 19:17:43 +01:00
Steve-Mcl fbde0091de fix node-red crash with invalid mqtt birth topic
fixes #3865
2022-09-04 11:08:41 +01:00
Steve-Mcl 31b17faa2a fix MQTT test fail due to birth sent before connection done 2022-08-12 18:23:07 +01:00
Steve-Mcl 7d4c857a43 ensure sessionExpiry(Interval) is applied 2022-08-12 15:47:15 +01:00
Stephen McLaughlin 6f0de7c80e
define noproxy variable 2022-05-24 20:43:29 +01:00
Stephen McLaughlin e223b20cbd
Remove unnecessary call to `clientRemoveListeners`
Also, merge the non JSDOC comment into the JSDOC comment
2022-05-09 16:37:25 +01:00
Phil Day a0f7e92e40 call client.end with force=true on timeout 2022-05-09 16:29:39 +01:00
Phil Day c87ff3ca26
Update packages/node_modules/@node-red/nodes/core/network/10-mqtt.js
Co-authored-by: Stephen McLaughlin <44235289+Steve-Mcl@users.noreply.github.com>
2022-05-09 16:22:50 +01:00
Phil Day 82672a825d
Update packages/node_modules/@node-red/nodes/core/network/10-mqtt.js
Co-authored-by: Stephen McLaughlin <44235289+Steve-Mcl@users.noreply.github.com>
2022-05-09 16:20:44 +01:00
Phil Day 98d524e82d
Update packages/node_modules/@node-red/nodes/core/network/10-mqtt.js
Co-authored-by: Stephen McLaughlin <44235289+Steve-Mcl@users.noreply.github.com>
2022-05-09 16:20:27 +01:00
Phil Day 3d3090a8f2 Updated to cover the removal of individual event handlers 2022-05-09 15:39:12 +01:00
Phil Day 7845ebffc5 Track which event handlers we add to the mqtt client so we can removed them cleanly 2022-05-06 15:29:42 +01:00
Phil Day b2ec040a8d Add Force parameter mqtt client.end() when called in disconnect 2022-05-05 16:12:28 +01:00
Stephen McLaughlin 7f68e341da
Merge branch 'dev' into master 2022-05-03 09:35:32 +01:00
Steve-Mcl be3b5b7fe2 MQTT topic validation and lockup fix
closes #3557
2022-04-29 19:56:37 +01:00
Stephen McLaughlin 294fc6b62f
Ensure userProps makes it through to runtime 2022-04-29 11:25:19 +01:00
Stephen McLaughlin 020eaef5ba
Fix incorrect MQTT status
fixes #3550
2022-04-26 16:12:54 +01:00
Steve-Mcl 552408f488 Make new Auto Output mode optional
- adds entry to output data type
- adds depreciation tip
2022-04-21 21:20:41 +01:00
Stephen McLaughlin 78f456911a auto mode to auto parse string to JS Object 2022-04-14 22:47:18 +01:00
Steve-Mcl 8f5d3dc49c Use v5 properties to aid auto parsing payload
- closes #3421
- fixes bug in `function setBoolProp()`
2022-04-14 22:47:18 +01:00
Nick O'Leary 0f37b326a0
Merge pull request #3502 from Steve-Mcl/fix-mqtt-will-props
fix typo of will properties (properies)
2022-03-21 19:29:23 +00:00
Steve-Mcl 7f9f551cfe fix typo of will properties (properies)
Fixes #3501
2022-03-21 15:24:23 +00:00
Steve-Mcl 10b18de3e0 fix: ensure mqtt v5 props can be set false
fixes #3471
2022-03-05 11:24:25 +00:00
Steve-Mcl 669aa769c2 Fix close timeout on MQTT nodes
fixes #2934
2022-02-17 10:18:46 +00:00
Steve-Mcl 9c3be51fe9 Improve MQTT broker disconnect situation
* Ensure topic is sane to prevent error 129
* Ensure a log entry is made
* Update node status
2022-01-25 12:29:51 +00:00
Steve-Mcl 153f87704b fix datatype in node config not used. fixes #3215 2021-10-24 22:21:44 +01:00
Nick O'Leary b8f1386ad0
Dynamic MQTT connections (#3189)
* add mqtt-control
- adds auto-connect option to broker
- add new node mqtt-control
- adds i18n messages
- adds documentation

* documentation tweaks

* built in documentation improvements

* fix tip layout causing oversized editor

* remove unused requires

* add missing `unsubscribe` dropdown option
- oddly forgotten - now added

* ensure clientid is updated dynamically

* [rewrite] move mqtt-control login into mqtt-in

* Remove dynamic label

* remove redundant mqtt-control code left overs

* Callback for brokerConn.connect (improve done())
- done is now called on connect callback

* fix race condition if connect/disconnect too fast
- node.connected and node.client.connected getting out of sync

* fix connection fail when switching protocol 3 ~ 5
- ensure protocolId is correct for protocolVersion

* change msg.subscribe prop to `msg.topic`

* unsub all topics if msg.topic is `true`

* delete temprary debugger statements

* Final rework of dynamic mqtt connections

Co-authored-by: Steve-Mcl <sdmclaughlin@gmail.com>
2021-10-14 12:05:06 +01:00
Nick O'Leary 8bbed2c831
Change node id generation to give fixed length values without '.' 2021-05-18 11:32:17 +01:00
Nick O'Leary 04a3c4bb22
Ensure mqtt-close message is published when closing mqtt nodes
The change in 1.3 where we ensure config nodes are closed last broke this behaviour. Previously, the config node would get closed triggering the close message. With the new 1.3 behaviour, the flow nodes are stopped and as soon as the last flow node deregisters itself, the broker node would disconnect without sending the close message.

The fix is to send the close message as part of the deregister flow as that will handle all cases properly
2021-04-14 22:28:25 +01:00
Steve-Mcl 080e2f2589 mqtt v5 fixes
- copy/paste issues with willMsg
- ensure helper func is ran for lwt messages
2021-02-25 19:58:59 +00:00
Nick O'Leary 255b8f2005
Update mqtt nodes for v5 2021-02-25 15:49:56 +00:00
Steve-Mcl 833ecfb1af MQTT V5 - prep for 1.3.0 beta...
* MQTT IN node tidy up
  * remove userProperties
  * remove subscriptionIdentifier
* MQTT OUT node tidy up
  * remove topicAlias
  * remove payloadFormatIndicator
  * remove subscriptionIdentifier
* MQTT BROKER node tidy up
  * remove topicAliasMaximum
  * remove maximumPacketSize
  * remove receiveMaximum
  * remove userProperties
2021-02-20 19:58:13 +00:00
Steve-Mcl be52ec1390 mark more TODO areas (mostly debugging) 2020-12-07 12:48:33 +00:00
Steve-Mcl 00db43198d design/TODO comments 2020-12-07 12:26:27 +00:00
Steve-Mcl 6bac207611 better handling of server properties 2020-12-07 12:25:51 +00:00
Steve-Mcl 27550f2d4b automatically use resposeTopic if topic is empty 2020-12-07 09:43:52 +00:00
Steve-Mcl 195aeb5caf mqttv5 progress 2020-10-14 23:30:03 +01:00
Steve-Mcl 38649de85f debugging 2020-10-10 10:56:10 +01:00
Steve-Mcl 33bb86cbcf mqtt5 1st draft 2020-10-08 20:24:35 +01:00
Dave Conway-Jones b0c3c78899
MQTT out - Add warning if topic contains + or #
still sends msg as it causes connection to bounce which may be useful and dropping it would be a change in behaviour.
2020-03-18 15:47:03 +00:00
Nick O'Leary 608834eafb
Ensure IPv6 broker names are wrapped in brackets
Fixes #2462
2020-02-24 21:52:07 +00:00
Simon Hailes 175a871ee0 repalce for-in with 'normal' for loop in mqtt and http 2019-11-18 17:14:38 +00:00
Simon Hailes 0b3e9bf5e2 mqtt & httprequest: change proxy comparison from null to falsy.
mqtt - add no_proxy support.
2019-11-03 09:54:23 +00:00
Dave Conway-Jones bb70e796a1
Change MQtt node default 3.1 compatibility mode to false 2019-09-27 14:22:37 +01:00