Home Assistant Add-on: HyperHDR

I’ve created an add-on for HyperHDR. This is an alternative to Hyperion NG which includes real-time HDR tone mapping and multi-threading for better performance. If you’re interested, check it out: ihrapsa/hassio-addons: Home Assistant Add-ons (github.com)

Many thanks to bradsjm’s Hyperion NG Home Assistant add-on and scripts with which I managed to build the docker images and add support for HyperHDR as well.

Note:

This has only been tested with WLED driver and it works as expected but should work with other means of hardware as well.

About HyperHDR

HyperHDR is an open source Ambient Lighting implementation for television sets based on the video and audio streams analysis, using performance improvements especially for USB grabbers. Single and multi-threaded video processing optimization for Windows , macOS and Linux x64 & ARM (Raspberry Pi and others) for SDR/HDR streams captured by USB grabbers using pre-calculated LUT tables.

1 Like

This isn’t directly about the add-on but related…

Where do I find information on which stream input capture hardware is supported?

I didn’t find anything on your site or the original Hyperion site that talks about what to use to acquire the stream signal. It just talks about LED’s that are supported.

I’m not the developper of HyperHDR but regarding your question, depending on your setup and your preferences you can grab the stream signal in a few ways:
1. Capturing the screen of the device running the server (limited to what the device can play/encode etc. Running home assistant and playing content on the same pi is not at all recommended. A pi is not generally recommended as a reliable media center anyways )
2. USB capture card (DRM content can be captured but you need a splitter or a capture card with loop - I use a splitter (few more cables but easier to find ones that both support CEC and can bypass HDCP 2.2)). Generally, if linux has support for that capture card it should work with HyperHDR/Hyperion.
3. Android app (Hyperion Android Grabber) that captures the screen and sends it to Hyperion/HyperHDR server over network (Note: DRM content can’t be captured)

Here’s a link on the hyperhdr.eu blog that talks about USB grabbers

I’m currently using some cheap hdmi macro silicon USB capture card and I don’t notice any latency. Here’s a pic of it
Outside:
Screenshot 2022-03-21 at 17.39.10

Inside:

As for the splitter I use a Feintech VSP01204 but I’m not liking that pigtail hdmi input and the fact that you can’t configure it (no manual scaling switches or EDID switches - it does this automatically).

Alternatives with CEC on output 1, HDR support and HDCP 2.2:

  1. Ezcoo EZ-SP12HAS
  2. Ezcoo EZ-SP12H2PRO
  3. Feintech VSP01222
2 Likes

For anyone interested, I can also confirm that the EZCOO SP12HAS has working CEC while still allowing Dolby Vision to passthrough output 1. Worked out of the box without any tinkering.

1 Like

I am trying to apply a LUT file into home assistants file editor because my HDR to SDR tone mapping is not working correctly. It sais in the logs that it cannot find the lut file to be applied for the tone mapping. The problem is that the file editor will not let me upload .3d files in config/HA/hyperhdr. I am unsure of what I can do to achieve the proper tone mapping.

LOGS:

2022-06-17T14:45:44.589 V4L2:USB VIDEO: USB : LUT file is not found here: /config/hyperhdr/lut_lin_tables.3d
2022-06-17T14:45:44.590 V4L2:USB VIDEO: USB : LUT file is not found here: /usr/share/hyperhdr/lut/lut_lin_tables.3d
2022-06-17T14:45:44.590 V4L2:USB VIDEO: USB : LUT file is not found here: /usr/share/hyperhdr/lut/lut_lin_tables.3d
2022-06-17T14:45:44.590 V4L2:USB VIDEO: USB : Could not find any required LUT file

Hi,
Maybe you’re having issues with the samba/sharing add-on. I am able to upload files to /config/hyperhdr folder and the lut tabels are loaded:

I could not get my Samba share to work on my network. I will keep trying to figure it out. I thought that this HDR to SDR tone mapping stuff would be more automatic out of the box experience but for some reason it has not been.

If you’ve got feedback on the HyperHDR project maybe share it with the dev. I’m not the developper of the project, I just made the hass add-on for the project.

I think generating the LUT table will be more automated on the v18 which is still in beta.

I got Samba share working and successfully made it work! Thank you!

Do you know if the HD Fury Diva allows you to downscale Dolby Vision? On my apple TV would I be able to select dolby vision and have the colors appear in the usb grabber?

I haven’t used that but specs say it has a scaler on the hdmi out. In theory it should be able to loop the DV stream from the AppleTV back to the TV and the downscaled image to the grabber. However, to grab the HDR image you would need a yuyv capable capture card with USB3 (not mandatory but recommended for best performance)

When is V18 coming to home assistant?

Sorry for the late update. v18.0.0.0 is up.
Jonah

Sorry if I am missing something but how do I get the hyperdhdr instance into HA? Can it use hyperion integration? I got an error when trying

Hi, There’s a HyperHDR integration as well. I’m using this one through HACS

Thanks! I tried googling, couldnt find it, found the mqtt section in hyper-hdr, but didnt seem to wanna work

BUMP V19 is Out.

Just updated but not tested. Please report if there are any issues.

hi all,
im trying audio input but show only null

I’m trying to understand how all these DIY ambilight work and cannot get my head around it because every thread/guide I read says something different.

Based on what @jonah1024 said at the beginning of the thread:

  • USB capture card + splitter seems like the method most capable but also the most expensive.
  • Idk what case is the Android app for.
  • How does HA and this addon come into play within the set up? Does it save you from needing a capture card or a splitter? I just don’t get it.

Hey, the HyperHDR project doesn’t need Home assistant to work. This add-on makes it possible to run the HyperHDR server alongside HomeAssistant OS in a docker container.

There are several ways to have the DIY Ambilight setup:

Cheapest: ( No splitter, no capture card) - have a RaspberryPi or any hdmi device play media (through KODI for example). Setup HyperHDR alongside. HyperHDR will capture what is playing on the rpi and control the LEDs directly (GPIO) or wirelessly (WLED)

Cheap But with Compromise (No DRM content, only on Android TV, with lag if TV or Android TV box is not powerful enough) - have HyperHDR run on any remote device ( no need for splitter or capture card). The Android TV app captures the non copyright content and streams it to HyperHDR over the network. HyperHDR will then control the LEDs either directly through a GPIO or over the network to the WLED mcu

Most Expensive - Only option if you play content from a set-top box/ tv box (including DRM content): you need a hdmi splitter (NOT switch) able to mirror the content, and a usb capture card plugged into the rpi/device running HyperHDR. The capture will provide Hyper HDR with the colors to stream back to the LEDs (either directly or wirelessly - as described above)

Jonah

1 Like