I have become involved with low cost IoT devices with MQTT being the primary means for non-cloud (or cloud) communication and integration. To make it easy to fit into my existing Homeseer environment I have developed mcsMQTT.
This plugin retains HS as the central node in the automation environment and allows MQTT-literate devices to be utilized. While HS Events can be triggered based upon MQTT Topics and Event Actions can publish Topics, the primary integration is with the HS DeviceValue and DeviceString. Changes in HS devices or changes in MQTT Topic payloads are seamlessless reflected with the mcsMQTT bridge.
Change Log
PR 1 12/20/2017 3.0.1.0 Add optional payload specification in MQTT event trigger
PR 2 12/20/2017 3.0.1.0 Define payload OPEN/CLOSE, ON/OFF Device-Status-Graphics pairs for DeviceValue 1/0, map these payloads to 1/0 DeviceValue updates
PR 3 12/20/2017 3.0.1.0 Honor "SET_DOES_NOT_CHANGE_LAST_CHANGE" device property checkbox when updating DeviceLastChange
PR 4 12/21/2017 3.0.1.1 Device Value and String changes not being reflected in new MQTT messages
PR 5 12/21/2017 3.0.1.2 Add debug focused around HSEvent processing
PR 6 12/22/2017 3.0.2.0 Provide bidirectional status and control in single HS3 device
PR 7 12/29/2017 3.0.3.0 JSON parsing of MQTT payload results in exception and log message
PR 8 12/29/2017 3.0.3.0 "A"ccept set true on initialization based upon presence of HS device with the associated Device Ref property
PR 9 12/29/2017 3.0.3.0 Backup of database created on each plugin start, backup retained for 6 months
PR10 1/3/2018 3.0.4.0 Add info to HS3 Device PED and synchronize with database
PR11 1/3/2018 3.0.4.0 Improve initial creation of database so restart is not needed
PR12 1/3/2018 3.0.4.1 Change HS3 connection from 192.168.0.194 to localhost
PR13 1/3/2018 3.0.4.2 Protect Topic from single and double quote in database operations
PR14 1/7/2018 3.0.4.3 Parsing error with training JSON } not removed
PR15 1/8/2018 3.0.4.4 Parsing error reversion, broke earlier correct parsing
PR16 1/9/2018 3.0.5.0 Add ability to specify arbitrary subscription topics
PR17 1/9/2018 3.0.6.0 Parsing exception ala PR7
PR18 1/9/2018 3.0.6.0 Provide Regular Expression replacement on Payload to Device
PR19 1/9/2018 3.0.6.1 Subscription does not include both $SYS and # Topics
PR20 1/10/2018 3.0.7.0 Provide Extract vs. Replace option on regular expressions
PR21 1/18/2018 3.0.7.1 Numbers in payload exceeding 2^32 generate an Int32 exception
PR22 2/14/2018 3.0.8.0 Provided the option to reduce traffic with subscription to only accepted topics
PR23 2/14/2018 3.0.8.0 Fixed broker authentication and used *** for password on setup page
PR24 2/20/2018 3.0.8.1 Settings other than default sometimes not remembered
PR25 2/26/2018 3.0.9.0 Add option to publish button label or button value
PR26 3/5/2018 3.0.9.1 Correct version number (3 to 4 digits) showing in HS log at startup
PR27 3/5/2018 3.0.9.1 Split Topic and JSON filter into two rows to reduce column width
PR28 3/5/2018 3.0.9.1 Fix Install.txt vs. install.txt to allow updater on Linux to work correctly
PR29 3/8/2018 3.0.9.2 Plugin not connecting to HS (hardcoded IP used for testing)
PR30 3/13/2018 3.0.9.3 HS3 device changes on Linux not being published as MQTT topics
PR31 3/13/2018 3.0.9.3 RegEx boxes removed for non-plugin devices
PR31 3/13/2018 3.0.9.3 Debug adjusted to assist with timing measurements
PR32 3/13/2018 3.0.9.4 HS3 source devices auto accepted on startup
PR33 3/14/2018 3.0.10.0 Streamline HS Event callback CPU use
PR34 3/14/2018 3.0.10.0 Add tool tips for hover on browser page
PR35 3/14/2018 3.0.10.0 Change QOS radio style to traditional rendering
PR36 3/14/2018 3.0.10.0 Allow user to select value/status/string on non-plugin device publishing
PR37 3/14/2018 3.0.10.0 Allow user to specify the non-plugin device topics being published
PR38 3/15/2018 3.0.10.1 Add protection for reading null database fields caused by adding new fields in 3.0.10.0
PR39 3/16/2018 3.1.0.0 Revamped UI to improve understandability
PR40 3/16/2018 3.1.0.0 Added manual topic entry/edit
PR41 3/16/2018 3.1.0.0 Added options to manage HS device enumeration and subscription display
PR42 3/16/2018 3.1.0.0 Improved startup timing and page build timing
PR43 3/18/2018 3.1.1.0 Dynamic updates of UI based upon user interaction
PR44 3/20/2018 3.1.2.0 Provided tabbed setup page
PR45 3/20/2018 3.1.2.0 Add retain default and topic-specific user input
PR46 3/20/2018 3.1.2.0 Add default QOS user input
PR47 3/20/2018 3.1.2.0 Add message and connection statistics
PR48 3/20/2018 3.1.2.0 Add LWT provisions
PR49 3/20/2018 3.1.2.0 Robust reconnection on dropped connection
PR50 3/20/2018 3.1.2.0 Removed dual purpose of all Association table columns
PR51 3/20/2018 3.1.2.0 Made 0 & 1 Payloads default to Button Off/On devices
PR52 3/21/2018 3.1.3.0 Add Broker Connection Event Trigger
PR53 3/21/2018 3.1.3.0 Add option to create individual mcsMQTT Status Devices in HS
PR54 3/23/2018 3.1.4.0 Add History retention with display filtering
PR55 3/25/2018 3.2.0.0 Completed bidirectional parent/child status relationships
PR56 3/25/2018 3.2.0.0 Color coded table rows to show plugin vs non-plugin rows
PR57 3/25/2018 3.2.0.0 Rebuilt database on initial startup of this version
PR58 3/25/2018 3.2.0.0 Added ability to specify command topics for existing HS devices
PR59 3/25/2018 3.2.0.0 Modified cosmetics for improved understandability
PR60 3/25/2018 3.2.0.0 Included both Sub and Pub topics in pulldown filters
PR61 3/25/2018 3.2.0.0 Added option to prefix with INFO/ or STAT/ (Tasmota convention)
PR62 3/25/2018 3.2.0.0 Added periodic status reporting option
PR63 3/25/2018 3.2.0.0 Removed PED contents and no longer maintain redundancy of data
PR64 3/26/2018 3.2.1.0 Added debug to Event Trigger setup
PR65 3/26/2018 3.2.1.0 Optimized trigger process for received messages
PR66 3/26/2018 3.2.1.0 Added Association filter based upon HS device categories
PR67 3/26/2018 3.2.1.1-3 Debug added to assist in understand disconnect from HS\
PR68 3/27/2018 3.2.2.0 Added receive queue to buffer incoming rates from HS processing rates
PR69 3/27/2018 3.2.2.0 Made JSON payload decoding optional
PR70 3/27/2018 3.2.2.1 Console writes inserted in each HS API call to help debug disconnect
PR71 3/28/2018 3.2.2.2 Postback error when Association Table requested
PR72 3/28/2018 3.2.3.0 Misc cleanup as devices are associated between manual and Assoc tabs
PR73 3/28/2018 3.2.3.0 Added ability to structure JSON devices as parent/child
PR74 3/28/2018 3.2.3.1 Association table does not appear unless browser previously open to mcsMQTT page
PR75 3/28/2018 3.2.3.1 Improved robustness of Association filters being updated as content changes
PR76 3/28/2018 3.2.3.1 Added purple row color for non-plugin devices mapped directly to MQTT topics
PR77 3/28/2018 3.2.4.0 Provided option for parent/child associations on JSON payloads
PR78 3/29/2018 3.2.5.0 Provided ability to display multiple mcsMQTT browser pages at the same time
PR79 3/29/2018 3.2.5.1 Additional debug around SetIOMulti, HSEvent, Triggers, and message reception & action
PR80 3/30/2018 3.2.5.2 RegEx stopped working with 3.5.0.0 (Replace pattern not retained)
PR81 3/30/2018 3.2.5.3 Disconnect flag true does not persist restarts
PR82 3/30/2018 3.2.5.3 Association filter not cleared when topics no longer present
PR83 3/30/2018 3.2.5.3 Subscription to no topics and no discovery causes .net error traps
PR84 3/30/2018 3.2.5.3 Database non-plugin devices are overwritten when an Accept is done ... need to go back to prior database
PR85 4/1/2018 3.2.6.0 Association table does not render unless a receive message has been accepted
PR86 4/1/2018 3.2.6.0 Concurrent thread protection added while topic and dictionaries are being modified
PR87 4/1/2018 3.2.6.0 Feedback provided on table size for larger tables when Show button is pressed
PR88 4/1/2018 3.2.6.0 Database fix only worked for the 3.1.x.x to 3.2.0.0. Not for subsequent 3.2.x.x.
PR89 4/1/2018 3.2.6.0 Protected Topic text in database should quote or single quote happen to be in Topic
PR90 4/1/2018 3.2.6.1 Added debug to isolate object missing message on Build Association Table
PR91 4/2/2018 3.2.7.0 Added special keyword 'change' in Payload of MQTT Receive Trigger to cause trigger on change of payload
PR92 4/2/2018 3.2.7.0 Changed behavior of SetDeviceValueByRef to always trigger rather than only triggering on a change of value
PR93 4/2/2018 3.2.7.1 Debug data file in DatamcsMQTT_Debug.txt rather than Data\mcsMQTT_Debug.txt
PR94 4/2/2018 3.2.7.1 Locate the data files in \Data\mcsMQTT rather than \Data
PR95 4/3.2018 3.2.8.0 Add page scroll buttons on Association tab and limit table size to 20 rows
PR96 4/3/2018 3.2.9.0 Increment DeviceValue if String Payload received and it changed the DeviceString
PR97 4/3/2018 3.2.9.1 Association Page number of rows availalbe is not shown on initial page rendering
PR98 4/3/2018 3.2.9.2 Use same color scheme of pink/green on history as is used on Association and Manual tabs
PR99 4/3/2018 3.2.9.2 Update Manual to 3.2.9 capability
PR100 4/3/2018 3.2.9.3 Duplicate debug files with second at parent directory folder
PR100 4/5/2018 3.2.10.0 Add Config Link to Plugin Page
PR102 4/5/2018 3.2.10.0 Add List Status/Control Type and generalize text to value mapping
PR103 4/6/2018 3.2.11.0 Added "H"istory checkbox on Association tab (and General tab) to select topic to be included in History collection
PR104 4/6/2018 3.2.11.0 Fixed "R"eject button not being accepted on Association tab. Broke in 3.2.5.0
PR105 4/6/2018 3.2.12.0 Updated concurrency (thread protection) logic to allow nested/multilevel protections
PR106 4/6/2018 3.2.12.0 Numeric payloads are being treated as VSP list enumeration
PR107 4/6/2018 3.2.12.0 Add Echo option on General Tab to allow published topics to be seen as subscriptions
PR108 4/7/2018 3.2.12.1 Fix Echo enable
PR109 4/7/2018 3.2.12.1 Improve auto VSP logic when devcie accepted from Association tab
PR110 4/7/2018 3.2.12.1 Provide compatibility with earlier versions of Mono on Linux
PR111 4/7/2018 3.2.12.2 Use default QOS rather than Exactly for Event Publish Actions
PR112 4/7/2018 3.2.12.2 Update manual to 3.2.12 capability
PR113 4/8/2018 3.2.13.0 Provided same page scrolling for History as Association tab to avoid browser overload
PR114 4/8/2018 3.2.13.2 Event MQTT Receive Trigger fails if same topic used in multiple events
PR115 4/9/2018 3.2.14.0 Added substitution variables for use in templates for published topic and payload formats
PR116 4/10/2018 3.2.14.1 Statistics Accept counts incorrect and no History records for accepted topics
PR117 4/10/2018 3.2.14.2 History date range does not default to valid range so filtered records to not show
PR118 4/11/2018 3.2.14.3 Error trap during MQTTSubscribe does not properly manage sync flags
PR119 4/11/2018 3.2.15.0 Allow entry of Broker port other than 1883
PR120 4/11/2018 3.2.15.1 Text Status/Control type creates VSP so even when DeviceString is set it does not appear
PR121 4/12/2018 3.2.16.0 First segment of substitution template not include in topic or payload
PR122 4/12/2018 3.2.16.0 Encode topic reserved symbols per HTML %## convention
PR123 4/12/2018 3.2.16.0 Added SSL support, testing limited to UI
PR124 4/12/2018 3.2.16.1 Forced On/Open=1, Off/Closed=2 when these payloads are available
PR125 4/12/2018 3.2.16.2 Manual tab entry of Ref number will populate either plugin or nonplugin table
PR126 4/13/2018 3.2.17.0 Compiled with .NET 4.5 vs. prior .NET 4.0
PR127 4/13/2018 3.2.17.0 Added table at top of Manual tab to allow user to select either Ref or Sub Topic
PR128 4/13/2018 3.2.18.0 Made List control/status UI only manual user select, Text is now default
PR129 4/13/2018 3.2.18.0 Added Color Picker as Control UI option
PR130 4/14/2018 3.2.19.0 Converted Association Ref to a button that will populate Manual Tab
PR131 4/15/2018 3.2.19.1 Prefix Color Picker publish RGB payload with # (e.g. #AAFF20)
PR132 4/15/2018 3.2.19.1 Remove debug output for Name and InterfaceStatus calls
PR133 4/16/2018 3.2.19.4 Additional debug during storing payloads in HS devices
PR134 4/17/2018 3.2.20.0 Added MISC properties as user-settable
PR135 4/17/2018 3.2.20.0 Cleared MISC NO-STATUS_DISPLAY for most UI's
PR136 4/17/2018 3.2.20.0 Assured Association & History filters are not masked by prior selection that are no longer availalbe
PR137 4/24/2018 3.3.0.0 Added Chart tab
PR138 4/24/2018 3.3.0.0 removed Label/Number radio for publish, now use payload template with $$value: to publish number
PR139 4/24/2018 3.3.0.0 removed string, status, value publish checkboxes, now use payload template
PR140 4/26/2018 3.3.0.1 corrected tool tip typos and added tool tip reference to the manual
PR141 4/26/2018 3.3.0.2 Added DISARMED/ARMED and OFFLINE/ONLINE as additional special case two-state pairs
PR142 4/26/2018 3.3.0.2 fixed button type when transitioning from number to button and no VSP have yet been recorded
PR143 4/29/2018 3.3.0.3 Changed Manual tab to Edit tab nomenclature
PR144 4/29/2018 3.3.0.3 Added text and figures to Section 10 of manual for tool tip reference
PR145 5/4/2018 3.3.1.0 Added popup window for edit of association properties
PR146 5/5/2018 3.3.2.0 Added HTTP request for chart build with querystring parameters
PR147 5/8/2018 3.3.3.0 Added chart definition and expanded options for chart appearance
PR148 5/8/2018 3.3.3.0 Added ability to popup chart by clicking Association tab payload
PR149 5/9/2018 3.3.3.1 Publish topics not appearing on chart topic selector
PR150 5/11/2018 3.3.4.0 Added Expressions, Filter, Derivative and Integral numeric transforms
PR151 5/12/2018 3.3.4.1 Publish from HS device control no longer works
PR152 5/12/2018 3.3.4.2 Added debug around browser postback
PR153 5/14/2018 3.3.5.0 Added Publication List tab
PR154 5/14/2018 3.3.5.1 Removed debug for WebPage and Register events
PR155 5/15/2018 3.3.6.0 Populate Non-plugin devices from database when Enumerate with button is selected
PR156 5/15/2018 3.3.6.0 Add Time base option for rate device
PR157 5/15/2018 3.3.6.0 Add Delta from midnight option for accum device
PR158 5/16/2018 3.3.6.1 Protection for divide by zero does not exist in rate calculation
PR159 5/17/2018 3.3.7.0 Substitution variables added to publication list file
PR160 5/17/2018 3.3.7.0 Manual updated for Irrigation Control with mcsTasmota firmware
PR170 5/18/2018 3.3.8.0 Added plugin link to mcsMQTT Doc
PR171 5/18/2018 3.3.8.0 Improved alignment of HTML pages to match size of tab canvas
PR172 5/19/2018 3.4.0.0 VSP Topics protected from special database characters in the database
PR173 5/19/2018 3.4.0.0 Improved reliability of filter pulldowns on Association tab
PR174 5/19/2018 3.4.0.0 Added charting for HS Device Values ... including mcsMQTT rate and accum devices
PR175 5/20/2018 3.4.0.2 VSP edit broke for case of deleting VSP entries
PR176 5/20/2018 3.4.0.3 Transform table topics protected from special characters in the database
PR177 5/20/2018 3.4.0.4 Protect from access of objects for chart before chart objects created
PR178 5/20/2018 3.4.1.0 Add delete button on Edit tab to remove obsolete topics and devices from database
PR179 5/31/2018 3.4.2.0 Encrypted broker passwords in mcsMQTT.ini
PR180 5/31/2018 3.4.2.0 New SSL implementation provided by vasrc
PR181 6/17/2018 3.4.2.1 Association filter for second JSON position does not appear, but still used in filter
PR182 6/19/2018 3.4.3.0 Add clear button on the pulldown filters
PR183 6/19/2018 3.4.3.0 Don't publish is subscribe topic is same as publish topic and subscribe message received within 15 seconds.
PR184 6/21/2018 3.4.3.1 Debug added around database operations
PR185 6/22/2018 3.4.3.2 Overcame issue with redundant records being stored in database
PR186 6/23/2018 3.4.3.3 Association and Edit tabs not properly synchronized for non-plugin device records
PR187 6/24/2018 3.4.3.4 Investigation for lack of published messages
PR188 6/24/2018 3.4.4.0 Add provisions for six levels of JSON in Topic and History select filters
PR189 6/25/2018 3.4.4.1 Update Payload/LastDate for subscriptions associated with non-plugin devices
PR190 6/25/2018 3.4.4.1 Fix Edit Page popups to show selected device properties
PR191 6/25/2018 3.4.4.1 Rename Device filter to Room/Floor and fix filter to return only selected records
PR192 6/25/2018 3.4.5.0 Provided RGB to Integer translation on subscription to allow HS device to reflect selected color
PR193 6/25/2018 3.4.5.0 Added ability to use arithmetic and regular expressions on received payloads for non-plugin devices
PR194 6/26/2018 3.4.5.1 Changed colorization on Edit tab for subscribed non-plugin devices to match Association tab
PR195 6/26/2018 3.4.5.1 Added Rebuild buttons to Filters and removed some auto rebuild to improve performance
PR196 6/27/2018 3.4.5.2 JSON parsing fixed for cases of more than two levels of nesting (Tasmota 1-wire sensors)
PR197 6/27/2018 3.4.5.2 Color picker RGB to Integer order reversed and debug added to HS save of RGB value
PR198 6/27/2018 3.4.5.2 Cleanup of non-plugin device mapped to MQTT subscription
PR199 7/6/2018 3.4.6.0 Replace use of GNUPlot for Linux with .NET datavisualization
PR200 8/6/2018 3.4.6.1 Unable to save second axis selection on Chart setup
PR201 8/22/2018 3.4.6.2 Retain flag hard-coded false for event action messages
PR202 8/27/2018 3.4.7.0 Include Regular and Numeric expressions in chart data
PR203 9/3/2018 3.4.7.1 Only one of duplicate event triggers result in HS event trigger
PR204 9/9/2018 3.4.8.0 Event action substitution variables cause log error
PR205 9/9/2018 3.4.8.0 Protect HSEvent from non-numeric device reference parameter from HS
PR206 9/9/2018 3.4.8.0 Event action substitution Value/String/Status can use any of Reference/Address/Code
PR207 9/10/2018 3.4.8.1 Eliminate DeviceStatus extraction on HSEvent callbacks
PR208 9/11/2018 3.4.9.0 Topics published for HS devices that have not been selected
PR209 9/11/2018 3.4.9.0 Add user selection of DeviceValue vs. DeviceString change trigger to publish
PR210 9/11/2018 3.4.9.0 Add visualizations for sort direction and field
PR211 9/26/2018 3.4.10.0 Add user-defined device grouping for improved Device Management display
PR212 10/7/2018 3.4.11.0 Assure VSP display below chart page is shown in sorted numeric order
PR213 10/7/2018 3.4.11.0 Changed MQTT Client ID to be more recognizable as "mcsMQTT on " host name
PR214 10/20/2018 3.4.11.1 Charting of JSON data which was not always being handled properly
PR215 11/7/2018 3.4.11.2 Copied events do not maintain uniqueness
PR216 11/11/2018 3.4.12.0 Publish on receive topic if no transmit topic is entered
PR217 11/27/2018 3.4.13.0 Add TRUE and FALSE as special case payloads for button typing
PR218 11/27/2018 3.4.13.0 Add Wildcard subscription topic template for auto-association with existing HS devices
PR219 11/28/2018 3.4.14.0 Expand Wildcard topic template to all substitution patterns rather than only $$REF:
PR220 11/28/2018 3.4.14.1 Multiple substitutions in wildcard template fail
PR221 11/29/2018 3.4.15.0 Provide option to not HTML-encode space in published topics
PR222 11/30/2018 3.4.16.0 Add option to auto create associations for all HS devices
PR223 12/2/2018 3.4.16.1 Remove workaround that replaced HS CAPI label with plugin-defined VGP
PR224 12/4/2018 3.4.16.3 Non-plugin devices deleted when subscribe topic assigned to two non-plugin devices
PR225 12/6/2016 3.4.16.4 Use UTF8 rather than ASCII encoding for received payloads to accommodate special characters
PR226 12/16/2018 3.4.17.0 XY to RGB color support for lighting
PR227 12/30/2018 3.4.17.1 Publish payload with quote shows us as ^2 after plugin restart
PR228 1/6/2019 3.4.17.2 Additional debug around database operations
PR229 1/7/2019 3.4.17.3 Statistics devices are recreated on each startup when general tab has these selected to be created
PR230 1/10/2019 3.4.17.4 Align new device buttons from left to right in numeric button value
PR231 1/16/2019 3.4.18.1 Provide "_URL_ENCODE" suffix for substitution variables applicable to publish payload templates
PR232 1/20/2018 3.4.18.2 Change "URL_ENCODE" to "URI_ENCODE" and use system.URI rather than webutility in .NET for encoding.
PR233 1/23/2019 3.4.19.0 Added Inactive and Active as predefined payload to create button pairs
PR234 1/23/2019 3.4.19.0 Added 24 icons for LED IR keypad mapping
PR235 1/23/2019 3.4.19.0 VGP definitions are not changed after initial creation to protect subsequent user edits
PR236 1/28/2019 3.4.19.1 MISC edits on Edit tab are not reflected in HS devices if not done from the Edit popup
PR237 1/29/2019 3.4.19.2 Subscribe Topic / Device Ref associations cannot be edited so map Edit subscribe Topic display only
PR238 2/4/2019 3.4.20.0 Added scripting callback on selective received topics
PR239 2/4/2019 3.4.20.1 Fixed handling of non-plugin subscription topics
PR240 2/4/2019 3.4.20.2 Selecting existing non-plugin ref results in crash when non-plugin device status updated
PR241 2/7/2019 3.4.20.3 Added wildcard recognition & optimizations per YoYo for script callback
PR242 2/16/2019 3.5.1.0 Added Express mode to provide low-overhead means to update Device from MQTT
PR243 2/16/2019 3.5.1.0 Added ability to change Topic to Device relationships without creating new Device
PR244 2/16/2019 3.5.1.0 Added ability to remove obsolete topics from database and tables
PR245 2/17/2019 3.5.2.0 Restored the Reject column checkboxes that were removed in 3.5.1.0
PR246 2/17/2019 3.5.2.0 Added ability to update non-plugin devices in Express mode
PR247 2/17/2019 3.5.3.0 Added Log as a HS callback option on Edit tab to enable publish without Device change
PR248 2/20/2019 3.5.4.0 Added features to reduce limitations of Express mode
PR249 2/21/2019 3.5.5.0 Significant improvement in CPU utilization by altering use of HS device object
PR250 2/23/2019 3.5.6.0 Control buttons in HS GUI are not generated when a Button type device is associated
PR251 2/23/2019 3.5.6.0 When a device is un-associated the device is not deleted from HS
PR252 2/23/2019 3.5.6.0 Provide means to substitute underscore for space in published topics rather than URI encoding
PR253 3/15/2019 3.5.6.1 Default for Express mode selected whenever Ref button is clicked
PR254 3/15/2019 3.5.6.1 Delete obsolete does not work correctly unless plugin has been restarted
PR255 3/16/2019 3.5.7.0 Delete Sub and Ref button on edit tab does not delete parent device if it exists
PR256 3/16/2019 3.5.7.0 Group all statistic devices in HS and provide control on parent to update/not update devices
PR257 3/16/2018 3.5.7.0 Improve the relationship of Express Mode and Parent/Child groupings
PR258 3/16/2018 3.5.7.0 Allow user to edit the mcsMQTT Client ID
PR259 3/16/2019 3.5.7.0 Removed the DeviceValue increment on the Parent device for each message received
PR260 3/22/2019 3.6.0.0 Added VSP Clear button and allowed VSP entry for all values on single text box entry
PR261 3/22/2019 3.6.0.0 Added ability to associate multiple topics to single HS device
PR262 3/22/2019 3.6.0.0 Added Topic summary row with indented JSON payload elements
PR263 3/22/2019 3.6.0.0 Express checkbox only enabled on Topic rows and JSON rows slaved to Topic row
PR264 3/22/2019 3.6.0.0 Added Technology Address update based upon MQTT Topic
PR265 3/22/2019 3.6.0.0 Added Association tab Obsolete column checkbox
PR266 3/22/2019 3.6.0.0 Added ability to hide Obsolete, Reject, History and Device checkboxes on Association tab
PR267 3/24/2019 3.6.1.0 Payload value rather than Payload template provided in Edit tab initial value for template
PR268 3/24/2019 3.6.1.0 Made obsolete checkbox wait for Delete Marked button click before removing the records
PR269 3/26/2019 3.6.1.1 Non-plugin devices not appearing on Association tab
PR270 3/28/2019 3.6.1.2 Fixed JSON parsing for case when JSON syntax embedded within quotes
PR271 3/28/2019 3.6.1.2 Expanded JSON decoding to handle list of JSON elements
PR272 3/29/2019 3.6.1.3 Handle comma in number payload rather than as JSON item separator
PR273 3/29/2019 3.6.1.3 Allow leading white space in JSON payloads
PR274 3/30/2019 3.6.1.4 Regular Expressions only working in Express mode
PR275 4/1/2019 3.6.1.5 Show received payload rather than regex payload in Express mode
PR276 4/10/2019 3.6.2.0 Added unix_time and unit_date expression functions
PR277 4/10/2019 3.6.2.0 Enabled use of expressions for text formatting
PR278 5/19/2019 4.0.0.0 Added Bluetooth Low Energy Scanner Function with ESP32
PR279 6/6/2019 4.0.1.0 Added NumberChange Control/Status UI type
PR280 6/7/2019 4.0.1.1 Execute low pass filter before numeric expression
PR281 6/7/2019 4.0.2.0 Control brightness from color picker for ColorXY type
PR282 6/7/2019 4.0.2.0 Changed color space model of XY to RGB translation
PR283 6/7/2019 4.0.2.0 Resend ColorXY type commands 2 seconds after the first to assure device reports final status
PR284 6/7/2019 4.0.2.0 No longer require ColorXY to have a Associated parent in HS
PR285 6/7/2019 4.0.2.0 HS parent of MQTT topics no longer hold JSON payload, but have empty DeviceString
PR286 6/7/2019 4.0.2.0 Express mode set when device Accepted if express is default, but now follows root device express mode setting
PR287 6/8/2019 4.0..2.1 ColorXY brightness command range changed from percentage to 8 bit range
PR288 6/12/2019 4.0.2.2 Non-plugin associations do not initialize numeric expressions on startup
PR289 6/12/2019 4.0.3.0 Add ability to add expressions to publish template with << and >> encasing
PR290 7/6/2019 4.0.3.1 Optimize shutdown by saving to database only that which has changed
PR291 7/7/2019 4.0.3.2 Plugin did not shutdown after connection with HS was dropped
PR292 7/19/2019 4.1.0.0 Add Led Messaging Sign
PR293 7/22/2019 4.1.0.1 Assure HTML stripped to Sign when using MQTT Send Message event
PR294 7/25/2019 4.1.0.2 Tolerate spaces after colon separator in JSON payloads
PR295 7/29/2019 4.1.1.0 Added plugin version in header of MQTT Management on General tab
PR296 8/4/2019 4.1.2.0 Changed embedded color delimeter from <> to [ ] for messaging sign
PR297 8/4/2019 4.1.2.0 Provisions to support multiple messaging signs
PR298 8/7/2019 4.1.2.1 Added debug to Event Actions
PR299 8/9/2019 4.1.2.2 Clear DeviceString when Control/Status selection changes from Text
PR300 8/16/2019 4.1.2.3 Event action substitution variables broke
PR301 8/17/2019 4.1.3.0 Added $$LABEL: substitution variable for CAPI labels
PR302 8/17/2019 4.1.4.0 Added $$VSP: substitution variable to lookup mcsMQTT VSP text using HS device value
PR303 8/22/2019 4.1.5.0 Added MQTT trigger topics to subscription list used when discovery is not enabled
PR304 9/10/2019 4.1.6.0 Added $$DATE: and $$TIME: for short format in event action
PR305 9/12/2019 4.1.6.1 Fixed $$DATE or $$TIME being at end of event action
PR306 9/14/2019 4.1.7.0 Added capability to support multiple brokers
PR307 9/15/2019 4.1.7.1 MQTT connect event trigger missing broker selection for multiple brokers
PR308 9/21/2019 4.1.7.2 Init to plugin child device when no info in database and ref property is -1
PR309 9/21/2019 4.1.7.2 Allow additional brokers to be added without restarting plugin
PR310 9/21/2019 4.1.7.2 Broker username not initialized from mcsMQTT.ini
PR311 9/25/2019 4.1.7.3 Edit popup for parent association and VSP entries dont initially populate correctly
PR312 9/25/2019 4.1.7.3 Change parent association does not remove the prior parent's association with child
PR313 9/27/2019 4.1.8.0 Added ability to record changes of MQTT device updates in HS Log
PR314 10/12/2019 4.2.0.0 Added BLE tab for distance from scanner graphics of BLE beacons
PR315 10/18/2019 4.2.0.2 Exception not trapped in broker connection loop
PR316 10/18/2019 4.2.1.0 Added CSV Control/Status UI type
PR317 10/19/2019 4.2.2.0 Added HSB Control/Status UI type
PR318 10/21/2019 4.2.3.0 Continue trying to make broker connection if exception in MQTT thread
PR319 10/21/2019 4.2.3.0 Corrrect HSB to RGB conversion rounding errors
PR320 10/21/2019 4.2.3.0 Provide broker-independent statistics devices
PR321 10/24/2019 4.2.3.1 Protect from error when inner.exeception is null
PR322 11/27/2019 4.2.4.0 Added user entry of LWT topic on General tab
PR323 12/9/2019 4.2.5.0 Add ability to specify multiple pub topics for CSV Control/Status types
PR324 12/11/2019 4.2.6.0 Added slider controls for HSB type and made CSV controls number boxes
PR325 12/12/2019 4.2.6.1 Script callbacks cannot be registered in Linux
Documentation/Manual http://mcsSprinklers.com/mcsMQTT.pdf
How-To Guides from post #250, #259 & #304 by taylormia attached
This plugin retains HS as the central node in the automation environment and allows MQTT-literate devices to be utilized. While HS Events can be triggered based upon MQTT Topics and Event Actions can publish Topics, the primary integration is with the HS DeviceValue and DeviceString. Changes in HS devices or changes in MQTT Topic payloads are seamlessless reflected with the mcsMQTT bridge.
Change Log
PR 1 12/20/2017 3.0.1.0 Add optional payload specification in MQTT event trigger
PR 2 12/20/2017 3.0.1.0 Define payload OPEN/CLOSE, ON/OFF Device-Status-Graphics pairs for DeviceValue 1/0, map these payloads to 1/0 DeviceValue updates
PR 3 12/20/2017 3.0.1.0 Honor "SET_DOES_NOT_CHANGE_LAST_CHANGE" device property checkbox when updating DeviceLastChange
PR 4 12/21/2017 3.0.1.1 Device Value and String changes not being reflected in new MQTT messages
PR 5 12/21/2017 3.0.1.2 Add debug focused around HSEvent processing
PR 6 12/22/2017 3.0.2.0 Provide bidirectional status and control in single HS3 device
PR 7 12/29/2017 3.0.3.0 JSON parsing of MQTT payload results in exception and log message
PR 8 12/29/2017 3.0.3.0 "A"ccept set true on initialization based upon presence of HS device with the associated Device Ref property
PR 9 12/29/2017 3.0.3.0 Backup of database created on each plugin start, backup retained for 6 months
PR10 1/3/2018 3.0.4.0 Add info to HS3 Device PED and synchronize with database
PR11 1/3/2018 3.0.4.0 Improve initial creation of database so restart is not needed
PR12 1/3/2018 3.0.4.1 Change HS3 connection from 192.168.0.194 to localhost
PR13 1/3/2018 3.0.4.2 Protect Topic from single and double quote in database operations
PR14 1/7/2018 3.0.4.3 Parsing error with training JSON } not removed
PR15 1/8/2018 3.0.4.4 Parsing error reversion, broke earlier correct parsing
PR16 1/9/2018 3.0.5.0 Add ability to specify arbitrary subscription topics
PR17 1/9/2018 3.0.6.0 Parsing exception ala PR7
PR18 1/9/2018 3.0.6.0 Provide Regular Expression replacement on Payload to Device
PR19 1/9/2018 3.0.6.1 Subscription does not include both $SYS and # Topics
PR20 1/10/2018 3.0.7.0 Provide Extract vs. Replace option on regular expressions
PR21 1/18/2018 3.0.7.1 Numbers in payload exceeding 2^32 generate an Int32 exception
PR22 2/14/2018 3.0.8.0 Provided the option to reduce traffic with subscription to only accepted topics
PR23 2/14/2018 3.0.8.0 Fixed broker authentication and used *** for password on setup page
PR24 2/20/2018 3.0.8.1 Settings other than default sometimes not remembered
PR25 2/26/2018 3.0.9.0 Add option to publish button label or button value
PR26 3/5/2018 3.0.9.1 Correct version number (3 to 4 digits) showing in HS log at startup
PR27 3/5/2018 3.0.9.1 Split Topic and JSON filter into two rows to reduce column width
PR28 3/5/2018 3.0.9.1 Fix Install.txt vs. install.txt to allow updater on Linux to work correctly
PR29 3/8/2018 3.0.9.2 Plugin not connecting to HS (hardcoded IP used for testing)
PR30 3/13/2018 3.0.9.3 HS3 device changes on Linux not being published as MQTT topics
PR31 3/13/2018 3.0.9.3 RegEx boxes removed for non-plugin devices
PR31 3/13/2018 3.0.9.3 Debug adjusted to assist with timing measurements
PR32 3/13/2018 3.0.9.4 HS3 source devices auto accepted on startup
PR33 3/14/2018 3.0.10.0 Streamline HS Event callback CPU use
PR34 3/14/2018 3.0.10.0 Add tool tips for hover on browser page
PR35 3/14/2018 3.0.10.0 Change QOS radio style to traditional rendering
PR36 3/14/2018 3.0.10.0 Allow user to select value/status/string on non-plugin device publishing
PR37 3/14/2018 3.0.10.0 Allow user to specify the non-plugin device topics being published
PR38 3/15/2018 3.0.10.1 Add protection for reading null database fields caused by adding new fields in 3.0.10.0
PR39 3/16/2018 3.1.0.0 Revamped UI to improve understandability
PR40 3/16/2018 3.1.0.0 Added manual topic entry/edit
PR41 3/16/2018 3.1.0.0 Added options to manage HS device enumeration and subscription display
PR42 3/16/2018 3.1.0.0 Improved startup timing and page build timing
PR43 3/18/2018 3.1.1.0 Dynamic updates of UI based upon user interaction
PR44 3/20/2018 3.1.2.0 Provided tabbed setup page
PR45 3/20/2018 3.1.2.0 Add retain default and topic-specific user input
PR46 3/20/2018 3.1.2.0 Add default QOS user input
PR47 3/20/2018 3.1.2.0 Add message and connection statistics
PR48 3/20/2018 3.1.2.0 Add LWT provisions
PR49 3/20/2018 3.1.2.0 Robust reconnection on dropped connection
PR50 3/20/2018 3.1.2.0 Removed dual purpose of all Association table columns
PR51 3/20/2018 3.1.2.0 Made 0 & 1 Payloads default to Button Off/On devices
PR52 3/21/2018 3.1.3.0 Add Broker Connection Event Trigger
PR53 3/21/2018 3.1.3.0 Add option to create individual mcsMQTT Status Devices in HS
PR54 3/23/2018 3.1.4.0 Add History retention with display filtering
PR55 3/25/2018 3.2.0.0 Completed bidirectional parent/child status relationships
PR56 3/25/2018 3.2.0.0 Color coded table rows to show plugin vs non-plugin rows
PR57 3/25/2018 3.2.0.0 Rebuilt database on initial startup of this version
PR58 3/25/2018 3.2.0.0 Added ability to specify command topics for existing HS devices
PR59 3/25/2018 3.2.0.0 Modified cosmetics for improved understandability
PR60 3/25/2018 3.2.0.0 Included both Sub and Pub topics in pulldown filters
PR61 3/25/2018 3.2.0.0 Added option to prefix with INFO/ or STAT/ (Tasmota convention)
PR62 3/25/2018 3.2.0.0 Added periodic status reporting option
PR63 3/25/2018 3.2.0.0 Removed PED contents and no longer maintain redundancy of data
PR64 3/26/2018 3.2.1.0 Added debug to Event Trigger setup
PR65 3/26/2018 3.2.1.0 Optimized trigger process for received messages
PR66 3/26/2018 3.2.1.0 Added Association filter based upon HS device categories
PR67 3/26/2018 3.2.1.1-3 Debug added to assist in understand disconnect from HS\
PR68 3/27/2018 3.2.2.0 Added receive queue to buffer incoming rates from HS processing rates
PR69 3/27/2018 3.2.2.0 Made JSON payload decoding optional
PR70 3/27/2018 3.2.2.1 Console writes inserted in each HS API call to help debug disconnect
PR71 3/28/2018 3.2.2.2 Postback error when Association Table requested
PR72 3/28/2018 3.2.3.0 Misc cleanup as devices are associated between manual and Assoc tabs
PR73 3/28/2018 3.2.3.0 Added ability to structure JSON devices as parent/child
PR74 3/28/2018 3.2.3.1 Association table does not appear unless browser previously open to mcsMQTT page
PR75 3/28/2018 3.2.3.1 Improved robustness of Association filters being updated as content changes
PR76 3/28/2018 3.2.3.1 Added purple row color for non-plugin devices mapped directly to MQTT topics
PR77 3/28/2018 3.2.4.0 Provided option for parent/child associations on JSON payloads
PR78 3/29/2018 3.2.5.0 Provided ability to display multiple mcsMQTT browser pages at the same time
PR79 3/29/2018 3.2.5.1 Additional debug around SetIOMulti, HSEvent, Triggers, and message reception & action
PR80 3/30/2018 3.2.5.2 RegEx stopped working with 3.5.0.0 (Replace pattern not retained)
PR81 3/30/2018 3.2.5.3 Disconnect flag true does not persist restarts
PR82 3/30/2018 3.2.5.3 Association filter not cleared when topics no longer present
PR83 3/30/2018 3.2.5.3 Subscription to no topics and no discovery causes .net error traps
PR84 3/30/2018 3.2.5.3 Database non-plugin devices are overwritten when an Accept is done ... need to go back to prior database
PR85 4/1/2018 3.2.6.0 Association table does not render unless a receive message has been accepted
PR86 4/1/2018 3.2.6.0 Concurrent thread protection added while topic and dictionaries are being modified
PR87 4/1/2018 3.2.6.0 Feedback provided on table size for larger tables when Show button is pressed
PR88 4/1/2018 3.2.6.0 Database fix only worked for the 3.1.x.x to 3.2.0.0. Not for subsequent 3.2.x.x.
PR89 4/1/2018 3.2.6.0 Protected Topic text in database should quote or single quote happen to be in Topic
PR90 4/1/2018 3.2.6.1 Added debug to isolate object missing message on Build Association Table
PR91 4/2/2018 3.2.7.0 Added special keyword 'change' in Payload of MQTT Receive Trigger to cause trigger on change of payload
PR92 4/2/2018 3.2.7.0 Changed behavior of SetDeviceValueByRef to always trigger rather than only triggering on a change of value
PR93 4/2/2018 3.2.7.1 Debug data file in DatamcsMQTT_Debug.txt rather than Data\mcsMQTT_Debug.txt
PR94 4/2/2018 3.2.7.1 Locate the data files in \Data\mcsMQTT rather than \Data
PR95 4/3.2018 3.2.8.0 Add page scroll buttons on Association tab and limit table size to 20 rows
PR96 4/3/2018 3.2.9.0 Increment DeviceValue if String Payload received and it changed the DeviceString
PR97 4/3/2018 3.2.9.1 Association Page number of rows availalbe is not shown on initial page rendering
PR98 4/3/2018 3.2.9.2 Use same color scheme of pink/green on history as is used on Association and Manual tabs
PR99 4/3/2018 3.2.9.2 Update Manual to 3.2.9 capability
PR100 4/3/2018 3.2.9.3 Duplicate debug files with second at parent directory folder
PR100 4/5/2018 3.2.10.0 Add Config Link to Plugin Page
PR102 4/5/2018 3.2.10.0 Add List Status/Control Type and generalize text to value mapping
PR103 4/6/2018 3.2.11.0 Added "H"istory checkbox on Association tab (and General tab) to select topic to be included in History collection
PR104 4/6/2018 3.2.11.0 Fixed "R"eject button not being accepted on Association tab. Broke in 3.2.5.0
PR105 4/6/2018 3.2.12.0 Updated concurrency (thread protection) logic to allow nested/multilevel protections
PR106 4/6/2018 3.2.12.0 Numeric payloads are being treated as VSP list enumeration
PR107 4/6/2018 3.2.12.0 Add Echo option on General Tab to allow published topics to be seen as subscriptions
PR108 4/7/2018 3.2.12.1 Fix Echo enable
PR109 4/7/2018 3.2.12.1 Improve auto VSP logic when devcie accepted from Association tab
PR110 4/7/2018 3.2.12.1 Provide compatibility with earlier versions of Mono on Linux
PR111 4/7/2018 3.2.12.2 Use default QOS rather than Exactly for Event Publish Actions
PR112 4/7/2018 3.2.12.2 Update manual to 3.2.12 capability
PR113 4/8/2018 3.2.13.0 Provided same page scrolling for History as Association tab to avoid browser overload
PR114 4/8/2018 3.2.13.2 Event MQTT Receive Trigger fails if same topic used in multiple events
PR115 4/9/2018 3.2.14.0 Added substitution variables for use in templates for published topic and payload formats
PR116 4/10/2018 3.2.14.1 Statistics Accept counts incorrect and no History records for accepted topics
PR117 4/10/2018 3.2.14.2 History date range does not default to valid range so filtered records to not show
PR118 4/11/2018 3.2.14.3 Error trap during MQTTSubscribe does not properly manage sync flags
PR119 4/11/2018 3.2.15.0 Allow entry of Broker port other than 1883
PR120 4/11/2018 3.2.15.1 Text Status/Control type creates VSP so even when DeviceString is set it does not appear
PR121 4/12/2018 3.2.16.0 First segment of substitution template not include in topic or payload
PR122 4/12/2018 3.2.16.0 Encode topic reserved symbols per HTML %## convention
PR123 4/12/2018 3.2.16.0 Added SSL support, testing limited to UI
PR124 4/12/2018 3.2.16.1 Forced On/Open=1, Off/Closed=2 when these payloads are available
PR125 4/12/2018 3.2.16.2 Manual tab entry of Ref number will populate either plugin or nonplugin table
PR126 4/13/2018 3.2.17.0 Compiled with .NET 4.5 vs. prior .NET 4.0
PR127 4/13/2018 3.2.17.0 Added table at top of Manual tab to allow user to select either Ref or Sub Topic
PR128 4/13/2018 3.2.18.0 Made List control/status UI only manual user select, Text is now default
PR129 4/13/2018 3.2.18.0 Added Color Picker as Control UI option
PR130 4/14/2018 3.2.19.0 Converted Association Ref to a button that will populate Manual Tab
PR131 4/15/2018 3.2.19.1 Prefix Color Picker publish RGB payload with # (e.g. #AAFF20)
PR132 4/15/2018 3.2.19.1 Remove debug output for Name and InterfaceStatus calls
PR133 4/16/2018 3.2.19.4 Additional debug during storing payloads in HS devices
PR134 4/17/2018 3.2.20.0 Added MISC properties as user-settable
PR135 4/17/2018 3.2.20.0 Cleared MISC NO-STATUS_DISPLAY for most UI's
PR136 4/17/2018 3.2.20.0 Assured Association & History filters are not masked by prior selection that are no longer availalbe
PR137 4/24/2018 3.3.0.0 Added Chart tab
PR138 4/24/2018 3.3.0.0 removed Label/Number radio for publish, now use payload template with $$value: to publish number
PR139 4/24/2018 3.3.0.0 removed string, status, value publish checkboxes, now use payload template
PR140 4/26/2018 3.3.0.1 corrected tool tip typos and added tool tip reference to the manual
PR141 4/26/2018 3.3.0.2 Added DISARMED/ARMED and OFFLINE/ONLINE as additional special case two-state pairs
PR142 4/26/2018 3.3.0.2 fixed button type when transitioning from number to button and no VSP have yet been recorded
PR143 4/29/2018 3.3.0.3 Changed Manual tab to Edit tab nomenclature
PR144 4/29/2018 3.3.0.3 Added text and figures to Section 10 of manual for tool tip reference
PR145 5/4/2018 3.3.1.0 Added popup window for edit of association properties
PR146 5/5/2018 3.3.2.0 Added HTTP request for chart build with querystring parameters
PR147 5/8/2018 3.3.3.0 Added chart definition and expanded options for chart appearance
PR148 5/8/2018 3.3.3.0 Added ability to popup chart by clicking Association tab payload
PR149 5/9/2018 3.3.3.1 Publish topics not appearing on chart topic selector
PR150 5/11/2018 3.3.4.0 Added Expressions, Filter, Derivative and Integral numeric transforms
PR151 5/12/2018 3.3.4.1 Publish from HS device control no longer works
PR152 5/12/2018 3.3.4.2 Added debug around browser postback
PR153 5/14/2018 3.3.5.0 Added Publication List tab
PR154 5/14/2018 3.3.5.1 Removed debug for WebPage and Register events
PR155 5/15/2018 3.3.6.0 Populate Non-plugin devices from database when Enumerate with button is selected
PR156 5/15/2018 3.3.6.0 Add Time base option for rate device
PR157 5/15/2018 3.3.6.0 Add Delta from midnight option for accum device
PR158 5/16/2018 3.3.6.1 Protection for divide by zero does not exist in rate calculation
PR159 5/17/2018 3.3.7.0 Substitution variables added to publication list file
PR160 5/17/2018 3.3.7.0 Manual updated for Irrigation Control with mcsTasmota firmware
PR170 5/18/2018 3.3.8.0 Added plugin link to mcsMQTT Doc
PR171 5/18/2018 3.3.8.0 Improved alignment of HTML pages to match size of tab canvas
PR172 5/19/2018 3.4.0.0 VSP Topics protected from special database characters in the database
PR173 5/19/2018 3.4.0.0 Improved reliability of filter pulldowns on Association tab
PR174 5/19/2018 3.4.0.0 Added charting for HS Device Values ... including mcsMQTT rate and accum devices
PR175 5/20/2018 3.4.0.2 VSP edit broke for case of deleting VSP entries
PR176 5/20/2018 3.4.0.3 Transform table topics protected from special characters in the database
PR177 5/20/2018 3.4.0.4 Protect from access of objects for chart before chart objects created
PR178 5/20/2018 3.4.1.0 Add delete button on Edit tab to remove obsolete topics and devices from database
PR179 5/31/2018 3.4.2.0 Encrypted broker passwords in mcsMQTT.ini
PR180 5/31/2018 3.4.2.0 New SSL implementation provided by vasrc
PR181 6/17/2018 3.4.2.1 Association filter for second JSON position does not appear, but still used in filter
PR182 6/19/2018 3.4.3.0 Add clear button on the pulldown filters
PR183 6/19/2018 3.4.3.0 Don't publish is subscribe topic is same as publish topic and subscribe message received within 15 seconds.
PR184 6/21/2018 3.4.3.1 Debug added around database operations
PR185 6/22/2018 3.4.3.2 Overcame issue with redundant records being stored in database
PR186 6/23/2018 3.4.3.3 Association and Edit tabs not properly synchronized for non-plugin device records
PR187 6/24/2018 3.4.3.4 Investigation for lack of published messages
PR188 6/24/2018 3.4.4.0 Add provisions for six levels of JSON in Topic and History select filters
PR189 6/25/2018 3.4.4.1 Update Payload/LastDate for subscriptions associated with non-plugin devices
PR190 6/25/2018 3.4.4.1 Fix Edit Page popups to show selected device properties
PR191 6/25/2018 3.4.4.1 Rename Device filter to Room/Floor and fix filter to return only selected records
PR192 6/25/2018 3.4.5.0 Provided RGB to Integer translation on subscription to allow HS device to reflect selected color
PR193 6/25/2018 3.4.5.0 Added ability to use arithmetic and regular expressions on received payloads for non-plugin devices
PR194 6/26/2018 3.4.5.1 Changed colorization on Edit tab for subscribed non-plugin devices to match Association tab
PR195 6/26/2018 3.4.5.1 Added Rebuild buttons to Filters and removed some auto rebuild to improve performance
PR196 6/27/2018 3.4.5.2 JSON parsing fixed for cases of more than two levels of nesting (Tasmota 1-wire sensors)
PR197 6/27/2018 3.4.5.2 Color picker RGB to Integer order reversed and debug added to HS save of RGB value
PR198 6/27/2018 3.4.5.2 Cleanup of non-plugin device mapped to MQTT subscription
PR199 7/6/2018 3.4.6.0 Replace use of GNUPlot for Linux with .NET datavisualization
PR200 8/6/2018 3.4.6.1 Unable to save second axis selection on Chart setup
PR201 8/22/2018 3.4.6.2 Retain flag hard-coded false for event action messages
PR202 8/27/2018 3.4.7.0 Include Regular and Numeric expressions in chart data
PR203 9/3/2018 3.4.7.1 Only one of duplicate event triggers result in HS event trigger
PR204 9/9/2018 3.4.8.0 Event action substitution variables cause log error
PR205 9/9/2018 3.4.8.0 Protect HSEvent from non-numeric device reference parameter from HS
PR206 9/9/2018 3.4.8.0 Event action substitution Value/String/Status can use any of Reference/Address/Code
PR207 9/10/2018 3.4.8.1 Eliminate DeviceStatus extraction on HSEvent callbacks
PR208 9/11/2018 3.4.9.0 Topics published for HS devices that have not been selected
PR209 9/11/2018 3.4.9.0 Add user selection of DeviceValue vs. DeviceString change trigger to publish
PR210 9/11/2018 3.4.9.0 Add visualizations for sort direction and field
PR211 9/26/2018 3.4.10.0 Add user-defined device grouping for improved Device Management display
PR212 10/7/2018 3.4.11.0 Assure VSP display below chart page is shown in sorted numeric order
PR213 10/7/2018 3.4.11.0 Changed MQTT Client ID to be more recognizable as "mcsMQTT on " host name
PR214 10/20/2018 3.4.11.1 Charting of JSON data which was not always being handled properly
PR215 11/7/2018 3.4.11.2 Copied events do not maintain uniqueness
PR216 11/11/2018 3.4.12.0 Publish on receive topic if no transmit topic is entered
PR217 11/27/2018 3.4.13.0 Add TRUE and FALSE as special case payloads for button typing
PR218 11/27/2018 3.4.13.0 Add Wildcard subscription topic template for auto-association with existing HS devices
PR219 11/28/2018 3.4.14.0 Expand Wildcard topic template to all substitution patterns rather than only $$REF:
PR220 11/28/2018 3.4.14.1 Multiple substitutions in wildcard template fail
PR221 11/29/2018 3.4.15.0 Provide option to not HTML-encode space in published topics
PR222 11/30/2018 3.4.16.0 Add option to auto create associations for all HS devices
PR223 12/2/2018 3.4.16.1 Remove workaround that replaced HS CAPI label with plugin-defined VGP
PR224 12/4/2018 3.4.16.3 Non-plugin devices deleted when subscribe topic assigned to two non-plugin devices
PR225 12/6/2016 3.4.16.4 Use UTF8 rather than ASCII encoding for received payloads to accommodate special characters
PR226 12/16/2018 3.4.17.0 XY to RGB color support for lighting
PR227 12/30/2018 3.4.17.1 Publish payload with quote shows us as ^2 after plugin restart
PR228 1/6/2019 3.4.17.2 Additional debug around database operations
PR229 1/7/2019 3.4.17.3 Statistics devices are recreated on each startup when general tab has these selected to be created
PR230 1/10/2019 3.4.17.4 Align new device buttons from left to right in numeric button value
PR231 1/16/2019 3.4.18.1 Provide "_URL_ENCODE" suffix for substitution variables applicable to publish payload templates
PR232 1/20/2018 3.4.18.2 Change "URL_ENCODE" to "URI_ENCODE" and use system.URI rather than webutility in .NET for encoding.
PR233 1/23/2019 3.4.19.0 Added Inactive and Active as predefined payload to create button pairs
PR234 1/23/2019 3.4.19.0 Added 24 icons for LED IR keypad mapping
PR235 1/23/2019 3.4.19.0 VGP definitions are not changed after initial creation to protect subsequent user edits
PR236 1/28/2019 3.4.19.1 MISC edits on Edit tab are not reflected in HS devices if not done from the Edit popup
PR237 1/29/2019 3.4.19.2 Subscribe Topic / Device Ref associations cannot be edited so map Edit subscribe Topic display only
PR238 2/4/2019 3.4.20.0 Added scripting callback on selective received topics
PR239 2/4/2019 3.4.20.1 Fixed handling of non-plugin subscription topics
PR240 2/4/2019 3.4.20.2 Selecting existing non-plugin ref results in crash when non-plugin device status updated
PR241 2/7/2019 3.4.20.3 Added wildcard recognition & optimizations per YoYo for script callback
PR242 2/16/2019 3.5.1.0 Added Express mode to provide low-overhead means to update Device from MQTT
PR243 2/16/2019 3.5.1.0 Added ability to change Topic to Device relationships without creating new Device
PR244 2/16/2019 3.5.1.0 Added ability to remove obsolete topics from database and tables
PR245 2/17/2019 3.5.2.0 Restored the Reject column checkboxes that were removed in 3.5.1.0
PR246 2/17/2019 3.5.2.0 Added ability to update non-plugin devices in Express mode
PR247 2/17/2019 3.5.3.0 Added Log as a HS callback option on Edit tab to enable publish without Device change
PR248 2/20/2019 3.5.4.0 Added features to reduce limitations of Express mode
PR249 2/21/2019 3.5.5.0 Significant improvement in CPU utilization by altering use of HS device object
PR250 2/23/2019 3.5.6.0 Control buttons in HS GUI are not generated when a Button type device is associated
PR251 2/23/2019 3.5.6.0 When a device is un-associated the device is not deleted from HS
PR252 2/23/2019 3.5.6.0 Provide means to substitute underscore for space in published topics rather than URI encoding
PR253 3/15/2019 3.5.6.1 Default for Express mode selected whenever Ref button is clicked
PR254 3/15/2019 3.5.6.1 Delete obsolete does not work correctly unless plugin has been restarted
PR255 3/16/2019 3.5.7.0 Delete Sub and Ref button on edit tab does not delete parent device if it exists
PR256 3/16/2019 3.5.7.0 Group all statistic devices in HS and provide control on parent to update/not update devices
PR257 3/16/2018 3.5.7.0 Improve the relationship of Express Mode and Parent/Child groupings
PR258 3/16/2018 3.5.7.0 Allow user to edit the mcsMQTT Client ID
PR259 3/16/2019 3.5.7.0 Removed the DeviceValue increment on the Parent device for each message received
PR260 3/22/2019 3.6.0.0 Added VSP Clear button and allowed VSP entry for all values on single text box entry
PR261 3/22/2019 3.6.0.0 Added ability to associate multiple topics to single HS device
PR262 3/22/2019 3.6.0.0 Added Topic summary row with indented JSON payload elements
PR263 3/22/2019 3.6.0.0 Express checkbox only enabled on Topic rows and JSON rows slaved to Topic row
PR264 3/22/2019 3.6.0.0 Added Technology Address update based upon MQTT Topic
PR265 3/22/2019 3.6.0.0 Added Association tab Obsolete column checkbox
PR266 3/22/2019 3.6.0.0 Added ability to hide Obsolete, Reject, History and Device checkboxes on Association tab
PR267 3/24/2019 3.6.1.0 Payload value rather than Payload template provided in Edit tab initial value for template
PR268 3/24/2019 3.6.1.0 Made obsolete checkbox wait for Delete Marked button click before removing the records
PR269 3/26/2019 3.6.1.1 Non-plugin devices not appearing on Association tab
PR270 3/28/2019 3.6.1.2 Fixed JSON parsing for case when JSON syntax embedded within quotes
PR271 3/28/2019 3.6.1.2 Expanded JSON decoding to handle list of JSON elements
PR272 3/29/2019 3.6.1.3 Handle comma in number payload rather than as JSON item separator
PR273 3/29/2019 3.6.1.3 Allow leading white space in JSON payloads
PR274 3/30/2019 3.6.1.4 Regular Expressions only working in Express mode
PR275 4/1/2019 3.6.1.5 Show received payload rather than regex payload in Express mode
PR276 4/10/2019 3.6.2.0 Added unix_time and unit_date expression functions
PR277 4/10/2019 3.6.2.0 Enabled use of expressions for text formatting
PR278 5/19/2019 4.0.0.0 Added Bluetooth Low Energy Scanner Function with ESP32
PR279 6/6/2019 4.0.1.0 Added NumberChange Control/Status UI type
PR280 6/7/2019 4.0.1.1 Execute low pass filter before numeric expression
PR281 6/7/2019 4.0.2.0 Control brightness from color picker for ColorXY type
PR282 6/7/2019 4.0.2.0 Changed color space model of XY to RGB translation
PR283 6/7/2019 4.0.2.0 Resend ColorXY type commands 2 seconds after the first to assure device reports final status
PR284 6/7/2019 4.0.2.0 No longer require ColorXY to have a Associated parent in HS
PR285 6/7/2019 4.0.2.0 HS parent of MQTT topics no longer hold JSON payload, but have empty DeviceString
PR286 6/7/2019 4.0.2.0 Express mode set when device Accepted if express is default, but now follows root device express mode setting
PR287 6/8/2019 4.0..2.1 ColorXY brightness command range changed from percentage to 8 bit range
PR288 6/12/2019 4.0.2.2 Non-plugin associations do not initialize numeric expressions on startup
PR289 6/12/2019 4.0.3.0 Add ability to add expressions to publish template with << and >> encasing
PR290 7/6/2019 4.0.3.1 Optimize shutdown by saving to database only that which has changed
PR291 7/7/2019 4.0.3.2 Plugin did not shutdown after connection with HS was dropped
PR292 7/19/2019 4.1.0.0 Add Led Messaging Sign
PR293 7/22/2019 4.1.0.1 Assure HTML stripped to Sign when using MQTT Send Message event
PR294 7/25/2019 4.1.0.2 Tolerate spaces after colon separator in JSON payloads
PR295 7/29/2019 4.1.1.0 Added plugin version in header of MQTT Management on General tab
PR296 8/4/2019 4.1.2.0 Changed embedded color delimeter from <> to [ ] for messaging sign
PR297 8/4/2019 4.1.2.0 Provisions to support multiple messaging signs
PR298 8/7/2019 4.1.2.1 Added debug to Event Actions
PR299 8/9/2019 4.1.2.2 Clear DeviceString when Control/Status selection changes from Text
PR300 8/16/2019 4.1.2.3 Event action substitution variables broke
PR301 8/17/2019 4.1.3.0 Added $$LABEL: substitution variable for CAPI labels
PR302 8/17/2019 4.1.4.0 Added $$VSP: substitution variable to lookup mcsMQTT VSP text using HS device value
PR303 8/22/2019 4.1.5.0 Added MQTT trigger topics to subscription list used when discovery is not enabled
PR304 9/10/2019 4.1.6.0 Added $$DATE: and $$TIME: for short format in event action
PR305 9/12/2019 4.1.6.1 Fixed $$DATE or $$TIME being at end of event action
PR306 9/14/2019 4.1.7.0 Added capability to support multiple brokers
PR307 9/15/2019 4.1.7.1 MQTT connect event trigger missing broker selection for multiple brokers
PR308 9/21/2019 4.1.7.2 Init to plugin child device when no info in database and ref property is -1
PR309 9/21/2019 4.1.7.2 Allow additional brokers to be added without restarting plugin
PR310 9/21/2019 4.1.7.2 Broker username not initialized from mcsMQTT.ini
PR311 9/25/2019 4.1.7.3 Edit popup for parent association and VSP entries dont initially populate correctly
PR312 9/25/2019 4.1.7.3 Change parent association does not remove the prior parent's association with child
PR313 9/27/2019 4.1.8.0 Added ability to record changes of MQTT device updates in HS Log
PR314 10/12/2019 4.2.0.0 Added BLE tab for distance from scanner graphics of BLE beacons
PR315 10/18/2019 4.2.0.2 Exception not trapped in broker connection loop
PR316 10/18/2019 4.2.1.0 Added CSV Control/Status UI type
PR317 10/19/2019 4.2.2.0 Added HSB Control/Status UI type
PR318 10/21/2019 4.2.3.0 Continue trying to make broker connection if exception in MQTT thread
PR319 10/21/2019 4.2.3.0 Corrrect HSB to RGB conversion rounding errors
PR320 10/21/2019 4.2.3.0 Provide broker-independent statistics devices
PR321 10/24/2019 4.2.3.1 Protect from error when inner.exeception is null
PR322 11/27/2019 4.2.4.0 Added user entry of LWT topic on General tab
PR323 12/9/2019 4.2.5.0 Add ability to specify multiple pub topics for CSV Control/Status types
PR324 12/11/2019 4.2.6.0 Added slider controls for HSB type and made CSV controls number boxes
PR325 12/12/2019 4.2.6.1 Script callbacks cannot be registered in Linux
Documentation/Manual http://mcsSprinklers.com/mcsMQTT.pdf
How-To Guides from post #250, #259 & #304 by taylormia attached
Comment