No announcement yet.

mcsMQTT Version 3.5

  • Filter
  • Time
  • Show
Clear All
new posts

  • mcsMQTT Version 3.5

    Three usability features have been added to mcsMQTT and one feature has been demoted/repurposed.

    1. The "R"eject checkbox on the Association tab has been removed and its function replaced as the "E"xpress checkbox. Any user that has checkbox checked in the "R" column will need to review their setup. They will now show up as "E" checkbox but the function has changed. Likely will want to remove the checkboxes and use the new Obsolete feature described in #3.

    The Express Mode has been added which provides a means on a Topic by Topic basis to reduce CPU load by 90% for the simple operation of updating HS devices based upon MQTT payloads. The downside to selecting a Topic for Express is that JSON decoding, History, Event triggers on the Topic and other misc capability offered by mcsMQTT will not be available for the selected Topics.

    The General tab also added a means to select the default when a Topic is associated to be Express rather than Full support. The Association tab has the "E" checkbox to override the default for any Topic.

    2. The method employed to change an association between a Topic and Device is to remove the association and then create a new one. The downside is that the new one has a different Device reference number so it would break events that used it. Now the Edit tab has a Change text box provision to allow the change to be made in the Topic or Ref while maintaining the same reference number.

    3.The General tab has added a means to remove Obsolete Topics from the database. This will reduce clutter on the tables. Topics can be removed individually or via wildcard to remove a set with a single command. Of course use of wildcards need care because more could be removed than is intended. In these cases the backup databases created by mcsMQTT could be handy.

    Submitted to updater as and available at
    As always the updated manual is also available at

  • #2
    I am trying to understand this change.

    Do you mean that if we have rejected topics (currently they have disappeared from the table), that they will show up again, and we will need to make them obsolete (#3 above) to have them disappear again, to clean up the table?

    Will the topics that have been rejected have the E or express box checked already when they show back up? (I hope not)

    And that the express topics will just update the value in the HomeSeer device that has already been created (devices already existing from a previous version of mscMQTT), or will it create another device? (again I hope not)

    I understand that the express topics will only be mqtt, not json, and can't be used to control some other device, either directly or via an event. Correct?

    I like the fact that it could reduce the cpu load alot, and would like to take advantage of that, because I have had problems with Homeseer shutting down by itself on the SEL, because of memory and cpu usage issues.



    • #3
      You are pretty much correct in your understanding. I did not think anybody was actually using Reject so that is why I removed the capability. Looks like there is a need to retain it and add the Express. will have all rejected topics processed as Express mode, but since they were not associated with a device nothing will happen when the topic is received, but it will now show up in the Association tab.

      I had not considered the case of non-plugin devices in Express mode. I will update to allow these to be controlled via CAPI rather than just storing in DeviceValue/String. It will be an insignificant change in CPU use of Express mode.

      Just wait a day or two until I accommodate the above two items.


      • #4
        Updates made in that restores the Reject functionality and adds ability to control non-plugin devices in Express mode.


        • #5
          Further updates made to add ability to select the Log as the HS Event callback for non-plugin devices. This will give the ability to publish when a non-plugin device is updated but the value does not change. and submitted to updater.