Plex Notify

What fix was that for? Is it so we can use mysql instead of mssqlce?

Yeah I currently have 3 supported databases. I added Mysql support. This way you can have plex notify running on multiple computers using the same database. This configuration can be done with MySql or MsSql

Sent from my SM-N900P using Tapatalk

Yeah I currently have 3 supported databases. I added Mysql support. This way you can have plex notify running on multiple computers using the same database. This configuration can be done with MySql or MsSql

Sent from my SM-N900P using Tapatalk

Ok. It works with mysql server even with me setting it to use mssqlce in Plex Notify, but I assume thats not optimal?

Updated and swtiched to mysql. Deleted DB and recreated but still doesnt seem to work. Oh well, ima get some sleep too.

Ok. It works with mysql server even with me setting it to use mssqlce in Plex Notify, but I assume thats not optimal?


It's fine if you don't get a lot of traffic to your server. Also it limits you to a single install of plex notify. If you have a central database you can have 1 computer monitor the server and you can have other only for remote viewing of statistics and desktop notifications. The functionality will be expanded as alpha evolves to full server administration and more the list of planned features on codeplex.

I suggest you use a central database if you can. The msSqlCE is limited to 4 gb and was not made for high traffic servers. Also having plex notify installed on multiple computers is awesome :)

Ok. It works with mysql server even with me setting it to use mssqlce in Plex Notify, but I assume thats not optimal?


Setup instructions
https://plexnotify.codeplex.com/wikipage?title=Setup

This is just great. Really really great!


Sent from my Nexus 4 using Tapatalk

Lol please tell me someone has Mysql working. Mine seems to be working fine.


Sent from my SM-N900P using Tapatalk

I am happy to announce that Plex Notify is an official Pushalot application now! https://pushalot.com/sources 

That is great news, and the Pushalot notifications work great on both my Surface and WP8!

Snow day off of work! Guess who’s working on Plex Notify all day!


Sent from my SM-N900P using Tapatalk

Small issue: The checkbox for sending an email to a specific user is permanently marked as checked.

Small issue: The checkbox for sending an email to a specific user is permanently marked as checked.


Yeah it's disabled because it doesn't do anything yet

Sent from my SM-N900P using Tapatalk

I see, Perhaps it would be best to grey it out.

I looked in the upcoming feature section in codeplex but didn't see a plan to implement TV shows (or all other media types for that matter) as a seperate entity in statistics. That could be nice :)

I see, Perhaps it would be best to grey it out.

I looked in the upcoming feature section in codeplex but didn't see a plan to implement TV shows (or all other media types for that matter) as a seperate entity in statistics. That could be nice :)


I'm working on those as we speak

Sent from my SM-N900P using Tapatalk

Sorry for the delay,(had to sleep too lol)

0.0.0.12

YES!!!! MySQL works fine now!!!  :D  :D  :D  Excellent job!

I didn't recreate the database.

Tested some notifications, etc.. All good so far.

I'll do more tests today.

***BTW, I really tried and never was able to fix the MyPlex connection issue still on Windows 2008 R2 server:

 
    Application started.
 
 
    Length cannot be less than zero.
Parameter name: length
      at System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy)
   at PlexNotify.MyPlexFactory.AddPlexHeaders(RestRequest request)
   at PlexNotify.MyPlexFactory.Authenticate(String username, String password)
   at PlexNotify.MyPlexFactory.MyPlexLogin()
   
   
 
Thanks for you hard work man!

Sorry for the delay,(had to sleep too lol)

0.0.0.12
YES!!!! MySQL works fine now!!! :D :D :D Excellent job!

I didn't recreate the database.
Tested some notifications, etc.. All good so far.
I'll do more tests today.

***BTW, I really tried and never was able to fix the MyPlex connection issue still on Windows 2008 R2 server:
PlexNotifyLog>

Application started.


Table 'servaraliases' already exists
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery()
at PlexNotify.Databases.MySqlDB.RunQuery(String sql, Dictionary`2 sqlParameters)




Specified cast is not valid.
at PlexNotify.DatabaseHelper.RegisterClientWithDatabase()
at PlexNotify.MainWindow..ctor()




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)




Table 'plexnotify.user' doesn't exist
at MySql.Data.MySqlClient.MySqlStream.ReadPacket()
at MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId)
at MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force)
at MySql.Data.MySqlClient.MySqlDataReader.NextResult()
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader()
at PlexNotify.Databases.MySqlDB.RunReturnQuery(String sql, Dictionary`2 sqlParameters)





