Announcement

Collapse
No announcement yet.

Unable to start mcsMQTT

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Unable to start mcsMQTT

    Hi,

    I'm trying to run the plugin on HS4.2.0.0, running in Linux. Plugin version 5.17.3.2. Mono version 6.12. The plugin is crashing on startup. If I launch it manually from the command line I get:

    Code:
    sudo mono /usr/local/HomeSeer/HSPI_MCSMQTT.exe
    Connecting to HomeSeer...
    Connected to HomeSeer
    Waiting for initialization...
    mcsMQTT Browser Pages Registered with HS
    HS Startup Complete
    Initialization Complete
    Unhandled Exception
    An address incompatible with the requested protocol was used : at System.Net.Sockets.Socket..ctor (System.Net.Sockets.AddressFamily addressFamily, System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType) [0x00068] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0
    at System.Net.Sockets.TcpListener..ctor (System.Net.IPAddress localaddr, System.Int32 port) [0x00046] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0
    at mcs.Networking.M2Mqtt.Communication.MqttTcpCommunicationLaye r.ListenerThread () [0x0000d] in <45a9165f50ad41918cab0f7d2ed723f8>:0
    at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in <533173d24dae460899d2b10975534bb0>:0
    at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <533173d24dae460899d2b10975534bb0>:0
    at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <533173d24dae460899d2b10975534bb0>:0
    at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <533173d24dae460899d2b10975534bb0>:0
    at System.Threading.ThreadHelper.ThreadStart () [0x00008] in <533173d24dae460899d2b10975534bb0>:0
    [ERROR] FATAL UNHANDLED EXCEPTION: System.Net.Sockets.SocketException (0x80004005): An address incompatible with the requested protocol was used
    at System.Net.Sockets.Socket..ctor (System.Net.Sockets.AddressFamily addressFamily, System.Net.Sockets.SocketType socketType, System.Net.Sockets.ProtocolType protocolType) [0x00068] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0
    at System.Net.Sockets.TcpListener..ctor (System.Net.IPAddress localaddr, System.Int32 port) [0x00046] in <9c6e2cb7ddd8473fa420642ddcf7ce48>:0
    at mcs.Networking.M2Mqtt.Communication.MqttTcpCommunicationLaye r.ListenerThread () [0x0000d] in <45a9165f50ad41918cab0f7d2ed723f8>:0
    at System.Threading.ThreadHelper.ThreadStart_Context (System.Object state) [0x00014] in <533173d24dae460899d2b10975534bb0>:0
    at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00071] in <533173d24dae460899d2b10975534bb0>:0
    at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, System.Boolean preserveSyncCtx) [0x00000] in <533173d24dae460899d2b10975534bb0>:0
    at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state) [0x0002b] in <533173d24dae460899d2b10975534bb0>:0
    at System.Threading.ThreadHelper.ThreadStart () [0x00008] in <533173d24dae460899d2b10975534bb0>:0
    I think I've had the plugin running successfully on Linux before but I haven't used it for a while. Just getting back into MQTT now.

    Thanks!
    David


    #2
    I updated a Hometroller Pi to the same configuration you are using for HS and plugin and did not experience an issue. The stack dump indicates an issue with the GnatMQ.Net dll library used for the Internal MQTT Broker. This file should exist in /bin/mcsMQTT folder and not exist in other places of the HS execution path.

    The Internal Broker is started when /Config/mcsMQTT.ini contains 127.0.0.1 or blank for MQTTBroker key. While you will fail connection to a broker you can edit this file to put some IP for this key such as MQTTBroker="192.168.0.100". There will be some messages that cannot connect, but should not crash.

    Mosquitto is very easy to install on Linux and I would suggest it anyway rather than the internal broker. If you install it on the HS computer then use the IP of the computer for MQTTBroker on the General Tab of MQTT page (or edit in the mcsMQTT.ini file).

    Comment


      #3
      Originally posted by Michael McSharry View Post
      The Internal Broker is started when /Config/mcsMQTT.ini contains 127.0.0.1 or blank for MQTTBroker key. While you will fail connection to a broker you can edit this file to put some IP for this key such as MQTTBroker="192.168.0.100". There will be some messages that cannot connect, but should not crash.
      I added an entry to my ini file to point to my existing MQTT broker and now the plugin starts up with no errors. For testing, I removed the entry and confirmed the plugin crashed on startup again. I'm not planning on using the internal broker so this is good for me now.

      Thanks for your help!
      David

      Comment

      Working...
      X