Open konistehrad opened 2 weeks ago
So, there are a few ways to go about this.
We could make a "devices" section, like we have for "rooms", as a place to override certain information for ui/ux purposes.
But if we are hiding devices, we could instead focus on a way to control which devices are even "known" by bifrost. A little bit like the "group_prefix" option we have for rooms.
Actually, if people are willing to rename their lights in z2m, I guess we could have a "device_prefix" option that works in the same way.
Controlling visibility through prefixing really isn't a good, sustainable way to do this, but it might work well enough.
I just realized that z2m might be able to be extended, so we could put some actual metadata on things from there. I'm not sure it will work, but it might.
I'd really like to see some real-world examples, before we go in a direction, so we don't end up with 17 different, slightly unaligned mechanisms for controlling what bifrost does :smirk:
My only thought is that for people controlling their Z2M net outside of Bifrost, renaming the devices themselves could "leak" a lot of cruft to other supporting HA stacks, including such as homebridge-z2m or Home Assistant. I think moving to a prefix-only style says "you're only using Bifrost with Z2M", which sort of takes a lot of the wind out of the sails of the very generic MQTT solution that Z2M promotes.
That's fair - I'm not a big fan of prefixing either. It was added by popular demand :D
I think it makes sense to be able to hide specific rooms, especially since we have a config section for "rooms" anyway :+1:
I'm not sold on devices_implicitly_hidden
, though. I think we need to think that through a bit more
I look forward to seeing your PR for this - it would also close #16 :)
While we work on more accurate device detection in #17, it might be worth it to allow customizing individual devices based on Friendly Name or IEEE address. This change would create a structure like the following in config.yaml:
I also propose we add a way to explicitly add devices as opposed to explicitly hiding them via a global config setting like:
Which would set the default device hidden value to
true
as opposed tofalse
, and allow for explicit visibility in thedevices
region. Let me know what you think, and thanks again!