Skip to content

MQTT Broker Setup

Notificator does not provide a shared or default MQTT broker. MQTT delivery is optional and currently requires your own HiveMQ Cloud cluster.

Local WordPress dashboard alerts do not need an account, API key, or MQTT broker. Mobile push and account email alerts do not require MQTT; email delivery is enabled or disabled from the web dashboard or mobile app.

HiveMQ offers a Serverless FREE plan with no credit card required. HiveMQ currently describes it as including up to 100 connections, 10 GB of monthly traffic, MQTT over TLS, and WebSocket support. These limits and terms are controlled by HiveMQ and may change.

  1. Open the HiveMQ Cloud console and create an account or sign in.
  2. Select Create Serverless Cluster.
  3. When the cluster is ready, select Manage Cluster.
  4. In the cluster overview, locate its generated URL and Port (TLS).
  5. Copy the URL. Notificator needs only the hostname, without https:// or a port.

See HiveMQ’s Cloud plan page and official quick-start guide for current plan details and console instructions.

In the cluster’s Access Management area:

  1. Open Authentication → Credentials.
  2. Create a Publish Only credential for each WordPress or Strapi publisher.
  3. Create another Publish Only credential for mobile device commands.
  4. Create a separate Publish and Subscribe credential for the device.
  5. Save the usernames and passwords securely. HiveMQ notes that credential changes can take up to one minute to become active.

Separating the credentials prevents WordPress, Strapi, and the phone from receiving device subscriptions, allows one client to be revoked without affecting the others, and makes future credential rotation easier.

  • A HiveMQ Cloud cluster with secure MQTT and WebSocket access.
  • An enabled Notificator server API key.
  • The cluster hostname, usernames, and passwords.
  • One topic prefix shared by the source integration and every intended device. New configurations default to notificator-project.

Use separate credentials when possible:

  • A separate publisher credential for each WordPress or Strapi installation.
  • A separate publisher credential for mobile device commands.
  • A device credential limited to the topics that device must subscribe to and publish.
  1. Open Notificator → Settings → Connections.
  2. Under Remote delivery, add and enable your Notificator API key.
  3. If that API key belongs to an account with saved MQTT credentials, the plugin can use that connection automatically; no broker password needs to be entered in WordPress.
  4. To use a different broker, turn on Enable MQTT delivery under MQTT broker, enter the cluster hostname, publisher username, password, and topic prefix, then save the settings.
  5. Select Test broker to verify the account-managed or custom connection.

The plugin connects through secure WebSockets on port 8884 and path /mqtt. For a custom connection, the broker password is encrypted locally, excluded from exports and logs, and added to an HTTPS delivery request only in memory. For an account-managed connection, the hosted API decrypts the saved account record and connects to HiveMQ without returning the password to WordPress.

Add the HiveMQ publisher connection to the Strapi server environment:

NOTIFICATOR_MQTT_ENABLED=true
NOTIFICATOR_MQTT_HOST=your-cluster.s1.eu.hivemq.cloud
NOTIFICATOR_MQTT_USERNAME=your-strapi-publisher
NOTIFICATOR_MQTT_PASSWORD=replace-with-your-password
NOTIFICATOR_MQTT_TOPIC_PREFIX=notificator-project

Restart Strapi, open Notificator, and confirm the MQTT connection card shows the expected hostname and topic prefix. Enable MQTT on the required rules. Strapi uses secure WebSockets on port 8884 and path /mqtt; enter only the HiveMQ hostname in the environment variable.

The extension sends broker details only when an MQTT rule runs. The signed HTTPS request uses the values in memory and the Notificator API does not persist them in its database. See Strapi Extension Setup for its complete environment-variable reference.

  1. Sign in at dashboard.notificator-project.com.
  2. Open Settings → Device connection and enter the HiveMQ hostname, username, password, and topic prefix. Secure WebSocket port 8884 and path /mqtt are set automatically.
  3. Use a credential with permission to publish commands and subscribe to the retained status topics for your devices.
  4. Test the connection. Keep session-only storage, or select Save to my account where available, then save and open Devices. Active-device status refreshes automatically while the dashboard is open and connected.

