Thank you for your continued effort on this!
No problem. I thought it needed some love again.
There were no complaints from the beta release so 2023.4.1
has now been released. Details as per: here
@uvjim are you running the 2023.6.x version of HA Core yet? With that version, all of the entities except for the tuner count, reset button and tuners themselves are unavailable.
These are the only records in the logs:
Error fetching hdhomerun_tuner_status_12313041 data: Device not found ([ip address redacted])
_async_data_coordinator_tuner_status_update (12313041) --> Device not found ([ip address redacted])
Forced update failed. Entity update.hdhomerun_hd_homerun_update not found.
The device itself is still working and its IP address has not changed (DHCP reserved).
I have one of the betas running as Iāve just been moving the development environment over to docker. I havenāt tested this integration in it yet mind you.
Iāll take a look today.
Absolutely no rush. Iāll do some digging and more restarting in the meantime.
Iāve had a quick look and there is something funky happening in the new versions of Home Assistant. Iāll have a look when I get time as there seems to be some issues around translations for the Config Flow as well. When I add a new device it defaults to using the UDP method to poll the tuners and fails the HTTP method even though it should be available. Iāll dig in a little deeper when I get the time.
UPDATE: if you need it the main branch should have a fix for devices that are in HTTP mode. Iām still looking into what is happening with the config flow.
UPDATE 2: turns out the Config Flow problem was between keyboard and seat. There is another update that I need to put in and then I should have a release out for you.
2023.6.1
of this integration has now been released which should address the issue you reported @WhimsySpoon.
Working perfectly now, thank you!
Is HTTP preferable over udp for these devices? I think mine is operating in http mode.
The discovery should be automatic. Putting SSDP discovery aside, when you add the integration, whether you provide an IP address or not, itāll use UDP to ensure the tuner is there. The discovery process then checks to see if the tuner can be reached using HTTP. If it can can, it should use HTTP for all future things.
When using HTTP mode there are more entities available to you as the integration can gather more information from the HTTP API.
You can find which mode youāre in by looking at the device in Home Assistant (I decided to put the mode in there - see below).
Not all tuners have the HTTP API available, I donāt have any of those, but have hopefully made it so they can still be used - I did my testing by stopping discovery from attempting HTTP querying.
Hopefully that explains a bit more about how that process works.
As a side note, I now know why the issue you saw occured, it was down to the bump in Python version to 3.11 and the way the HTTP API URLs were being built. They should be fine now for all versions of Python but, Iāll leave a note in the code to switch to the built-in StrEnum
(now standard in 3.11) at some point in the future. It was this PEP that did it: PEP 663 ā Standardizing Enum str(), repr(), and format() behaviors | peps.python.org
Thank you for the detailed explanation, that all makes sense. Mine is reporting HTTP so Iām pleased itās using the preferred one!
Thank you again for all of your efforts on this.
Thank you very much for this integration and the Lovelace card code! I have it installed on my HDHomeRun DUO and it works great! I have one question: what size should I make the icon files? I have been messing around with 256x256 and other sizes, and canāt seem to get one that fits properly.
Thank you again!
I donāt use that functionality Iām afraid. The size would be dependant on which card you were using and how it frames that in the location for the picture.
AHA!
Thank you for the prompt reply!
I keep learning about HA, even after 2+ years using it. I suppose the icon representation will also depend on how Lovelace shrinks the card to show multiple columns. Back to the drawing board!
Thank you!
Iāve been looking for a way to quickly tune my TV to a certain channel. Is that possible with this?
Example, I know at 8:00 tonight thereās a show on Fox I want to watch. At 7:59 I sit down and trigger an automation (trigger doesnāt really matter what it is) but then it turns on my Roku TV and navigates to the hdhomerun app (easy to do), and then this integration tunes to Fox and it starts playing on the Roku app.
Is that possible? Any thoughts on how to do that?
It seems the only control this app has is to reboot or scan channels (how often are you all doing that?) But maybe Iām missing something.
Thank You
Thanks for this nice integration. It was super easy to implement it.
Iām using it with HD Home Run Quattro and is it nice to see it is up to date and how many channel are used.
Does this no longer work?
* Unexpected exception importing platform custom_components.hdhomerun.binary_sensor
* Unexpected exception importing platform custom_components.hdhomerun.select
* Unexpected exception importing platform custom_components.hdhomerun.sensor
* Unexpected exception importing platform custom_components.hdhomerun.update
I havenāt updated to the February release yet, but itās still working for me under HA Core 2024.1.6. Maybe the Python 3.12 version change in 2024.2.0 has broken something if youāre running the latest release?
I think mine has been broken for a while now.
I have it running here on HA Core 2024.2.1
and integration version 2024.1.1
without any issue.