# What's the advantage of virtual devices vs flows?

**URL:** <https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157>\
**Category:** Questions & Help\
**Tags:** virtual-device, logic\
**Created:** [January 16, 2023, 12:56pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157 "2023-01-16T12:56:55Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![OlleWestin](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ollewestin/32/46565_2.png) [@OlleWestin](https://community.homey.app/u/OlleWestin)\
**Post date:** [January 16, 2023, 12:56pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157/1 "2023-01-16T12:56:55Z")

</div>

Hello all!

Out of interest. What is the advantage of using virtual devices rather than just flows and boolean logic values?

I have, for example, a logic value that I update depending on if I have my phone on charging or not (via Shortcut). Today I’m just updating a boolean value (IsCharging = Yes/No) but maybe I’m not using best practice here? Are there advantages of virtual devices that I have missed? A clear _disadvantage_ is obviously that I have “devices” that aren’t really being used and it messes up the UI when I manually control my home.

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [January 16, 2023, 4:17pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157/2 "2023-01-16T16:17:28Z")

</div>

Which Virtual Devices do you mean?

The builldin expirement?  
The Virtual Devices App?  
Or the Advanced Virtual Devices from the Device Capabilities app?

---

<div class="post-metadata">

**Author:** ![FKey](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/fkey/32/14793_2.png) [@FKey](https://community.homey.app/u/FKey)\
**Post date:** [January 16, 2023, 5:31pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157/3 "2023-01-16T17:31:09Z")

</div>

A virtual device shows in which flow it is used. For me that is a big pro.  
(I creaapted a seperate zone ZZ to store the virtual devices that I do not use in the control

---

<div class="post-metadata">

**Author:** ![OlleWestin](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ollewestin/32/46565_2.png) [@OlleWestin](https://community.homey.app/u/OlleWestin)\
**Post date:** [January 16, 2023, 8:37pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157/4 "2023-01-16T20:37:15Z")

</div>

Well, was thinking of the built in experiment. Didn’t even know about the apps?

---

<div class="post-metadata">

**Author:** ![OlleWestin](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ollewestin/32/46565_2.png) [@OlleWestin](https://community.homey.app/u/OlleWestin)\
**Post date:** [January 16, 2023, 8:37pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157/5 "2023-01-16T20:37:51Z")

</div>

Hmm, care to elaborate? Not sure I fully get it

---

<div class="post-metadata">

**Author:** ![FKey](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/fkey/32/14793_2.png) [@FKey](https://community.homey.app/u/FKey)\
**Post date:** [January 16, 2023, 8:45pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157/6 "2023-01-16T20:45:31Z")

</div>

When you hold a vitual device button you have the option to view all flows that the button is used in

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/e/ee90d99b51ec988a558bbe4c570c1ab7c8a85098.png)

If I would use a variable that is set, I would not be able to trace in which flows it is used.

I find it very usefull for troubleshooting to I can easily trace where settigngs are used…

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [January 16, 2023, 9:02pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157/7 "2023-01-16T21:02:38Z")

</div>

Best for this would be the AVD from device capabilities.  
Create an avd for each group, and you can add as many fields/variables that you want, of any type, give them custom names, icons, etc.

---

<div class="post-metadata">

**Author:** ![OlleWestin](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ollewestin/32/46565_2.png) [@OlleWestin](https://community.homey.app/u/OlleWestin)\
**Post date:** [January 16, 2023, 9:12pm UTC](https://community.homey.app/t/whats-the-advantage-of-virtual-devices-vs-flows/75157/8 "2023-01-16T21:12:45Z")

</div>

AVD seems very cool! Will check it out!
