I've got an HDHomeRun Prime here at home that I absolutely love, and since I'm a programmer, I've decided to poke around at the device's TCP interface with Go, to fetch and parse some of the information that can be retrieved by hdhomerun_config.
The eventual goal is to build a Prometheus exporter, so I can monitor my HDHomeRun along with many of the other network-connected devices in my home.
I'm having no problem fetching values from the device, but I am finding it difficult to discern the meaning of some of them. Thus far, I've been using the HDHomeRun Development Guide, but it appears it was last updated in 2011.
https://www.silicondust.com/hdhomerun/h ... opment.pdf
Let's start off with the output of "/oob/debug".
This appears to be the same output that is used for the CableCARD menu on the Prime's web UI. However, I'm curious as to how the web UI can produce a signal strength measurement in dBmV, and a quality with a unit of dB.
Code: Select all
$ hdhomerun_config 13252C05 get /oob/debug tun: ch=oob2048:75250000 lock=oob2048:75250000 ss=98 snq=100 dbg=-448/-2228
Also, does anyone have any idea what the two numbers in the "dbg" field mean?
Next, I have some questions about the tuner debug output (when tuned to a channel).
The "tun" line makes sense to me, other than the "dbg" member again.
Code: Select all
$ hdhomerun_config 13252C05 get /tuner0/debug tun: ch=qam:141000000 lock=qam256:141000000 ss=100 snq=100 seq=100 dbg=-392/-3639 dev: bps=38809216 resync=0 overflow=0 cc: bps=38810720 resync=0 overflow=0 ts: bps=3382496 te=0 crc=0 net: pps=336 err=0 stop=0
According to the docs, "dev" is for "device status". What is the device? The tuner? The HDHR itself? And what do "resync" and "overflow" mean?
At first I thought that "cc" might be "CableCARD" but I'm not sure. It also appears that the values for "cc" are identical for all tuners on the device.
"ts" is for "transport stream", so is this the raw stream being delivered from my cable provider?
Lastly, "net" is for "network status", so the network stream being sent from my HDHR to the device consuming it? I'm unsure what the "stop" value means, but I've noticed it changes to "4" when I stop a stream to my phone.
Obviously there's a lot going on here, but if anyone has more insight into any one of my questions, I'd greatly appreciate it. I'd like to document each of these values in the Prometheus exporter I'm building, so that they could be useful for someone who would like to monitor their device as well.
Thanks for your time.