{"id":18966391,"url":"https://github.com/hivemq/hivemq-edge","last_synced_at":"2026-02-24T09:28:02.658Z","repository":{"id":177633696,"uuid":"660584069","full_name":"hivemq/hivemq-edge","owner":"hivemq","description":"HiveMQ Edge is an MQTT gateway that enables interoperability between OT devices and IT systems. It translates diverse protocols into MQTT for streamlined communication and helps organize data into a unified namespace, making managing and streaming data across your infrastructure easier.","archived":false,"fork":false,"pushed_at":"2024-10-29T09:10:13.000Z","size":20247,"stargazers_count":107,"open_issues_count":19,"forks_count":23,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-10-29T09:37:57.077Z","etag":null,"topics":["ads","bacnet","data-governance","edge","ethernet-ip","http","java","javascript","modbus","mqtt","mqtt-sn","opc-ua","open-source","s7","transformation"],"latest_commit_sha":null,"homepage":"http://hivemq.com","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hivemq.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-30T10:38:11.000Z","updated_at":"2024-10-28T13:14:12.000Z","dependencies_parsed_at":"2024-11-05T10:52:17.136Z","dependency_job_id":null,"html_url":"https://github.com/hivemq/hivemq-edge","commit_stats":null,"previous_names":["hivemq/hivemq-edge"],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivemq%2Fhivemq-edge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivemq%2Fhivemq-edge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivemq%2Fhivemq-edge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hivemq%2Fhivemq-edge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hivemq","download_url":"https://codeload.github.com/hivemq/hivemq-edge/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247284949,"owners_count":20913704,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ads","bacnet","data-governance","edge","ethernet-ip","http","java","javascript","modbus","mqtt","mqtt-sn","opc-ua","open-source","s7","transformation"],"created_at":"2024-11-08T14:36:56.041Z","updated_at":"2026-01-16T07:41:23.838Z","avatar_url":"https://github.com/hivemq.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n++++\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/hivemq/hivemq-edge/blob/master/hivemq-edge/images/hivemq-edge-logo.svg?raw=true\" width=\"500\"\u003e\n\u003c/p\u003e\n++++\n\n== HiveMQ Edge\n\nimage:https://img.shields.io/github/actions/workflow/status/hivemq/hivemq-edge/check.yml?branch=master[GitHub Workflow Status (with branch),link=https://github.com/hivemq/hivemq-edge/actions/workflows/check.yml?query=branch%3Amaster]\n\nHiveMQ Edge is a Java-based open-source, modular, secure by design platform which consolidates industrial workloads, unifying them into open-standards MQTT to connect to the enterprise.\nSeamlessly defining UNS by deployment, using targeted data model \u0026 transformation plugins, allows IT and OT to unify and ‘control by policy’, data collected at the Edge.\n\nIt is a Java-based open source MQTT and MQTT-SN broker that fully supports MQTT 3.x,5 and MQTT-SN 1.2.\n\nimage::docs/edge-intro.gif[title=Edge Intro, align=\"center\"]\n\n* Website: https://www.hivemq.com/\n* Documentation: https://docs.hivemq.com/hivemq-edge/index.html\n* Community Forum: https://community.hivemq.com/\n* Contribution guidelines: link:CONTRIBUTING.md[Contributing.md]\n* License: The source files in this repository are made available under the link:LICENSE[Apache License Version 2.0].\n\nWhen you deploy HiveMQ Edge using Docker, you will have a preview of commercially licensed features.\n\n== Features\n\n* Converters for OPC UA, Modbus, and other protocols into MQTT messages\n* All MQTT 3.1, 3.1.1 and MQTT 5.0 features\n* MQTT over TCP, TLS, WebSocket and Secure WebSocket transport\n* Integrated MQTT-SN gateway allowing constrained devices to access the MQTT broker.\n* Bidirectional MQTT bridge functionality to connect to enterprise MQTT brokers\n* Java Extension SDK for:\n** Authentication\n** Authorization\n** Client Initializers\n** MQTT Packet Interceptors\n** Interacting with Publishes, Retained Messages, Clients and Subscriptions\n* Running on Windows, Linux and MacOS (Linux is recommended)\n\n=== MQTT Broker\n\nHiveMQ Edge incorporates a fully standards compliant MQTT broker.\nConnect your devices to the broker to subscribe and gain access to data obtained from devices on the Edge.\n\nHiveMQ Edge is compatible with all MQTT 3.x and MQTT 5 clients, including Eclipse Paho and https://github.com/hivemq/hivemq-mqtt-client[HiveMQ MQTT Client].\n\n=== MQTT-SN Gateway\n\nHiveMQ Edge incorporates an MQTT-SN gateway allowing constrained devices to access the MQTT broker.\n\nMQTT-SN is an optimized version of the MQTT specification designed for use on small, low powered, sensor devices, often running on the edge of the network; typical of the IoT.\n\n=== Protocol Adapters\n\nA protocol adapter contributes code to connect to PLCs and converts the data retrieved from these devices into MQTT messages which are PUBLISHED into the local MQTT broker.\nMore Protocol adapters will be added to the project over time.\n\n* OPC UA\n* Modbus\n* Siemens S7\n* Beckhoff ADS\n* Allen-Bradley Ethernet/IP\n* HTTP\n* File-input\n* and many more\n\n\n=== MQTT Bridging\n\nHiveMQ allows you to backhaul your data into an enterprise broker using MQTT bridges.\nConnect any number of bridges to transport Edge data upstream. By connecting Edge to enterprise MQTT brokers like https://www.hivemq.com/[HiveMQ] you can build a flexible https://www.hivemq.com/unified-namespace-uns-essentials-iiot-industry-40/[Unified Namespace (UNS)] solution based on open standards.\n\n== Documentation\n\nThe documentation for the HiveMQ Edge can be found https://docs.hivemq.com/hivemq-edge/index.html[here].\n\nAdditional Resources\n\n* https://www.hivemq.com/mqtt-essentials/[MQTT Essentials]\n* https://www.hivemq.com/mqtt-5/[MQTT 5 Essentials]\n* https://www.hivemq.com/unified-namespace-uns-essentials-iiot-industry-40/[UNS Essentials]\n\n== HiveMQ Community Forum\n\nThe ideal place for questions or discussions about the HiveMQ Edge Edition is our brand new https://community.hivemq.com/[HiveMQ Community Forum].\n\n== How to Use\n\n=== Quick Start\n\n* Download the latest https://github.com/hivemq/hivemq-edge/releases/latest[HiveMQ Edge binary package].\n* Unzip the package.\n* Run the run.sh (Linux/OSX) or run.bat (Windows) in the bin folder of the package.\n\n[source,bash]\n----\ncd hivemq-edge-\u003cversion\u003e\nbin/run.sh\n----\n\n[IMPORTANT]\nAt least Java version 11 is required to run HiveMQ Edge.\nIf you are in doubt, you can check the installed Java version by entering `java -version` on your command line.\n\nYou can now connect MQTT clients to `\u003cip address\u003e:1883`.\n\n[CAUTION]\nIf you want to connect devices on external networks to HiveMQ Edge, please make sure your server is reachable from those networks and the required ports (default: 1883) are accessible through your firewall.\n\n=== Run with Docker\n\nAll releases are available in the https://hub.docker.com/r/hivemq/hivemq-edge[hivemq/hivemq-edge] repository on DockerHub.\nTo execute this image, simply run the following command:\n\n[source,bash]\n----\ndocker run --name hivemq-edge -d -p 1883:1883 -p 8080:8080 hivemq/hivemq-edge\n----\n\nWhen the container is running you can connect MQTT clients at port 1883 and access the UI at http://localhost:8080/.\n\nDefault credentials for the UI are user: `admin`, password: `hivemq`\n\n\nTo run the current state of `master` branch instead of the latest released version you can use the `snapshot` tag.\n----\ndocker run --name hivemq-edge -p 1883:1883 -p 8080:8080 hivemq/hivemq-edge:snapshot\n----\n\n\nTo change the default log level you can set the environment variable `HIVEMQ_LOG_LEVEL` when running the container:\n\n[source,bash]\n----\ndocker run --name hivemq-edge -e HIVEMQ_LOG_LEVEL=INFO -d -p 1883:1883 -p 8080:8080 hivemq/hivemq-edge\n\n----\n\n=== Building from Source\n\n==== Building the Binary Package\n\nCheck out the git repository and build the binary package.\n\n[source,bash]\n----\ngit clone https://github.com/hivemq/hivemq-edge.git\n\ncd hivemq-edge\n\n./gradlew :hivemqEdgeZip\n----\n\nThe package `hivemq-edge-\u003cversion\u003e.zip` is created in the sub-folder `build/distributions/`.\n\n==== Building the Docker Image\n\nCheck out the git repository and build the Docker image.\n\n[source,bash]\n----\ngit clone https://github.com/hivemq/hivemq-edge.git\ncd hivemq-edge\n./gradlew loadOciImage\n----\n\nThe Docker image `hivemq/hivemq-edge:snapshot` is created locally.\n\nFor further development instructions see the link:CONTRIBUTING.adoc[contribution guidelines].\n\n== Contributing\n\nIf you want to contribute to HiveMQ Edge, see the link:CONTRIBUTING.adoc[contribution guidelines].\n\n== License\n\nHiveMQ Edge is licensed under the `APACHE LICENSE, VERSION 2.0`.\nA copy of the license can be found link:LICENSE[here].\n\n== Privacy settings\n\nHiveMQ Edge uses a limited number of tracking technologies within the web application. These technologies enable us to analyse usage behavior within the Edge product, in order to measure and improve performance.\n\nThe following technologies are currently configured:\n\n- https://www.heap.io/[Heap Analytics], check their information regarding the data collected https://help.heap.io/getting-started/how-heap-works/autocaptured-data/[by the auto-capture configuration]\n\nA consent form will be displayed in the browser at first usage. Opt-in or pot-out will be recorded into the local storage of the browser and the tracker activated - or not - accordingly.\n\nThere are two ways you can opt-out before installation and running:\n\n- Modify the Edge configuration via the `config.xml` (the `usage-tracking` property allows corporate-wide consent).\n+\n[#dissable-tracking]\n.Example configuration to disable usage tracking centrally for all users\n[source,xml]\n----\n\u003c?xml version=\"1.0\"?\u003e\n\u003chivemq xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\u003e\n    \u003cusage-tracking\u003e\n        \u003cenabled\u003efalse\u003c/enabled\u003e\n    \u003c/usage-tracking\u003e\n\u003c/hivemq\u003e\n----\n\n- Modify the frontend configuration (the `VITE_MONITORING_?????` properties in the `./.env` file contains HiveMQ unique application id required to activate the different trackers).\n\nNote that you can also change the `VITE_MONITORING_?????` values to your own account(s) if you use any. It will allow you to collect behaviour on your own infrastructure\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhivemq%2Fhivemq-edge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhivemq%2Fhivemq-edge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhivemq%2Fhivemq-edge/lists"}