Je cherche un projet qui ajoute la fonction au serveur Plex d'exécuter un script au lancement d'un film par exemple.
Il y a le projet plexWatch qui permet de recevoir des notifications (push, email , ...) au lancement d'une vidéo par exemple, mais il ne sait pas générer des requêtes http ou lancer un script. Son fonctionnement est basé sur l'interrogation du serveur Plex toutes les 30s par exemple et envoie une alerte sur la lecture d'une video.
Je cherche à savoir s'il existe un projet de ce style avant de me lancer dans des modifications de code du projet plexWatch.
À ce niveau, on est assez limité par rapport aux possibilités de XBMC. Dès qu'il faut interfacer Plex à un système domotique, c'est la galère par rapport à XBMC. Les API sur le serveur Plex existent. Mais il y a de fonctions pour informer une application externe qu'il a lancée une action.
Il serait peux être interessant de monitorer le traffic entre Plex Media Serveur et le Web Media Manager car j'ai remarqué que lorsque le serveur s'arrête, le Media Manager en est aussitôt informé (dans la seconde même). Il y a aussi maintenant la partie "Activité" du Media Manager qui réagit instantanément à ce qui est en cours de lecture...mon impression est qu'il y a de nouvelles API non documentée proposant exactement ce qui est recherché dans ce post.
Vu que cela m'interesse également, je vais y jeter un coup d'oeil un de ces soirs.
Je teste actuellement pas mal de choses afin d'intégrer ma eedomus avec plex. Et voici mon retour :
- PlexNotify : application en plein développement avec bcq de nouveautés annoncées dont l'intégration des mails, des réseaux sociaux et des notifications sur l'ajout de nouveaux médias.
Cela fonctionne sous windows. J'ai donc mis en place growl. J'ai également ajouté la fonctionnalité twitter via growl. J'ai ensuite paramétré PlexNotify pour les nofications et ajout de hashtags en fonction de l'utilisateur qui lance le média.
Cela me push un tweet via growl. Ensuite sous IFTT j'ai mis en place une config à partir d'un wordpress installé afin de lancer une commande http ...
Ca fonctionne mais bonjour le temps de latence ... Bref je suis allé jusqu'au bout mais c'est pas viable.
J'ai demandé au développeur l'ajout de la fonctionnalité avec appels http. Il n'est pas contre. Le coté positif est que PlexNotify peut scruter les lancements de média à quelques secondes prêt.
- PlexWatch + PlexWatchWeb : installés dans une vm linux, fonctionne pas mal et est très séduisant avec le front web. Par contre un crontab sous linux ne peut se lancer que toute les 1 minute minimum.
Il faut ensuite trouver une astuce pour envoyer une requete http. Je vais experimenter l'installation sur mon mac car dans ce cas on peut baisser la fréquence à quelques secondes également.
Ensuite un script via une règle dans mail permettrait de récupérer l'info et de lancer directement une requete http.
Pour avoir testé pas mal de box dont la HC2, je peux te dire que l'eedomus est une box qui marche vraiment bien !
Je vais voir pour l'installation sur mac :)
On m'a parlé aussi d'interfacer Eventghost sur un autre fil ... il faut que je teste. Je pense qu'on est pas loin et avec les approches plexwatch et plexnotify on va bien finir par trouver une solution :)
Proposition d'une autre approche : ne serait il pas possible de scruter les logs du PMS pour detecter certains evenements ? Cela permettrait de ne pas trop solliciter le serveur Web avec des requetes HTTP
Moi j'ai de mon coté approffondi le fonctionnement du Media Manager. En fait ce dernier est basé sur un certain nombre de modules javascript dont entre autre Backbone.Babysitter.
Ce module permet de faire de l'échange de données avec le serveur sur base de connexion fixe du type Restful. Des que les données DOM de la connexion changent, elles sont automatiquement répercutées dans le Media Manager, c'est ce qui permet à ce dernier d'afficher instantanément les events qui se produise sur le serveur.
Voila pour le concept...maintenant il ne reste plus qu'a reproduire ces échanges dans une petite application qui ne traiterait que les events qui nous interesses....enfin quand je dis "il ne reste plus que à", c'est loin d'être simple a faire...mes connaissances Javascript sont nulles, je ne connais qu'un tout petit peu le python (et dans un tres loin passé du C, C++, Turbo Pascal et même Cobol)...hors ca ne semble pas simple à faire une implementation Restful en python...je creuse encore le sujet et vous tiens au courant.