# \[APP\]\[Pro\] SofaBaton X2 - control your X2 from Homey, and Homey from your X2

**URL:** <https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807>\
**Category:** Apps\
**Created:** [August 27, 2026, 11:59am UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807 "2026-08-27T11:59:02Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![repairguydk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/repairguydk/32/35710_2.png) [@repairguydk](https://community.homey.app/u/repairguydk)\
**Post date:** [August 27, 2026, 11:59am UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/1 "2026-08-27T11:59:02Z")

</div>

SofaBaton X2 now works with Homey - my app has just been approved ![🎉](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/a/0/a0279a8ddbd6966e86b9b0c4ae9ca6fa24e0ec08.png)

Hi everyone ![👋](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/a/fac2619e52370e52a6cd745ca7308517d3f60120.png)

I have spent the last couple of weeks building a Homey app for the SofaBaton X2

The universal remote passed Homey’s strict certification today!, and it is now live in the official Homey App Store.

Until now the X2 could not talk to Homey at all. Now it can, and it works in both directions:

![📺](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/a/5a9dc8f40f05446801677c04e01953f550bdf9f0.png) Homey → SofaBaton

A Flow card, “On [device]: press [key]”, sends commands to everything you have set up in your X2 - TV, amplifier, aircon, projector, fan. Both IR, RF and Bluetooth. So Homey can turn on the TV.

![🎛️](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/b/8b39276760c06021f22ed098c441e8efdc815719.png) SofaBaton → Homey

Press a button on the remote, and a Flow starts in Homey. One press from the couch can dim the lights, close the curtains and roll the film. Your devices and keys show up as ordinary dropdown menus in the Flow editor. No raw JSON or cryptic codes. And the hub is found automatically on the network,

So setup is just a few taps.

![🔗](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/3/03f49e8248c72a04db279bcac69e25e902090814.png) LINKS

The app in the Homey App Store: [SofaBaton X2 | Homey](https://homey.app/a/com.repairguydk.sofabatonx2/)

Illustrated step-by-step guide (I warmly recommend starting here): [SofaBaton X2 · Homey Setup Guide](https://repairguydk.github.io/com.repairguydk.sofabatonx2/)

Source code on GitHub (the app is free and open source, MIT): [GitHub - RepairGuyDK/com.repairguydk.sofabatonx2: SofaBaton X2 integration for Homey — control your remote's devices from Homey over MQTT and trigger Homey Flows from the remote. · GitHub](https://github.com/RepairGuyDK/com.repairguydk.sofabatonx2)

The MQTT Broker app you will need (free, by Menno van Grinsven): [MQTT Broker | Homey](https://homey.app/a/nl.scanno.mqttbroker/)

![✅](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/4/e496d6e01458e5f38cecd3e745bfed1c206364e2.png) WHAT YOU NEED

\* A Homey Pro (or Pro Mini) - the app runs locally (SHS NOT! testet!)

\* A SofaBaton X2 with hub, with MQTT enabled in the SofaBaton app. An MQTT broker that both the hub and Homey can reach. Easiest is the “MQTT Broker” app above, installed on Homey itself. If you already have Mosquitto on a NAS or a Raspberry Pi, you can use that instead.

![⚠️](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/8/c87072f5f7a3326c143d87a8da1dffd7cd77ca6b.png) THREE PITFALLS THAT COST PEOPLE AN HOUR !!

1. In the MQTT Broker app you MUST create a username and a password, even if you have ticked “Disable user authentication”. The hub refuses to connect without one. Also tick “Also allow unsecure connections”, and remember to press “Start Broker” afterwards, so it says “Broker is Running”. That is the one people forget.

2. When Homey has found your hub automatically, BOTH the found hub AND “SofaBaton X2 (manual setup)” are ticked. Un-tick “manual setup”, otherwise you also get an empty extra device created.

3. If you already run MQTT for Home Assistant, give the broker on Homey a port other than 1883 (e.g. 1885), so the two don’t fight over it.

![💡](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/c/f/cfd296e04f42e0defe9ac2170c0e497b7aa3e4da.png) A FEW GOOD TRICKS

\* If you need to fiddle with the remote itself in the SofaBaton app on your phone, tap “Pause hub connection” on the device in Homey first. The hub can only talk to one at a time, and otherwise it locks up. Tap it again afterwards, and you are back.

\* A brand new MQTT button shows up in Homey’s dropdown the moment you have pressed it once. It learns it by itself, you don’t need to restart anything. \* Does it say “Device 3 / Key 7” instead of the real names? Then the hub’s name list is asleep. Pull the plug for about 10 seconds, wait a minute, and tap “Refresh devicelist” again.

\* Only buttons that are set up under SofaBaton’s “MQTT” device reach Homey. Ordinary presses on your normal devices are not passed on, that is simply how the hub itself is built.

The app is free, open source and made by me in my spare time. It is not official and has nothing to do with SofaBaton - I just own an X2 and a Homey and thought it was silly that they couldn’t talk to each other ![😄](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/8/1/8152d3163323a0d9eb27a5605a36db92ecca2292.png)

A few people in Denmark are already running it on their own gear, and it has been tested with both the MQTT Broker app on Homey and Mosquitto in Docker on an unRaid.  
Thx to Ib Thomsen & Michael Christensen for testing ❤🙏

Questions, bugs or wishes? Feel free to write in this thread, or send me a mail at [repairguydk@gmail.com](mailto:repairguydk@gmail.com), I read every mail!

There is also an installation video coming to YouTube very soon, where I show the whole setup from end to end.

Enjoy! ![🍿](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/a/7ab64af0a32887c402e85de177d827680076586b.png)

Fille / RepairGuyDK

[www.youtube.com/repairguydk](http://www.youtube.com/repairguydk)

---

<div class="post-metadata">

**Author:** ![smarthomesven](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/smarthomesven/32/79712_2.png) [@smarthomesven](https://community.homey.app/u/smarthomesven)\
**Post date:** [August 27, 2026, 12:14pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/2 "2026-08-27T12:14:09Z")

</div>

> [@repairguydk](#):
>
> The MQTT Broker app you will need (free, by Menno van Grinsven):
> 
> **[https://homey.app/a/nl.scanno.mqttbroker/](https://l.facebook.com/l.php?u=https%3A%2F%2Fhomey.app%2Fa%2Fnl.scanno.mqttbroker%2F%3Ffbclid%3DIwcGRvZgVleHRuA2FlbQIxMABicmlkETFUOXdKUFJKNGhkUm5nTmE5c3J0YwZhcHBfaWQQMjIyMDM5MTc4ODIwMDg5MgABHrDXJYThUbAbuTM1-UEITjDi1E0vSKQBniUtjHhoRIPieecVVjy01i2eDL1m_aem_M6E--deKFaIBXSxbp64diQ&h=AUA4hp9_IonQD_RV3y58yFI0CJVXqZR3Z-qUbGbfOj1EtaGx9nlj3D56Oudc228ACUMQnwNj8G3fzlX1uQAZsUuyLCr_TjQ4obhH2bmsj-XHG-zXYR7hg-NUeHQhcn8DhLFOelqvAX4t8Q& __tn__ =-UK-R&c%5B0%5D=AUB62DfpUqRu3MdADarO2AIggsTipTHtEK1VXDQmNBYWIr_Vqyu27PAN6AGGke0Ige25rtP0toKI2wz4h0tmIK2ZmoGOU_vLbnYUrg6cp_u-tDLzRqvUZMXrkP1hUPHhB6xOait6zzbDPi2uPd6sYY3NQzvRSQUt95VXOUymt-ZpuA)**

Why do you use a Facebook URL for this? You can also paste the direct URL: `https://homey.app/a/nl.scanno.mqttbroker/`

---

<div class="post-metadata">

**Author:** ![repairguydk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/repairguydk/32/35710_2.png) [@repairguydk](https://community.homey.app/u/repairguydk)\
**Post date:** [August 27, 2026, 1:04pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/3 "2026-08-27T13:04:01Z")

</div>

I just made ChatGPT to do and english translation… ?, don´t know why it did that.

---

<div class="post-metadata">

**Author:** ![smarthomesven](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/smarthomesven/32/79712_2.png) [@smarthomesven](https://community.homey.app/u/smarthomesven)\
**Post date:** [August 27, 2026, 1:07pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/4 "2026-08-27T13:07:42Z")

</div>

The link has the text `https://homey.app/a/nl.scanno.mqttbroker/`, but the actual URL behind it is `https://l.facebook.com/l.php?u=https%3A%2F%2Fhomey.app%2Fa%2Fnl.scanno.mqttbroker%2F%3Ffbclid%3DIwcGRvZgVleHRuA2FlbQIxMABicmlkETFUOXdKUFJKNGhkUm5nTmE5c3J0YwZhcHBfaWQQMjIyMDM5MTc4ODIwMDg5MgABHrDXJYThUbAbuTM1-UEITjDi1E0vSKQBniUtjHhoRIPieecVVjy01i2eDL1m_aem_M6E--deKFaIBXSxbp64diQ&h=AUA4hp9_IonQD_RV3y58yFI0CJVXqZR3Z-qUbGbfOj1EtaGx9nlj3D56Oudc228ACUMQnwNj8G3fzlX1uQAZsUuyLCr_TjQ4obhH2bmsj-XHG-zXYR7hg-NUeHQhcn8DhLFOelqvAX4t8Q& __tn__ =-UK-R&c%5B0%5D=AUB62DfpUqRu3MdADarO2AIggsTipTHtEK1VXDQmNBYWIr_Vqyu27PAN6AGGke0Ige25rtP0toKI2wz4h0tmIK2ZmoGOU_vLbnYUrg6cp_u-tDLzRqvUZMXrkP1hUPHhB6xOait6zzbDPi2uPd6sYY3NQzvRSQUt95VXOUymt-ZpuA`

---

<div class="post-metadata">

**Author:** ![repairguydk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/repairguydk/32/35710_2.png) [@repairguydk](https://community.homey.app/u/repairguydk)\
**Post date:** [August 27, 2026, 1:52pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/5 "2026-08-27T13:52:18Z")

</div>

yeah, I see now, I´ve deleted, and made a new one, hope that´s correct ! 👍

---

<div class="post-metadata">

**Author:** ![OH2TH](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/oh2th/32/111414_2.png) [@OH2TH](https://community.homey.app/u/OH2TH)\
**Post date:** [August 27, 2026, 2:12pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/6 "2026-08-27T14:12:32Z")

</div>

Post edited by moderator to remove tracking/affiliate links. Optimised for user experience the links.

---

<div class="post-metadata">

**Author:** ![Amersfoort](https://avatars.discourse-cdn.com/v4/letter/a/94ad74/32.png) [@Amersfoort](https://community.homey.app/u/Amersfoort)\
**Post date:** [August 27, 2026, 3:43pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/7 "2026-08-27T15:43:09Z")

</div>

Very nice @repairguydk, thank you!  
NICE functionality! Now I can use Homey to use Sofabaton supported devices.

Some first beginners questions:

- when do I use the remote or hub device in the Sofabaton X2 app?
- Setting up de Hub fills in the the MAC address automatically, why not do the same for the remote setup, and copy the MQTT settings to the remote (user + password)?
- time-outs after 10 seconds during device sync.
- some device with a lot of buttons: the buttons are not visible in the flow card dropdown (even after Hub reboot)
- is Pause hub connection button for Hub and Remote Homey devices the same? Could the button(s) be highlighted as long as the pause is active?

I will test the app the coming week.

---

<div class="post-metadata">

**Author:** ![repairguydk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/repairguydk/32/35710_2.png) [@repairguydk](https://community.homey.app/u/repairguydk)\
**Post date:** [August 27, 2026, 5:24pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/8 "2026-08-27T17:24:47Z")

</div>

thank you !..

when do I use the remote or hub device in the Sofabaton X2 app?

- Setting up de Hub fills in the the MAC address automatically, why not do the same for the remote setup, and copy the MQTT settings to the remote (user + password)?

- time-outs after 10 seconds during device sync.

- some device with a lot of buttons: the buttons are not visible in the flow card dropdown (even after Hub reboot)

- is Pause hub connection button for Hub and Remote Homey devices the same? Could the button(s) be highlighted as long as the pause is active?

I will test the app the coming week.

> let me know, when you get to test properly 👍

---

<div class="post-metadata">

**Author:** ![repairguydk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/repairguydk/32/35710_2.png) [@repairguydk](https://community.homey.app/u/repairguydk)\
**Post date:** [August 27, 2026, 5:26pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/9 "2026-08-27T17:26:50Z")

</div>

sorry about that, did´n´t check the links properly !🙏

thx \Fille

---

<div class="post-metadata">

**Author:** ![James\_Sears](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/james_sears/32/173551_2.png) [@James\_Sears](https://community.homey.app/u/James_Sears)\
**Post date:** [September 9, 2026, 11:40pm UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/10 "2026-09-09T23:40:47Z")

</div>

I would also be interested if there is a way to have a button/light/switch that would show if the hub is released or not. The banner on the top is okay, but doesn’t really tell the status. You have to press it to see if it is going to show the paused banner or not. I tried to make a virtual switch, but there isn’t w asy I could find to tie it in to provide status.

---

<div class="post-metadata">

**Author:** ![repairguydk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/repairguydk/32/35710_2.png) [@repairguydk](https://community.homey.app/u/repairguydk)\
**Post date:** [September 11, 2026, 7:06am UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/11 "2026-09-11T07:06:58Z")

</div>

thx for the input, let me see what´s possible 🙂

---

<div class="post-metadata">

**Author:** ![ozstubbsy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ozstubbsy/32/178658_2.png) [@ozstubbsy](https://community.homey.app/u/ozstubbsy)\
**Post date:** [October 24, 2026, 5:57am UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/12 "2026-10-24T05:57:18Z")

</div>

I have tried repeatedly to get this working without success. The following all works fine (and in the order given at [SofaBaton X2 · Homey Setup Guide](https://repairguydk.github.io/com.repairguydk.sofabatonx2) )

An Update to my issue described further down for future benefit (original description continues below this new explanatory text:

> I’ve identified my stupidity, but left below my original problem summary for anyone else like me.
> 
> I fundamentally misunderstood the workflow. I thought my existing Sofabaton buttons would appear in Homey. Critically none of those were wifi/MQTT. I had missed the comment in the instructions headed “Nothing in the dropdowns yet?” because I didn’t realise what was meant by the “MQTT device”
> 
> Having watched the excellent YouTube video linked above I realised my mistaken understanding - only buttons created as Wifi / MQTT would be present on Homey. I thought Homey could fire “standard” Sofabaton X2 buttons from Flows when in fact it’s the reverse - Sofabaton X2 buttons fire Homey flows!

Back to the original description of my steps.

- install of the mqtt broker
- setup to use port 1883, creation of a username and password that I have chosen for the broker and saved within the app settings
- successfully starting the broker in mqtt broker
- launching the sofabaton app on my iphone, choosing “connect to home assistant (mqtt broker)”, entering my Homey IP address, port and the broker username and password set in mqtt broker
- Clicking Next in the sofabaton app showed “MQTT broker is set up”

I then returned to homey, installed the SofaBaton X2 app and then added my X2 as a new device

On some attempts I saw two entries and unticked the “manual setup” one and other times “manual setup” was my sole choice

After creation it shoed “Device unavailable - mqtt broker offline” and I had to go into advance settings to enter username and password (i entered the earlier mqtt ones). If missing, I added the X2 hub MAC address. Once done the unavailable message disappeared.

Finally I clicked the Refresh devicelist button which flashed, but nothing happened after that - no devices etc appeared

On some occasions I got the message “timeout after 10000 seconds”

So I am puzzled. Does anyone have suggestions on fixing this? Am I doing something wrong above?

---

<div class="post-metadata">

**Author:** ![repairguydk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/repairguydk/32/35710_2.png) [@repairguydk](https://community.homey.app/u/repairguydk)\
**Post date:** [October 24, 2026, 10:18am UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/13 "2026-10-24T10:18:12Z")

</div>

I´m sorry to hear you´re having trouble !😥

I´m the developer of the App, and currently have 68 live installs with no crashes, so  
I don´t know why you´re having issues.

You can try to do a diagnostic log and send to me, and I´ll examine !..

Kind regards

RpairGuyDK / Fille Kirstein - Denmark, Living in Spain ❤

---

<div class="post-metadata">

**Author:** ![ozstubbsy](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ozstubbsy/32/178658_2.png) [@ozstubbsy](https://community.homey.app/u/ozstubbsy)\
**Post date:** [October 25, 2026, 6:43am UTC](https://community.homey.app/t/app-pro-sofabaton-x2-control-your-x2-from-homey-and-homey-from-your-x2/158807/14 "2026-10-25T06:43:29Z")

</div>

Thanks for the quick assistance Fille 😄

I have finally managed to get the devicelist to fully populate. I have 4 IR devices and 1 mftt device I called Homey. All devices showed after restarting the X2 hub, but initially only some (including the Homey one) showed no “keys” when setting up a flow (the list was emtpy). I repeatedly clicked “Refresh devicelist” (leaving maybe 10 minutes between each click) and over about a 4 hour period all devices progressively had fully populated keys.

I can now successfully create and execute flows for all devices on my X2. I’m still puzzled by the regresh lag, but now I’m aware of it I can be patient 😉
