# \[APP\]\[Pro\] MQTT Server - Publish Homey Pro's devices as an MQTT server

**URL:** <https://community.homey.app/t/app-pro-mqtt-server-publish-homey-pros-devices-as-an-mqtt-server/113854>\
**Category:** Apps\
**Tags:** app, official, mqtt, homey-pro\
**Created:** [August 4, 2024, 9:36am UTC](https://community.homey.app/t/app-pro-mqtt-server-publish-homey-pros-devices-as-an-mqtt-server/113854 "2024-08-04T09:36:29Z")\
**Posts on this page:** 4\
**Page:** 2

<div class="post-metadata">

**Author:** ![John\_William\_Brekke](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/john_william_brekke/32/111887_2.png) [@John\_William\_Brekke](https://community.homey.app/u/John_William_Brekke)\
**Post date:** [February 14, 2026, 9:17pm UTC](https://community.homey.app/t/app-pro-mqtt-server-publish-homey-pros-devices-as-an-mqtt-server/113854/21 "2026-02-14T21:17:24Z")

</div>

Can i use it to connect to Opera GX’s new smart home update?

---

<div class="post-metadata">

**Author:** ![Rrrr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rrrr/32/629_2.png) [@Rrrr](https://community.homey.app/u/Rrrr)\
**Post date:** [July 17, 2026, 3:02pm UTC](https://community.homey.app/t/app-pro-mqtt-server-publish-homey-pros-devices-as-an-mqtt-server/113854/22 "2026-07-17T15:02:59Z")

</div>

> [@robertklep](#):
>
> The MQTT Server app starts the flow on _every_ single message that gets published, and will then check if the message is published to a topic that it should trigger on

> [@AppStore](#):
>
> This topic is not actively monitored by the developer.

@ATHOM @Emile I hope you support this app since you published.

Three related questions about using MQTT Server and HomeyScript together for state management.

* * *

**1. Internal publish → trigger loopback**

When a HomeyScript (or any flow action) publishes via the “Publish topic” action card, the “A message is published on topic” trigger card in the same app does **not** fire. The trigger only responds to messages from external MQTT clients (Node-RED, MQTT Explorer, ESP32, etc.). The publish action completes without error, but the trigger is silent.

This was independently confirmed by another user @robertklep . Is this by design to prevent feedback loops? Is there a setting to enable it?

* * *

**2. Retained messages**

Does the “Publish topic” action card support publishing with the **retain flag**? And if a flow subscribes to a topic that already has a retained message, does the trigger fire immediately on that retained delivery — or only on new publishes?

If both work, retained topics would be a clean way to store and share state between scripts and external tools without needing logic variables.

* * *

**3. HomeyScript logic variables — single-variable read**

`Homey.logic.getVariables()` fetches all variables every time. Is there a way to read a **single variable by ID or name** — something like `Homey.logic.getVariable({ id })` — without pulling the full list?

The full fetch is slow (~200ms) and forces scripts to cache the object locally, which creates a stale-read race condition when two HomeyScript instances run concurrently and both overwrite shared state.

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [July 17, 2026, 3:38pm UTC](https://community.homey.app/t/app-pro-mqtt-server-publish-homey-pros-devices-as-an-mqtt-server/113854/23 "2026-07-17T15:38:00Z")

</div>

> [@Rrrr](#):
>
> Is there a way to read a **single variable by ID or name** — something like `Homey.logic.getVariable({ id })`

> **[homey.logic.readonly - ManagerLogic - Homey Web API](https://athombv.github.io/node-homey-api/HomeyAPIV2.ManagerLogic.html#getVariable)**
>
> Connect to this manager's Socket.io namespace.

---

<div class="post-metadata">

**Author:** ![Rrrr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rrrr/32/629_2.png) [@Rrrr](https://community.homey.app/u/Rrrr)\
**Post date:** [October 19, 2026, 7:45am UTC](https://community.homey.app/t/app-pro-mqtt-server-publish-homey-pros-devices-as-an-mqtt-server/113854/24 "2026-10-19T07:45:33Z")

</div>

@DirkG @RonnyW @robertklep @Emile  
**Update: device publishing can now be switched off (v1.3.0)**

Following up on the request for a device filter / broker-only option (@RonnyW, post #11, Aug 2024) and the note that every message triggered the flow cards (@robertklep, post #7): Emile has added both, now live.

- **v1.2.0:** a message is only checked against trigger cards that are actually used in a flow.
- **v1.3.0:** two settings, **“Publish devices to /homey”** and **“Publish devices to /homie”**. Untick both and the app works as a plain broker. The device topics it published before are removed from the broker.

Why it matters: the app publishes every Homey device, 12 messages per change (value plus name, type, unit and so on, in both formats). On my Homey Pro (296 devices, several energy meters updating every few seconds) that was 70–120 messages a second, which nothing here reads. I only use the app as the broker for my own ESP32 boards.

After updating and unticking both boxes:

- broker traffic dropped to just my boards’ own messages
- the old device topics are gone from the broker
- the app’s CPU at night went from about 1.2–1.8 % to 0.4 %, and the whole Homey from 20–25 % to 18 %
- boards and MQTT flows work as before

If another system (Home Assistant, Node-RED, …) reads those topics, leave the boxes ticked: that is what device publishing is for.

Thanks @Emile for the quick fixes!

[Previous page](https://community.homey.app/t/app-pro-mqtt-server-publish-homey-pros-devices-as-an-mqtt-server/113854.md?page=1)
