From ecc9d04a0d4cb1ab5a5df71395e91b9e8b34f315 Mon Sep 17 00:00:00 2001 From: iloveicedgreentea <31193909+iloveicedgreentea@users.noreply.github.com> Date: Sun, 7 Jul 2024 22:01:27 -0400 Subject: [PATCH 1/3] feat: add madvr --- source/_integrations/madvr.markdown | 101 ++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 source/_integrations/madvr.markdown diff --git a/source/_integrations/madvr.markdown b/source/_integrations/madvr.markdown new file mode 100644 index 000000000000..f5f0aae33464 --- /dev/null +++ b/source/_integrations/madvr.markdown @@ -0,0 +1,101 @@ +--- +title: madVR Envy +description: Instructions on how to integrate a madVR Envy into Home Assistant. +ha_category: + - Remote + - Binary Sensor + - Sensor +ha_release: '2023.6' +ha_iot_class: Local Push +ha_config_flow: true +ha_codeowners: + - '@iloveicedgreentea' +ha_domain: madvr +ha_platforms: + - binary_sensor + - remote + - sensor +ha_integration_type: device +--- + +The madVR Envy allows for the automation and control of [madVR Envy devices](https://madvrenvy.com). + +## Supported Devices + +This integration supports all current madVR Envy models. + +{% include integrations/config_flow.md %} + +## Remote + +The madVR Envy remote platform will create a [Remote](/integrations/remote/) entity for the device. This entity allows you to send the following commands via the [remote.send_command](/integrations/remote/) service. + +The command structure uses the same keywords as the [official documentation](https://madvrenvy.com/wp-content/uploads/EnvyIpControl.pdf?r=113a) and simply sends the corresponding command to the device. Please refer to the official documentation for more details and usage. + +Using these commands, you can create a digital remote in the UI. + +### Single Commands + +These are commands that can be sent standalone, no parameters. + +- `PowerOff` +- `Standby` +- `Restart` +- `ReloadSoftware` +- `Bye` +- `ResetTemporary` +- `CloseMenu` +- `GetMaskingRatio` +- `GetMacAddress` +- `ToneMapOn` +- `ToneMapOff` +- `Hotplug` +- `RefreshLicenseInfo` +- `Force1080p60Output` + + +### Commands with Parameters + +These are commands that have parameters with a comma separating them. + +- `ActivateProfile (SOURCE | DISPLAY | CUSTOM)` +- `OpenMenu (Info | Settings | Configuration | Profiles | TestPatterns)` +- `KeyPress (MENU | UP | DOWN | LEFT | RIGHT | OK | INPUT | SETTINGS | RED | GREEN | BLUE | YELLOW | POWER)` +- `KeyHold (MENU | UP | DOWN | LEFT | RIGHT | OK | INPUT | SETTINGS | RED | GREEN | BLUE | YELLOW | POWER)` + +### Binary sensor + +The integration creates the following binary sensors: + +- `Power State` is True when device is physically on. +- `Signal State` is True when device is receiving a signal from the source. +- `HDR Flag` is True when the device is receiving an HDR signal. This is useful to trigger automations based on the HDR flag such as changing projector settings. +- `Outgoing HDR Flag` is True when the device is sending an HDR signal. + +### Sensor + +The integration creates the following sensors: + +- `Incoming Resolution` +- `Incoming Frame Rate` +- `Incoming Color Space` +- `Incoming Bit Depth` +- `Incoming Colorimetry` +- `Incoming Black Levels` +- `Incoming Aspect Ratio` +- `Outgoing Resolution` +- `Outgoing Frame Rate` +- `Outgoing Color Space` +- `Outgoing Bit Depth` +- `Outgoing HDR Flag` +- `Outgoing Colorimetry` +- `Outgoing Black Levels` +- `Aspect Ratio Resolution` +- `Aspect Ratio Decimal` +- `Aspect Ratio Integer` +- `Aspect Ratio Name` +- `Masking Resolution` +- `Masking Decimal` +- `Masking Integer` + +These can be used for various purposes such as triggering your masking system based on the detected aspect ratio. \ No newline at end of file From 867af6055c5d46daf41654d5c444583e231eebc2 Mon Sep 17 00:00:00 2001 From: ilan <31193909+iloveicedgreentea@users.noreply.github.com> Date: Sun, 7 Jul 2024 22:05:30 -0400 Subject: [PATCH 2/3] Apply suggestions from code review Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- source/_integrations/madvr.markdown | 35 ++++------------------------- 1 file changed, 4 insertions(+), 31 deletions(-) diff --git a/source/_integrations/madvr.markdown b/source/_integrations/madvr.markdown index f5f0aae33464..94d50f581a17 100644 --- a/source/_integrations/madvr.markdown +++ b/source/_integrations/madvr.markdown @@ -67,35 +67,8 @@ These are commands that have parameters with a comma separating them. The integration creates the following binary sensors: -- `Power State` is True when device is physically on. -- `Signal State` is True when device is receiving a signal from the source. -- `HDR Flag` is True when the device is receiving an HDR signal. This is useful to trigger automations based on the HDR flag such as changing projector settings. +- `Power State` is True when the device is physically on. +- `Signal State` is True when the device is receiving a signal from the source. +- `HDR Flag` is True when the device is receiving an HDR signal. This is useful to trigger automations based on the HDR flag, such as changing projector settings. - `Outgoing HDR Flag` is True when the device is sending an HDR signal. - -### Sensor - -The integration creates the following sensors: - -- `Incoming Resolution` -- `Incoming Frame Rate` -- `Incoming Color Space` -- `Incoming Bit Depth` -- `Incoming Colorimetry` -- `Incoming Black Levels` -- `Incoming Aspect Ratio` -- `Outgoing Resolution` -- `Outgoing Frame Rate` -- `Outgoing Color Space` -- `Outgoing Bit Depth` -- `Outgoing HDR Flag` -- `Outgoing Colorimetry` -- `Outgoing Black Levels` -- `Aspect Ratio Resolution` -- `Aspect Ratio Decimal` -- `Aspect Ratio Integer` -- `Aspect Ratio Name` -- `Masking Resolution` -- `Masking Decimal` -- `Masking Integer` - -These can be used for various purposes such as triggering your masking system based on the detected aspect ratio. \ No newline at end of file +These can be used for various purposes, such as triggering your masking system based on the detected aspect ratio. From df0745a8c1e99f032c146a11f935baf08e94fdee Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Mon, 8 Jul 2024 13:00:36 +0200 Subject: [PATCH 3/3] Tiny tweaks --- source/_integrations/madvr.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/_integrations/madvr.markdown b/source/_integrations/madvr.markdown index 94d50f581a17..4f822fd9cb17 100644 --- a/source/_integrations/madvr.markdown +++ b/source/_integrations/madvr.markdown @@ -5,7 +5,7 @@ ha_category: - Remote - Binary Sensor - Sensor -ha_release: '2023.6' +ha_release: '2024.8' ha_iot_class: Local Push ha_config_flow: true ha_codeowners: @@ -28,7 +28,7 @@ This integration supports all current madVR Envy models. ## Remote -The madVR Envy remote platform will create a [Remote](/integrations/remote/) entity for the device. This entity allows you to send the following commands via the [remote.send_command](/integrations/remote/) service. +The madVR Envy remote platform will create a [remote](/integrations/remote/) entity for the device. This entity allows you to send the following commands via the [remote.send_command](/integrations/remote/) service. The command structure uses the same keywords as the [official documentation](https://madvrenvy.com/wp-content/uploads/EnvyIpControl.pdf?r=113a) and simply sends the corresponding command to the device. Please refer to the official documentation for more details and usage.