Have worky (N) Mqtt Instances...

It may look like duplicates, but its not. There are 4 MRL Instances connected together, and all (so far) appear to be fully functional in the webgui.

There are 3 which have mqtt connectivity, and another that is connected through the webgui service.
WOOHOO ! - will continue looking for bugs and doing more refactoring ...

Mqtt Client UI

Mqtt Broker UI

 

So what can you do with Mqtt ?
Clients can send and recieve messages.
Brokers can allow any mqtt clients (not only MRL ones, but any device, or sensor, smartphone, computer or microcontroller that can speak mqtt) to publish and recieve messages.

Above is what I have currently hooked up at my house.

This is currently a draft pull request for review - https://github.com/MyRobotLab/myrobotlab/pull/795

I have also tested the mqtt client against Amazon IoT Core Mqtt Broker - its worky

The following items are in that PR
 

1. Created fully function embedded MqttBroker
2. WebGui for Mqtt and MqttBroker
3. Fixed getting message id
4. When SLF4J has multiple back ends - set log level fails - Fixed
5. Created Pojo MqttMsg
6. Created SslUtil class for tls
7. Complete refactor of Mqtt service
8. Made serviceData in Runtime transient - so that Runtime would be under the 128K msg size limit in Amazon
9. Changed Message.dataEncoding to field name to Message.encoding
10. Lowered Locales logging level to cut down on chatter