Advertisement
Overview
Universal Windows MQTT broker / device bridge with webserver and ISS (ImperiHome Standard System) REST API
Can be used simply as a regular MQTT broker.
Additionally, you can also define virtual devices in MesQTT, which are mapped to specific MQTT-connected real devices via their respective MQTT topic, so MesQTT "knows" them. When those real devices communicate via MQTT, the data they exchange is recorded into a tiny database, and the integrated webserver (on port 8800) then serves this data on request (ISS-API-compliant HTTP/JSON requests).
You can also send ISS-compliant commands to the web server via its REST API (like "http://yourdeviceIP:8800/api/devices/dev1/action/SetLevel/45") - the broker will then publish the received data to the appropriate MQTT topics configured for this particular device, in order to make the appropriate MQTT device(s) execute your REST command(s).
For controlling MQTT devices via REST web requests, you can conveniently use any ISS-compliant third-party app, like the original "ImperiHome" app (on Android or iOS) or "ImperiHomeControl" (on Windows 10), or anything that understands the ImperiHome Standard System (ISS) API in general (Hint: for connecting to MesQTT with ImperiHome, you should add a new system of type "Imperihome Standard System", and use "http://:8800/api" as the base system URL).
MesQTT also runs on devices with ARM architecture, and has a low memory footprint.
To sum it up: MesQTT's purpose is to provide a central hub for all your MQTT-enabled devices, as well as an "ISS device server" to interface with. MesQTT can act as a bridge between ISS-compliant control interface apps (ImperiHome, "ImperiHomeControl") and MQTT-enabled network devices. It is both a MQTT broker and a web server (with included database, ISS REST API and MQTT client).
For the original ISS API specification, please visit:
http://dev.evertygo.com/api/iss
Not all device types specified in the official ISS API are available (yet) in MesQTT. The following ISS device types are currently available:
-DevSwitch
-DevMultiSwitch
-DevLock
-DevShutter
-DevDimmer
-DevGenericSensor
-DevTemperature
-DevHygrometry
-DevCO2
-DevLuminosity
-DevNoise
-DevPressure
-DevUV
For the broker component, the specifications are as follows:
- based on GnatMQ
- listens on standard port 1883
- MQTT protocol version 3.1.1-compliant
- uses integrated mqtt client, auto-connects to local broker
- client connects to all topics, writes received messages to console window
- runs on x86/x64 and also on ARM devices (tested on Windows 10 IoT Core and Windows 10 mobile)
- broker auto-starts when application starts up
- IP address (to connect your clients to) is displayed when broker starts up
Notes:
NOT IMPLEMENTED are
- MQTT authentication
- ACLs
- anything certificate-related
Due to Windows 10 app container restrictions, this application cannot be used by connecting to 'localhost'. Only connections from/to other machines are possible. This app is a work in progress. If you have any suggestions or would like to submit bug reports or feature requests, please don't hesitate to contact the author via the provided support email address.
Features
MQTT brokerMQTT clientWeb ServerREST APIImperiHome Standard SystemJSONsqliteHome Automationdevice bridge
What's new
feature release (1.2.9.x):
- added app uptime counter
- performance improvements (response time)
- refactoring
feature release (1.2.8.x):
- implemented storage of server settings in sql table
- implemented web server basic authentication (configurable, needs restart)
- fixed bug "memory leak due to nested core dispatcher/await functions"
bugfix release (1.2.7.x):
-switched to microsoft.data.sqlite ("fixes" memory leak in sqlite.net PCL)
bugfix release (1.2.4.x):
-added support for DevShutter
-improved client stability when restarting broker
-fixed bug with subscription wildcard regex matching in broker class (see https://github.com/ppatierno/gnatmq/pull/43)
feature release (1.2.3.x):
- added support for many more device types in ISS API
- fixed bug "devices don\'t reload after exiting edit page"
- fixed bug "API call to /system does return string for version"
bugfix release (1.2.2.x):
- web server now uses a few additional HTTP response headers for modifying the cache control and connection lifetime behavior. This is needed to enable internet publishing of the REST API through reverse proxies (e.g. Sophos UTM, Apache etc.)
feature release (1.2.1.x):
-added full ISS API webserver
-added device storage (sqlite DB)
-implemented device management form
-switched nuget sqlite binaries for easier CI builds
-added mqtt-REST bridge
-shiny new ascii console art!
-general bug fixes
Additional Information
- Developed by Dennis Schulze
- Version 2022.03.12
-
Requires
Available on: Xbox console, PC, Mobile, Surface Hub, HoloLens
OS: Windows 10 version 10240.0 or higher
- Published 2017-05-26
- Size 13.18 MB
- File Type appx/msix
-
Language
English (United States)
-
Permissions
Access your Internet connection and act as a server.
Access your home or work networks
- Microsoft Store ID 9n1lvzzpl19n
Advertisement
How to download and install MesQTT from the Microsoft
Method 1: Download and Install via the Microsoft Store
This is the most straightforward and secure way to get MesQTT.Step 1: Open the Microsoft Store
Step 2: Search for MesQTT
Step 3: Download and Install
Step 4: Access the App
Method 2: Download from the Official Microsoft Website
If you prefer downloading directly from the web, you can use the official Microsoft website.Step 1: Visit the MesQTT Page
Step 2: Download the App
Step 3: Install MesQTT
Step 4: Use MesQTT
Tips for a Smooth Installation
Conclusion:
Both methods ultimately utilize the Microsoft Store, ensuring the app's safety and reliability. Whether you prefer browsing within the Store or starting via the website, both approaches lead you to successfully download and install MesQTT.MesQTT FAQs
How to download and Install MesQTT on Windows PC via the NWindows Store
How to Search and Download MesQTT for PC Windows?