A different DVR Schedule view

Ahh, good to know I'm not alone. Spent too much time on this today, will try a fresh start on it tomorrow.

@chDVRuser: Sorry this has been so difficult for you, and @tmm1: Thank you for helping out.

I'm going to attempt to create my first docker container for this tonight -- that should ease the pain for folks that can't dedicate as much time to these endeavors... will post back with the results.

Ugh. What Is Pip? A Guide for New Pythonistas – Real Python Hope I don't have to go down this road...

Probably worth adding a requirements.txt too

1 Like

This is now a Docker image, my github page has been updated...

1 Like

Thanks @ricm916

Now that I can actually use it, I really like it!

Nice to have a defined refresh (I'm using 600 seconds), otherwise by the time you scroll all the way to the
right the page refreshes and you're back at the upper left.

Also like the customizable color coded source devices.

Only have 2 suggestions.

Source Picker is displaying FriendlyName, but if someone has more than one (like HDHR tuners), they would need to know which one to pick. Suggest maybe display DeviceID or FriendlyName(DeviceID), like HDHomeRun PRIME(1323AADB).

Could you display the DAYS on the first row where the date changes. When scrolling (a lot) to the right, it's hard to tell at a glance where you're at (Day and Hour) in time.

Appreciate the feedback... FriendlyName(DeviceID) is a simple change... I didn't bother with putting the day and hour at the top, because hovering the pointer over any of the colored bars on the graph will pop up a tooltip showing the exact date and hours the bar represents... I will change the formatting on the date to include the day of week for easier reference... then look at labelling the top of the graph as a next step...

No need for that

That would be great

Don't know if this is a bug, but I've got two of your containers running, each looking at a different Channels DVR server. The time display is off to the right on one of them.
Screenshot 2022-01-09 at 11-57-23 Screenshot
Screenshot 2022-01-09 at 11-56-46 Screenshot

It appears you're overriding the assigned color scheme... in doing so, you're missing the reasoning for the time -- there's a vertical bar that shows you how far through each program the recording has progressed. As you change providers, and as time progresses, the time will move around indicating the current time relative to the program time. (See the last image I posted).

NO, just using Dark Reader.
Here's how it looks with Dark Reader off.
Screenshot 2022-01-09 at 12-18-24 Screenshot
Screenshot 2022-01-09 at 12-19-15 Screenshot

OK -- Dark Reader isn't inverting the vertical bar representing the current time (as of last refresh).

I updated the Docker image with the changes discussed... give it a try. I briefly looked into the formatting for labelling the top of the graph with dates/times, and unless I work out locking the header to the screen (which can be a browser support nightmare from what I've read), it will be useless, too... always having to scroll up to the top to see the date/time there. For now, I'm just going to leave it as is, relying on the mouse hover tooltip to identify the date/time...

The new docker image isn't working.
Seems to think my channels dvr is at 192.168.1.104, even though I set it correctly by passing the environment value in my docker run command. -e "channels=http://192.168.1.4:8089"

Error output ends with this
requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.1.104', port=8089): Max retries exceeded with url: /devices (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7fd1c18a2ad0>: Failed to establish a new connection: [Errno 113] No route to host'))

It appears the python script at your github site is different than the one in your docker image.
The one in the docker image uses

#------------------------------------------------------------------
try:
    channels_dvr = os.environ('channels', 'http://localhost:8089/') # where to find channels-dvr server
    if channels_dvr[-1] != "/": channels_dvr += "/"
    PORT = 80 # port this will respond on
    auto_refresh = str(os.environ('refresh', '30')) # number of seconds for html refresh meta tag
except:
    channels_dvr = 'http://192.168.1.104:8089/'#) # where to find channels-dvr server
    PORT = 80 # port this will respond on
    auto_refresh = '30'#)) # number of seconds for html refresh meta tag
#------------------------------------------------------------------

The one at your github page uses

#------------------------------------------------------------------
channels_dvr = os.environ('channels', 'http://localhost:8089/') # where to find channels-dvr server
if channels_dvr[-1] != "/": channels_dvr += "/"
PORT = 80 # port this will respond on
auto_refresh = str(os.environ('refresh', '60')) # number of seconds for html refresh meta tag
#------------------------------------------------------------------

Fixed it. Changed os.environ( to os.environ.get(

    channels_dvr = os.environ.get('channels', 'http://localhost:8089/') # where to find channels-dvr server
    if channels_dvr[-1] != "/": channels_dvr += "/"
    PORT = 80 # port this will respond on
    auto_refresh = str(os.environ.get('refresh', '30')) # number of seconds for html refresh meta tag

Sorry about that.... the code difference was a carryover from my local testing to my build enviroment. I pushed the correct code to github, but pulled the wrong code into my build. Didn't catch it, because the built Docker image worked correctly in my environment.

I've rebuilt and am reposting the correct images to Docker... give it a few minutes.

With this?

Yeah -- that's the correct code. copy/paste errors from notes while in a rush, while having been out of the development game for 6+ years definitely contributes to these kinds of errors...

Docker images have been updated...

:+1: Thanks, working again!
I'm sure you know your github still has os.environ() instead of os.environ.get()

Thanks -- actually hadn't caught that. I REALLY need to homogenize my development environment to stop these things from happening! Too many copies of code being edited... I thought I had pushed the correct code to github, but the push failed (without me catching that it failed) due to a manual change not being pulled down first. Ugh. I guess these are just growing pains...

1 Like

You may want to take a look at Toolbox, then.