Custom Integration: HDHomeRun

Amazing update. I’ve just installed the beta and provided a path to the logos. When I tune a channel, the logo changes to an empty space but doesn’t show the actual logo. I’ve used the path format specified in the readme.

Is it looking for png files? Also, are the file names case sensitive?

Yup. They should be the channel names in all lowercase. So in my case I put /local/update_icons in the configuration options for the path. I had a file in there named bbc two.png and that is what was displayed.

I think I was being impatient, it was possibly still downloading the images. I’ve just tried it again and it’s working perfectly.

Great update, thank you!

1 Like

2022.3.2 is now out as there was no additional work needed on the betas.

1 Like

@uvjim any chance of a Buy Me A Coffee link (or similar) so I can properly thank you for your efforts?

I do not. As cheesy as it may sound, the fact that someone else is getting use out of it is enough for me.

Oddly enough I really don’t use the HDHomeRun devices as much as I should (I have a Connect and a Quatro). I may have to start using them more now.

I only built this as I’ve been trying to get HASS to be a central place of telling me about updates that are needed at home. :slight_smile:

Thanks for the offer though. It is much appreciated.

2 Likes

Have also found that if you update the version of auto-entities to 1.10.0 and above you can use the following: -

type: custom:auto-entities
card:
  type: entities
filter:
  include:
    - domain: sensor
      integration: hdhomerun
      entity_id: /tuner\d+$/
2 Likes

I have not been able to get this to work, it may be an issue with my older HDHR and it’s firmware.

Silicondust HDHomeRun®

Model: HDHR3-DT
Device ID: 11111A74
Firmware: 20110414

In logs there is somethingabout not being able to find discovery.json (sorry my logs seem to have gone crazy, so there is more wrong than just this!)

Oh dear. I thought I had really old firmware on one of my devices (from 2018) but yours looks like it’s from 2011. That firmware isn’t even listed on the SiliconDust website.

Did you have any sensors for your device before trying this integration? I know some people had been using template/REST sensors.

I’ve had a think on this in the last few minutes…

Currently the HDHomeRun devices are found automatically using SSDP or you can manually add them.

In both cases I try and parse the discover.json file on the device to get basic information.

Now, your device doesn’t support automatic discovery as far as I can tell. Not withstanding I’m hoping we can do something with it.

SiliconDust provide an online version of discovery mind you. Could you try http://my.hdhomerun.com/discover in a browser. I’m hoping it’ll return a JSON object of info for your device. If it does, I could try local and fallback to online to see if progress can be made.

Example if what I see for mine…

2 Likes

Thanks I’ll look at that.

I get a json reply but HA is still not finding my device.

Could you post the JSON at all so I can see what is happening? Are you seeing the same issue as @nickrout?

http://ipv4-api.hdhomerun.com/discover returns []

Hmm… Well that doesn’t help much apart from letting me put a belts and braces decision in.

Have you been able to get information into sensors before using any other means?

This is a fantastic integration, and allows me to achieve my very specific automation needs. Thanks so much!

2022.4.1 is out: -

  • added support for the update entity in HASS 2022.4.x - when you upgrade to a version that has the update entity available the integration will remove the two version sensors and the binary sensor which shows an update is available
  • general code tidy
  • README updated
1 Like

Been looking at this a bit more now…

Does your device respond to the hdhomerun_config app provided by SiliconDust?

Late response sorry. What device do you have and what was the response?

It’s been a while since I wrote the integration and thought the easiest route to getting something up and running was to stick with the HTTP API. That proved true but as you can see from the thread there was a few people with devices that didn’t support the HTTP API.

Anyway, I decided to take a look at the UDP discover and TCP control protocol provided by Siliciondust (see here for more info). I have now implemented this in Python so that the integration should now be able to discover and interact with any device that has implemented that protocol.

The integration has pretty much been rewritten to cope with this. However, I’ve tried to do it in such a way that existing users won’t notice any difference (in fact I’ve test on my system and everything just carried on as before).

With that said 2022.5.1b0 is out in HACS now. (you will need to enable beta releases in HACS)

Hopefully @nickrout and @rlust should now be able to use the integration if you want to.

Considering this is quite a big rewrite, I’ll be interested in any feedback. The TCP control protocol doesn’t seem to give me all the information that the HTTP API does but it could just need a little more poking to find what I need.

Again, any feedback gratefully received.

Edit: P.S. you may also have noticed I’ve snuck a logo into the brands repository.

1 Like