Guideline for using Data Value vs State Value?

I mean, you can. :slight_smile: But if you ask me, I don't think it's likely. Most apps work by responding to events, which would be attributes you see under "Current States" on the device page. If you have a driver that puts something under "Device Data" or state that an app might want to consume, it should probably be an event instead. If this is a custom driver, you can re-work that to do so (not so much with a stock driver, of course, unless you write/use another).

You might be able to access device data with a custom app. I don't recall exactly which methods are available to arbitrary apps and not just parent/child relationships (but this wouldn't include RM or webCoRE as-is). I know you cannot access state except in these special cases. In all of these cases, it would simply access to the value, not a "subscription" like you can get with device events (things under "Current States" on the device page)--which is crucial for most apps in that they generally want to respond to changes.

Is this related to your RGBW controller you've mentioned in another thread? If so, I think a custom device driver is the best way to go about this--but you'll have to find, port, or create one. There is an open SmartThings DTH you can probably port with minor changes, a community-created Hubitat driver (not the built-in one, though the guy who wrote it is now staff--and this one has likely been abandoned), and possibly others you could use as a starting point if writing one from the ground up is not your thing.