# Learn commands from a Bluetooth remote

**URL:** <https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037>\
**Category:** Apps\
**Created:** [March 2, 2023, 3:55am UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037 "2023-03-02T03:55:27Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Larry\_Ross](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/larry_ross/32/71232_2.png) [@Larry\_Ross](https://community.homey.app/u/Larry_Ross)\
**Post date:** [March 2, 2023, 3:55am UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/1 "2023-03-02T03:55:27Z")

</div>

How about learning commands from a remote. For example a remote that controls a ceiling fan. How can this device learn those commands?

---

<div class="post-metadata">

**Author:** ![Henrik\_Johnsson](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/henrik_johnsson/32/13707_2.png) [@Henrik\_Johnsson](https://community.homey.app/u/Henrik_Johnsson)\
**Post date:** [March 2, 2023, 6:04am UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/2 "2023-03-02T06:04:25Z")

</div>

It can’t.

---

<div class="post-metadata">

**Author:** ![Joost\_Else](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/joost_else/32/17360_2.png) [@Joost\_Else](https://community.homey.app/u/Joost_Else)\
**Post date:** [March 3, 2023, 11:51am UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/3 "2023-03-03T11:51:47Z")

</div>

Now now, that is a bit shortsighted.

As always, the answer is “it depends”. Bluetooth has several operating modes. It can be based on a connection model (usually bluetooth low energy, but classic BT would also be possible) or it can be connection-less. In case of a connection model, chances are it will be difficult (to say the least) to “learn commands”, especially if the connection is encrypted and authenticated. If they are not encrypted, BLE services can be reverse engineered. Takes a lot of effort, but it is possible.

However. In case of a connectionless model, the remote might just send beacons or advertisement packages with data in its manufacturer’s field. Those can be sniffed and learned. You do, however, need specific equipment to sniff those packets. An (Android) phone can do it (check “nRF Connect” for example, especially in conjunction with its separate logger tool). A better option would be to get a nRF52840 dongle and install nRF Connect on PC or wireshark with the proper tools for it.

It’s not an easy task though, unless you have the know-how. Once you have isolated those codes, you’ld probably need to write an app for it (and/or create a device that allows reproduction of the packets). Doable if you have the knowledge (and not even that expensive), but not for the faint of heart.

---

<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:** [March 3, 2023, 11:59am UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/4 "2023-03-03T11:59:37Z")

</div>

So in short: no, Homey can’t _learn_ from a Bluetooth remote. You might be able to write an _app_ for it, but there is no generic “learn this remote” option.

---

<div class="post-metadata">

**Author:** ![Joost\_Else](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/joost_else/32/17360_2.png) [@Joost\_Else](https://community.homey.app/u/Joost_Else)\
**Post date:** [March 3, 2023, 2:35pm UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/5 "2023-03-03T14:35:45Z")

</div>

Fair enough.

There is a “Discover devices” button in the Bluetooth LE tab of the developer tools which suggests something is possible though. Not that I ever got it to find any of my BLE peripherals but hey, something is there. Anyone knows the finer details from that?

---

<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:** [March 3, 2023, 2:48pm UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/6 "2023-03-03T14:48:18Z")

</div>

> [@Joost\_Else](#):
>
> Anyone knows the finer details from that?

It’s a simple BLE browser.

---

<div class="post-metadata">

**Author:** ![ErtjeTheFreeze](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ertjethefreeze/32/77370_2.png) [@ErtjeTheFreeze](https://community.homey.app/u/ErtjeTheFreeze)\
**Post date:** [June 24, 2023, 6:58pm UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/7 "2023-06-24T18:58:19Z")

</div>

Hi,

I’m looking for the same thing!  
Isn’t there a general BT device capable of learning BT commands and sending them, commanded by Homey?  
Just like I use the SwitchBot Hub for unknown IR devices.

---

<div class="post-metadata">

**Author:** ![Dijker](https://avatars.discourse-cdn.com/v4/letter/d/b9bd4f/32.png) [@Dijker](https://community.homey.app/u/Dijker)\
**Post date:** [June 24, 2023, 7:01pm UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/8 "2023-06-24T19:01:52Z")

</div>

> [@ErtjeTheFreeze](#):
>
> Isn’t there a general BT device capable of learning BT commands and sending them, commanded by Homey?

You missed the answer already given?

> [@robertklep](#):
>
> So in short: no, Homey can’t _learn_ from a Bluetooth remote. You might be able to write an _app_ for it, but there is no generic “learn this remote” option

---

<div class="post-metadata">

**Author:** ![ErtjeTheFreeze](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ertjethefreeze/32/77370_2.png) [@ErtjeTheFreeze](https://community.homey.app/u/ErtjeTheFreeze)\
**Post date:** [June 24, 2023, 10:52pm UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/9 "2023-06-24T22:52:23Z")

</div>

Hi,

No, I didn’t miss this answer. I do understand that Homey doesn’t have BT learning capabilities, but I was wondering if there is a device on the market that CAN do BT learning and also is compatible with Homey so that I can command it.  
Just like using for infrared the SwitchBot Hub.

---

<div class="post-metadata">

**Author:** ![Dijker](https://avatars.discourse-cdn.com/v4/letter/d/b9bd4f/32.png) [@Dijker](https://community.homey.app/u/Dijker)\
**Post date:** [June 25, 2023, 6:48am UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/10 "2023-06-25T06:48:33Z")

</div>

> [@ErtjeTheFreeze](#):
>
> but I was wondering if there is a device on the market that CAN do BT learning

Never heard of that

That would make all Bluetooth as insecure as INFRARED or RF (433Mhz like KAKU)

What do you think?

---

<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:** [June 25, 2023, 7:01am UTC](https://community.homey.app/t/learn-commands-from-a-bluetooth-remote/77037/11 "2023-06-25T07:01:57Z")

</div>

As @Joost_Else already pointed out: it depends on how such remotes work.

There are plenty of BLE devices that basically just broadcast frames for everyone to pick up and interpret (similar to what beacons or Airtags do, or BLE sensors).

I think there are some ESP32-based projects that can be used for BLE replay: they record incoming BLE frames and can replay them (without the need for interpreting them). But I haven’t been able to find a consumer-friendly “BLE recorder” device.