Thanks for you hard work man!


It sounds like you are on a old version of plex notify on your server. What version of plex notify is the server running?

Sent from my SM-N900P using Tapatalk

It sounds like you are on a old version of plex notify on your server. What version of plex notify is the server running?

Sent from my SM-N900P using Tapatalk

I corrected my post, wrong log (this was the old logs with old issue that is resolved now)

https://forums.plex.tv/topic/93952-plex-notify-in-development/page-15#entry572249

Also, I was able to use two PC with Plex notify on same MySQL database and see the same stats but still unable to use this option:

2014-02-05%208-28-25%20AM.png

Also, I was able to use two PC with Plex notify on same MySQL database and see the same stats but still unable to use this option:
2014-02-05%208-28-25%20AM.png


Om I'll fix this bug in today's show update.

Sent from my SM-N900P using Tapatalk

I'm not sure what's possible for you but I would add some of the settings in the SQL database to centralized them also:

-Users (with their friendly name, email, toggles, etc...)

-PMS server IP/name

-MyPlex credentials

In my mind, when having multiple Plex Notify on the same SQL database, user shouldn't be able to configure PushOver, Prowl, etc... separately, this should be exclusive to primary one (secondary ones should have those disabled automatically

Just think it could get confusing not giving exclusivity to those features only to main one.

But, I'll wait for your fix first to actually really test this because now I'm talking theory until I actually test this concept.

***This is really coming together man, you are the man!

I really gave a good testing to PlexWatch (and Plexwatch Web) and it works but IMO, there are too many custom configuration with config in file, scheduled task settings, WebServer, etc... Just seems alpha too much for me. (just my personal opinion BTW)

You really understood the Plex community need in this area when starting this project; I really think this project will go very far with future web interface, plugins, etc...

I am enjoying spying on my plex users in realtime. Such a great program. Great work!!

I'd like to suggest a feature that should be quite easy to implement - for someone with the knowhow. 

Sending a customisable Global Notification Message to users that are currently watching something. Similar to what Sickbeard and CouchPotato do.

For giving warnings that the Server is about to reboot or undergo maintenance etc.

And, if it is possible, being able to send similar messages to individual Users as well. 

No rush, just thought it'd be a great addition, if it is even possible. ;)

 

I really think this project will go very far with future web interface, plugins, etc...

+1! 

I'm not sure what's possible for you but I would add some of the settings in the SQL database to centralized them also:

-Users (with their friendly name, email, toggles, etc...)

-PMS server IP/name

-MyPlex credentials

In my mind, when having multiple Plex Notify on the same SQL database, user shouldn't be able to configure PushOver, Prowl, etc... separately, this should be exclusive to primary one (secondary ones should have those disabled automatically

Just think it could get confusing not giving exclusivity to those features only to main one.

But, I'll wait for your fix first to actually really test this because now I'm talking theory until I actually test this concept.

***This is really coming together man, you are the man!

I really gave a good testing to PlexWatch (and Plexwatch Web) and it works but IMO, there are too many custom configuration with config in file, scheduled task settings, WebServer, etc... Just seems alpha too much for me. (just my personal opinion BTW)

You really understood the Plex community need in this area when starting this project; I really think this project will go very far with future web interface, plugins, etc...

These are already stored in the central database. if this is not working you have 2 databases. 

-Users (with their friendly name, email, toggles, etc...)

-PMS server IP/name

I have considered this but I have not put the logic in for it 

In my mind, when having multiple Plex Notify on the same SQL database, user shouldn't be able to configure PushOver, Prowl, etc... separately, this should be exclusive to primary one (secondary ones should have those disabled automatically

Just think it could get confusing not giving exclusivity to those features only to main one.

The Web plugins are coming this weekend with full doc. Just as an idea of what im going to do it there will be an Index page like http(s):\\*ip:*port*\

In the index will have a list of all the plugins and their url's will be custom to what the plugin name is and then the page name (or alias). so, something like *root url*\pluginname\mypluginIndex 

the plugin interface for this will have a lot to offer and will have access to all the functionality of the desktop application.