# List apps and devices?

**URL:** <https://community.homey.app/t/list-apps-and-devices/152348>\
**Category:** Questions & Help\
**Tags:** app, homeyscript, homey-pro\
**Created:** [March 12, 2026, 6:18am UTC](https://community.homey.app/t/list-apps-and-devices/152348 "2026-03-12T06:18:01Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jocke\_Wallen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jocke_wallen/32/76525_2.png) [@Jocke\_Wallen](https://community.homey.app/u/Jocke_Wallen)\
**Post date:** [March 12, 2026, 6:18am UTC](https://community.homey.app/t/list-apps-and-devices/152348/1 "2026-03-12T06:18:01Z")

</div>

Is there any app or script that shows/lists all installed apps and devices that uses them?  
I.e.

```auto
Sonoff:

 - Button1, SNZB-01P

 - Temp Carport, SNZB-02P

IKEA Home Smart:

 - Hallway, TRADFRI bulb E14 WS globe 470lm

```

Or is this info easily visible/available already somewhere?

---

<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 12, 2026, 6:23am UTC](https://community.homey.app/t/list-apps-and-devices/152348/2 "2026-03-12T06:23:07Z")

</div>

Have you seen the app store pages of those apps? They list the supported devices.

---

<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:** [March 12, 2026, 6:28am UTC](https://community.homey.app/t/list-apps-and-devices/152348/3 "2026-03-12T06:28:30Z")

</div>

In the mobile app: More→Apps

---

<div class="post-metadata">

**Author:** ![Jocke\_Wallen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jocke_wallen/32/76525_2.png) [@Jocke\_Wallen](https://community.homey.app/u/Jocke_Wallen)\
**Post date:** [March 12, 2026, 6:38am UTC](https://community.homey.app/t/list-apps-and-devices/152348/4 "2026-03-12T06:38:25Z")

</div>

> [@smarthomesven](#):
>
> In the mobile app: More→Apps

Yepp, that I’m aware of.

I’m looking for a way to do a complete listing of all apps and connected devices.

> [@robertklep](#):
>
> Have you seen the app store pages of those apps? They list the supported devices.

Sry for stupid question but could You please elaborate that a bit…

---

<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:** [March 12, 2026, 6:40am UTC](https://community.homey.app/t/list-apps-and-devices/152348/5 "2026-03-12T06:40:44Z")

</div>

> [@Jocke\_Wallen](#):
>
> connected devices

When you select an app in that page, you can see which devices are connected. You can also use the web app:

> **[My Homey](https://my.homey.app/devices)**
>
> Homey Web App

In here, you can select the list view in the top left corner. In the list view, you can view all devices and the app they use.

---

<div class="post-metadata">

**Author:** ![Jocke\_Wallen](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/jocke_wallen/32/76525_2.png) [@Jocke\_Wallen](https://community.homey.app/u/Jocke_Wallen)\
**Post date:** [March 12, 2026, 6:43am UTC](https://community.homey.app/t/list-apps-and-devices/152348/6 "2026-03-12T06:43:05Z")

</div>

> [@smarthomesven](#):
>
> In here, you can select the list view in the top left corner. In the list view,

TY! 👍

That’s really good enough for me!

---

<div class="post-metadata">

**Author:** ![vletroye](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/vletroye/32/101044_2.png) [@vletroye](https://community.homey.app/u/vletroye)\
**Post date:** [March 15, 2026, 2:44pm UTC](https://community.homey.app/t/list-apps-and-devices/152348/7 "2026-03-15T14:44:31Z")

</div>

I was interested in the opposite… How to get a list of Apps that are “ **not used** ” (but consuming memory)… Asking help to Gemini, here is something that works for me.

```auto
/**

 * Universal script to list unused apps.

 * This version uses a broad inclusion check to avoid false positives.

 */

const apps = await Homey.apps.getApps();

const devices = await Homey.devices.getDevices();

const unusedApps = Object.values(apps).filter(app => {

    // We check if ANY device points to this app's ID

    const isUsed = Object.values(devices).some(device => {

        if (!device) return false;

        const uri = device.driverUri || "";

        const driverId = device.driverId || "";

        // Check if the app ID is mentioned in the URI or the Driver ID

        return uri.includes(app.id) || driverId.includes(app.id);

    });

    // We only keep apps that are NOT used

    return !isUsed;

});

// Formatting the output

const results = unusedApps.map(app => `- ${app.name} [v${app.version}] (${app.id})`);

console.log("--- Analysis of Installed Apps ---");

if (results.length > 0) {

    console.log(`Found ${results.length} app(s) with no devices configured:`);

    console.log(results.join('\n'));

} else {

    console.log("All installed apps are currently used by at least one device.");

}

return results.length > 0;

```

I did ask now to get a script that list all Apps and their devices… It gives me the very same list as the Homey web page “Devices” in “List” mode…

```auto
/**

 * Script to list ALL devices, including those without an explicit app ("-" in the page "devices".

 */

const apps = await Homey.apps.getApps();

const devices = await Homey.devices.getDevices();

const zones = await Homey.zones.getZones();

const zoneMap = {};

Object.values(zones).forEach(z => zoneMap[z.id] = z.name);

const appDeviceMap = {};

const orphanDevices = [];

// Init map

Object.values(apps).forEach(app => {

    appDeviceMap[app.id] = { name: app.name, version: app.version, devices: [] };

});

Object.values(devices).forEach(device => {

    if (!device) return;

    const uri = device.driverUri || "";

    const driverId = device.driverId || "";

    const zoneName = zoneMap[device.zone] || "Unknown Zone";

    const deviceLabel = `${device.name} [${zoneName}]`;

    const parentApp = Object.values(apps).find(app => 

        uri.includes(app.id) || driverId.includes(app.id)

    );

    if (parentApp) {

        appDeviceMap[parentApp.id].devices.push(deviceLabel);

    } else {

        // Capture devices that don't match any installed app

        orphanDevices.push(deviceLabel);

    }

});

// Output

console.log("--- Apps and their associated Devices ---");

Object.keys(appDeviceMap).sort().forEach(appId => {

    const data = appDeviceMap[appId];

    if (data.devices.length > 0) {

        console.log(`\n📦 ${data.name} (${appId})`);

        data.devices.sort().forEach(d => console.log(` ➔ ${d}`));

    }

});

if (orphanDevices.length > 0) {

    console.log(`\n⚠️ Internal / Unlinked Devices (No App ID found)`);

    orphanDevices.sort().forEach(d => console.log(` ➔ ${d}`));

}

return true;

```

---

<div class="post-metadata">

**Author:** ![SingKT](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/singkt/32/173226_2.png) [@SingKT](https://community.homey.app/u/SingKT)\
**Post date:** [March 22, 2026, 8:49pm UTC](https://community.homey.app/t/list-apps-and-devices/152348/8 "2026-03-22T20:49:45Z")

</div>

Not bad. Only you seem to define unused apps as having no devices. That might be a bit misleading as there are apps without devices like „Audit“, „Email sender“, …

---

<div class="post-metadata">

**Author:** ![BasMilius](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/basmilius/32/146560_2.png) [@BasMilius](https://community.homey.app/u/BasMilius)\
**Post date:** [March 22, 2026, 9:00pm UTC](https://community.homey.app/t/list-apps-and-devices/152348/9 "2026-03-22T21:00:15Z")

</div>

@vletroye Not bad! There are apps that do not register any devices, but are instead only used in flows. Would be nice to check that as well 🙂

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [March 22, 2026, 9:54pm UTC](https://community.homey.app/t/list-apps-and-devices/152348/10 "2026-03-22T21:54:37Z")

</div>

@BasMilius @vletroye  
Like 'SingKT" alr mentionrd: The Audit app for instance is a fantastic logging app, which, apart from not needing devices, even **doesn’t need flows cards** ;  
I don’t know how to consider an app like that as being unused.

No clue how many apps out there function likewise.

---

<div class="post-metadata">

**Author:** ![vletroye](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/vletroye/32/101044_2.png) [@vletroye](https://community.homey.app/u/vletroye)\
**Post date:** [March 28, 2026, 2:25pm UTC](https://community.homey.app/t/list-apps-and-devices/152348/11 "2026-03-28T14:25:12Z")

</div>

Indeed, the script is not good enough…

I have for example a virtual device named “Home Battery” created from the App “Virtual Devices” [v1.3.1] (com.arjankranenburg.virtual). But this App is reported as not used.

Looking at the Developers Tools ( [Homey Developer Tools](https://tools.developer.homey.app/tools/devices) ), this device has a driver “homey:app:nl.qluster-it.DeviceCapabilities:virtualdevice”

So, the script cannot make the link ☹

And indeed, in the script listing all devices per App, I can see that the virtual device “Home Battery” belongs to “Device Capabilities”…

```auto
Device Capabilities (nl.qluster-it.DeviceCapabilities)

```

```auto
   ➔ Home Battery

```

So, I don’t know how to make the link correctly.
