First off, thanks for this integration — activate_profile works great and I'm using it in an automation that syncs my madVR profile with an external audio processor's HDMI input selection.
"The gap:" there's currently no way to read back which SOURCE profile is currently active on the Envy. This is especially noticeable when the profile is changed manually via the Envy's own RC2 remote (Profile → Source Devices → ...) — Home Assistant has no way of knowing this happened, so anything downstream that needs to stay in sync (like my AVR input automation) breaks.
"Technical basis:" per the Envy IP Control spec, Envy already broadcasts this on every profile change, whether triggered automatically, via IP command, or manually via remote:
ActivateProfile SOURCE %profileId% ⏎
There's also a direct query/response pair for polling on connect:
GetActiveProfile SOURCE ⏎
ActiveProfile SOURCE %activeProfileIndex% ⏎
"Suggestion:"since py-madvr-envy already implements enum_profile_groups_collect() / enum_profiles_collect(), it seems like parsing the ActivateProfile notification into a sensor (or select, mirroring the existing activate_profile action) would be a natural complement — something like sensor.<device>_active_source_profile, updated both on the push notification and via an initial GetActiveProfile query on connect/reconnect.
Happy to help test this if useful — I have an Envy Extreme MK3 with several named source profiles I can validate against.
First off, thanks for this integration —
activate_profileworks great and I'm using it in an automation that syncs my madVR profile with an external audio processor's HDMI input selection."The gap:" there's currently no way to read back which SOURCE profile is currently active on the Envy. This is especially noticeable when the profile is changed manually via the Envy's own RC2 remote (Profile → Source Devices → ...) — Home Assistant has no way of knowing this happened, so anything downstream that needs to stay in sync (like my AVR input automation) breaks.
"Technical basis:" per the Envy IP Control spec, Envy already broadcasts this on every profile change, whether triggered automatically, via IP command, or manually via remote:
There's also a direct query/response pair for polling on connect:
"Suggestion:"since
py-madvr-envyalready implementsenum_profile_groups_collect()/enum_profiles_collect(), it seems like parsing theActivateProfilenotification into asensor(orselect, mirroring the existingactivate_profileaction) would be a natural complement — something likesensor.<device>_active_source_profile, updated both on the push notification and via an initialGetActiveProfilequery on connect/reconnect.Happy to help test this if useful — I have an Envy Extreme MK3 with several named source profiles I can validate against.