Session-only storage is the default: non-secret metadata stays in the browser and the password stays in the current tab session. Optional account saving keeps an encrypted copy in Supabase so another signed-in dashboard browser, or an authenticated WordPress API request, can use it. Testing alone never saves credentials.

You can remove the account copy or clear the current session separately. Removal does not erase copies already held by other clients or revoke the broker password. The WordPress plugin now uses the account copy through the hosted API when its enabled API key belongs to that account. The mobile app continues to use its own secure connection storage. See the Web Dashboard Guide for saving and removal options.

  1. Open Account → Device connection.
  2. Expand HiveMQ Cloud.
  3. Enter the cluster hostname, mobile publisher username, password, and the same topic prefix used by the source integration and device.
  4. Select Test connection.
  5. When the test succeeds, select Save connection.

The mobile app stores this connection in the phone’s operating-system secure credential store. It supplies the details only in memory when sending a device command through an authenticated HTTPS request. The mobile app does not save its MQTT credentials to the Notificator database or sync them between phones, so configure each phone that needs to control devices.

Testing does not save the form or publish a message. The authenticated API validates the HiveMQ Cloud endpoint, opens a short-lived secure WebSocket connection, and closes it immediately. The entered credentials are used only for that request and are not written to Supabase or API logs.

Open the device setup portal and enter:

  • the same HiveMQ Cloud cluster hostname;
  • the secure MQTT port, normally 8883;
  • the device username and password;
  • exactly the same topic prefix used by WordPress or Strapi.

The device stores its credentials in local ESP32 preferences and does not send the saved password back to the setup page.

For a device ID such as abc123, the default topic layout is:

  • notificator-project/abc123/messages
  • notificator-project/abc123/cmd
  • notificator-project/abc123/status

Open a notification in WordPress or a rule in Strapi and enable its MQTT channel. Local activity, inbox, push, and email choices remain independent.

MQTT is paused when the broker setting is off or incomplete. Notificator will not silently fall back to another broker.

Open Settings → Connections, enable MQTT delivery, complete every broker field, and save.

Confirm that the broker configuration is complete and at least one Notificator API key is enabled.

WordPress or Strapi connects but the device receives nothing

Section titled “WordPress or Strapi connects but the device receives nothing”
  • Confirm the source integration, mobile app, and device use the same cluster and topic prefix.
  • Check the device ID and broker permissions.
  • Make sure the device credential can subscribe to its messages and cmd topics and publish to its status topic.
  • Confirm the notification has its MQTT channel enabled.

Mobile device commands ask for a connection

Section titled “Mobile device commands ask for a connection”

Open Account → Device connection and save the HiveMQ Cloud publisher credential for that phone. The connection is intentionally not restored from Supabase or copied from WordPress.

The app says Connection refused: Not authorized

Section titled “The app says Connection refused: Not authorized”

HiveMQ rejected the username or password before the command reached the device. Re-enter the mobile publisher credential under Account → Device connection, save it, and retry the command. This applies to ordinary device settings and OTA requests.

  • Confirm the hostname ends in .hivemq.cloud and does not include https://, a port, or /mqtt.
  • Check the mobile publisher username and password in HiveMQ Access Management.
  • Wait briefly after creating or rotating a HiveMQ credential, then test again.
  • Make sure the account has an active WordPress or Internal API key for the authenticated request.
  • A successful test confirms broker authentication only. The device must still use the same cluster and topic prefix to receive commands.

The current WordPress and Strapi integrations validate HiveMQ Cloud hostnames and its standard secure WebSocket endpoint. Support for other MQTT providers is planned, but is not part of the current configuration.

HiveMQ Cloud is an independent third-party service. Notificator is not affiliated with or endorsed by HiveMQ.