plexWatch/Web - A web front-end for plexWatch

Would there be any way to manually insert images for the user icons? :) I´m the only one that uses gravatar, just wondering if I could liven things up.

To be pushy and put things on the "I-would-like-to-have" list, I could really use some collected/aggregated data. To be precise, I would like to see total number of files played and total playtime, in daily/weekly/montly charts. Expandability of the Top lists down to the least played files could also come in handy, to decide what to delete when I´m running out fo space.

But thanks again for this, this is my new favourite stat page to display on my server monitors at home! 

Other than you writing if statements to check for each username I'm not sure how you could set static images for each user since that data is pulled dynamically from PMS. The users.php page is more of a placeholder at this point and will become something more useful in a future version. The gravatar images may even be removed from that page and only used on the user.php profile section.

Server total stats has been requested already and it will be added at some point. The top 10 least played items can be done but it will only account for actual stats of played content and not files that have never been played so I'm not sure how useful that is, especially in large PMS databases.

I have "Require authentication on local networks" set on in plex and if i do that plexWatchWeb doesn't work.

Also, I have tried to enter the ip address of the plexWatchWeb server in the "List of networks that are allowed without auth" but when I do that plex/web automatically removes the checkbox for "Require authentication on local networks".

Is this a known issue?

This again relates to there currently not being myPlex authentication support for plexWatch/Web. This will be addressed in a future version but for now yes, the checkbox will auto uncheck if you alter the "List of network that are allowed without auth". Make sure you have the correct ip address and subnet mask not only for the plexWatch/Web server but any device that will access plexWatch/Web and it should work fine. All images are directly fed from PMS to the user, not plexWatch/Web.

Thanks for the feedback.

  1. This was answered already and is a known limitation at this time
  2. hthighway answered this for us. 
  3. I am aware of this and an issue has been filed to re-design the charts in a future update to plexWatch/Web
  4. When you say play time I assume you mean duration? If so, duration is a calculated length of time that includes the subtraction of any paused length of time. This was intentional to subtract the paused time from the duration. If you find it more useful to leave that in the duration I can file an issue to offer a user selectable option in a future update.
  5. Total Plays/Time viewed stats or something more?

Thanks eleese. 

  1. Going by your explanation, I changed my pmsIp in the plexWatchWeb config to my local IP (192.168.X.X) and it resolved the issue for me without the other changes. This made images show within my LAN, which is enough for me. 
  2. Thanks hthighway, worked instantly. Perhaps to avoid confusion, if there is no Gravatar icon associated with the main plex account, the icon will default to the same icons as the others rather than the Gravatar error icon (as seen in earlier screenshot)
  3. Great
  4. Yes I mean duration. I'll test again but it seemed to me that the subtraction of the paused time was not happening. Having it subtracted is definitely the route to go, no need for you to make any change. I'll see if it was my mistake or an actual bug. 
  5. Personally, I would just want total duration in the same format that you have it in the User stats. Plays is a bonus.

This again relates to there currently not being myPlex authentication support for plexWatch/Web. This will be addressed in a future version but for now yes, the checkbox will auto uncheck if you alter the "List of network that are allowed without auth". Make sure you have the correct ip address and subnet mask not only for the plexWatch/Web server but any device that will access plexWatch/Web and it should work fine. All images are directly fed from PMS to the user, not plexWatch/Web.

Yes it does work when I enter all the ip address in the "List of networks that are allowed without auth", but the problem is, like you pointed out, that it allows anyone to use plex without having to log into a myplex account.

I'm using the "require auth" feature as a sort of parental control. 

So I will have to wait until that future version.

Thanks eleese. 

  1. Going by your explanation, I changed my pmsIp in the plexWatchWeb config to my local IP (192.168.X.X) and it resolved the issue for me without the other changes. This made images show within my LAN, which is enough for me. 
  2. Thanks hthighway, worked instantly. Perhaps to avoid confusion, if there is no Gravatar icon associated with the main plex account, the icon will default to the same icons as the others rather than the Gravatar error icon (as seen in earlier screenshot)
  3. Great
  4. Yes I mean duration. I'll test again but it seemed to me that the subtraction of the paused time was not happening. Having it subtracted is definitely the route to go, no need for you to make any change. I'll see if it was my mistake or an actual bug. 
  5. Personally, I would just want total duration in the same format that you have it in the User stats. Plays is a bonus.

Can you tell me what the image url link is for your missing gravatar icon? The code is written that if that field is empty it should populate it with the default icon so I'm curious what yours is linking to.

Can you tell me what the image url link is for your missing gravatar icon? The code is written that if that field is empty it should populate it with the default icon so I'm curious what yours is linking to.

Unfortunately, in order to go back and test that I'd need to delete my Gravatar account but I can't seem to find a way to do that. 

Does this really need to run on the same machine as PlexWatch?
 
Cause I've got a PMS server with PlexWatch running on that same server. 
 
Now I want to use PlexWatchWeb on my apache webServer (other server). I added the PlexWatchWeb folder to my wwwroot, and added the PMS details in the config.php. Then I copied plexWatch.db to the webserver c:\  (just as a test, as I understand that it can offcourse not find it remotely) and pointed $plexWatch['plexWatchDb'] to the file.
 
Nothing. The main page is working (can see online status stuff), but that's it. Nothing else is working. Isn't the plexWatch.db supposed to be static? So copying it should work, I would think? 
 
But the other pages (history, users, charts) just stay blank. What am I doing wrong here?
 
Thanks.

Does this really need to run on the same machine as PlexWatch?

Cause I've got a PMS server with PlexWatch running on that same server.

Now I want to use PlexWatchWeb on my apache webServer (other server). I added the PlexWatchWeb folder to my wwwroot, and added the PMS details in the config.php. Then I copied plexWatch.db to the webserver c:\ (just as a test, as I understand that it can offcourse not find it remotely) and pointed $plexWatch['plexWatchDb'] to the file.

Nothing. The main page is working (can see online status stuff), but that's it. Nothing else is working. Isn't the plexWatch.db supposed to be static? So copying it should work, I would think?

But the other pages (history, users, charts) just stay blank. What am I doing wrong here?

Thanks.


I'm on the road ATM so this reply will be brief. My first guess is that your plexWatch instance is not up to date.

- Are you running plexWatch v0.1.0 or above?
- Your apache instance may not have display php errors enabled so check your apache log for more details too

Ah, thank you. Found my php error log in php.ini  and opened up that one. (i was looking in my apache error log before) 

I got this:

Class 'SQLite3' not found in

So that's clear, need to enable SQLite3 in apache/php. No time for that now, gonna check later. Thanks.

Yes it does work when I enter all the ip address in the "List of networks that are allowed without auth", but the problem is, like you pointed out, that it allows anyone to use plex without having to log into a myplex account.

I'm using the "require auth" feature as a sort of parental control. 

So I will have to wait until that future version.

I wanted to followup on this post;

I have plexwatch and plexwatchweb running on a VM that is hosted on my PMS machine.

I also have "require auth on local networks" enable in my PMS settings

To get this to work on my local net as well as outside my net I did the following

In the allowed networks I have the following:

127.0.0.1/255.255.255.255,192.168.1.161/255.255.0.0

The second IP listed is the internal IP address of the VM running plexwatch and plexwatchweb.

With it setup like this I can view the plexwatchweb page from any PC on my home network.

When I am outside my network I have configured my router to port-forward the address so I can see it as well.

The only issue with it this way is that any movie artwork does not display when I am outside of my network.

This is fantastic!  Exactly what Plex should have out of the box, so thanks for your efforts!

I have a request--would it be possible to have an option to utilize the friendly names configured within plexWatch? 

Thanks again!

I had a thought for an additional column on the History page.

Next to the IP Address how about showing the location of that address (helpful with external IP's of remote users)

Something http:ipinfo.io  will return such info:

$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
echo $details->city; // -> "Mountain View"

The complete array returned would be as follows:

{
    "ip": "000.000.000.00",
    "hostname": "anyhost",
    "city": "anycity",
    "region": "California",
    "country": "US",
    "lists": [],
    "loc": "75.0881,-115.4648",
    "org": "AS7132 AS for SBIS-AS",
    "postal": "90210",
    "phone": 000
}

Edit:

Alright, I tried my github skills and wrote a modified history.php file to a new branch called patch-1

I had a thought for an additional column on the History page.

Next to the IP Address how about showing the location of that address (helpful with external IP's of remote users)

Something http:ipinfo.io  will return such info:

$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}"));
echo $details->city; // -> "Mountain View"

The complete array returned would be as follows:

{
    "ip": "000.000.000.00",
    "hostname": "anyhost",
    "city": "anycity",
    "region": "California",
    "country": "US",
    "lists": [],
    "loc": "75.0881,-115.4648",
    "org": "AS7132 AS for SBIS-AS",
    "postal": "90210",
    "phone": 000
}

Edit:

Alright, I tried my github skills and wrote a modified history.php file to a new branch called patch-1

Nice work! A similar request was submitted last week sometime which I have already written into the upcoming next release. It will actually be part of the user page and provides:

- a list of all known public IP's for that user (private IP's are filtered out)

- the date each IP was last seen

- the geo location city and state along with a link to google maps

- ISP information for that IP

I may consider adding the city, state to global history but I will end up labeling private IP's as "n/a" I suppose and it is getting a little busy in each row. This is another good reason to fork the project and personalize it for yourself though! Thanks for sharing. :)

- a list of all known public IP's for that user (private IP's are filtered out)

- the date each IP was last seen

- the geo location city and state along with a link to google maps

- ISP information for that IP

I like all of that !

This is fantastic!  Exactly what Plex should have out of the box, so thanks for your efforts!

I have a request--would it be possible to have an option to utilize the friendly names configured within plexWatch? 

Thanks again!

Glad to hear you are enjoying plexWatch/Web. :)

We do have an enhancement request for this feature created and are looking into what will be required to make it easily usable. Stay tuned...

I, nor my friends, like another I saw post here, do not use Gravitar.

When you enhance plexWatch/Web to use myPlex logins, could you also tie in forum profile avitar, if they exist?

Or at least add the options of gravitar, forum, generic, custom, none.

Just some thinking cap ideas.

Gotta say.... Installed plexWatch and thought to myself........

Now thats a tough act to follow!

Well you sir have made something fantastic even better.

Nicely Done!

Gotta say.... Installed plexWatch and thought to myself........

Now thats a tough act to follow!

Well you sir have made something fantastic even better.

Nicely Done!

Thank you sir for the many kind words, it made for a great Friday afternoon! :D 

We have some nice feature enhancements in the works to hopefully improve upon what's already available so stay tuned.

I, nor my friends, like another I saw post here, do not use Gravitar.

When you enhance plexWatch/Web to use myPlex logins, could you also tie in forum profile avitar, if they exist?

Or at least add the options of gravitar, forum, generic, custom, none.

Just some thinking cap ideas.

Thanks for the feedback. I can't guarantee I can provide this feature but I just had the idea of bundling this option with the friendly user name and platform grouping enhancement request. I think it makes a lot of sense to manage each user profile avatar here along with the username/platform etc.

I haven't investigated yet but I have doubts about having access to plexapp forum avatars so the options may just include gravatar and "custom" where you would provide your own image and perhaps upload it via a form input.

eleese do you have any idea when you will release this with myplex support on master git? cant wait for it :P