Rechercher dans la communauté
Affichage des résultats pour les étiquettes 'plex'.
3 résultats trouvés
-
Quick App - Plex Voici un QA pour avoir les informations de la lecture en cours sur un lecteur Plex. Il est simple d'emploi. Il faut entrer l'IP du serveur Plex, le port et son Token. Pour connaître son Token, suivez le lien officiel Plex : https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/ Le QA donne aussi bien les données sur les films que sur les séries (Type de média, Titre+tagline, Acteurs, Durée, Année de sortie, format audio sélectionné, Résumé). Vois pouvez ajouter assez facilement des données supplémentaire si vous le souhaitez. -- QuickApp pour le lecteur multimédia Plex -- Generic Device -- HISTORIQUE -- L'idée de départ vient du forum www.domotique-fibaro.fr et du Virtual Device PLEX adapté de Christophe Lemoine -- http://www.domotique-fibaro.fr/index.php/topic/1692-plex-films-en-cours-de-lecture/ -- Qui est lui adapté du Virtual Device de rls46 (forum officiel) -- https://forum.fibaro.com/topic/18780-plex-virtual-device/?tab=comments#comment-67777 -- HC3 Version: -- V1.0 (29/05/2020) QuickApp pour le lecteur multimédia Plex pour Home center 3 par fredokl et Maxime pour le site www.domotique-fibaro.fr -- V1.1 (05/06/2020) QuickApp pour le lecteur multimédia Plex pour Home center 3 par fredokl et Maxime pour le site www.domotique-fibaro.fr -- Problème avec la variable "Token". Suppression de la variable -- Le Token doit être mis directement dans "function QuickApp:connectPlex()" ==> ["X-Plex-Token"] = "votre Token", -- Utilisation: -- Remplir les variables "IPAddress", "TCPPort" & "Token" avec votre IP, le port et le Token -- Changer l'ID de votre icône -- Vous pouvez le modifier et l'améliorer à votre guise. -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- -- PARAMÈTRES -- -------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:onInit() __TAG = "QA"..plugin.mainDeviceId.."_PLEX" self.ip = self:getVariable("IPAddress") self.port = tonumber(self:getVariable("TCPPort")) self.http = net.HTTPClient({timeout=3000}) self:updateProperty("deviceIcon", 1051) -- ID de votre icône à mettre ici self:trace("===========================================================") self:debug("onInit") self:refreshAuto() end -------------------------------------------------------------------------------------------------------------------------------------- -- CONNECTION PLEX -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:connectPlex() local address = "http://"..self.ip..":"..self.port.."/status/sessions" self.http:request(address, { options = { headers = { ["X-Plex-Token"] = "votre Token", ["X-Plex-Client-Identifier"] = "myPlexApp", ["Accept"] = "application/json", }, method = "GET" }, success = function(response) plexdata = json.decode(response.data) --self:debug(response.data) self:videoData(plexdata) end, error = function(err) self:debug("Error: " .. err) end } ) end -------------------------------------------------------------------------------------------------------------------------------------- -- DECODE AUDIO FORMAT -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:textAudioFormat(text) local translate = { aac = "Dolby Digital", ac3 = "Dolby Digital", dca = "DTS" } if text then text = translate[text] end return self:normeText(text) end -------------------------------------------------------------------------------------------------------------------------------------- -- DONNÉES FILMS & SÉRIES -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:videoData(plexdata) local metaDataInfo local media local audioCodec local duration local summary local year local title local role if tonumber(plexdata.MediaContainer.size) > 0 then metaDataInfo = plexdata.MediaContainer.Metadata[1] media = metaDataInfo.librarySectionTitle audioCodec = metaDataInfo.Media[1].audioCodec duration = self:convertTime(metaDataInfo.duration) summary = metaDataInfo.summary -- Titre Films ou Séries if media == "Films" then title = metaDataInfo.title.." - "..metaDataInfo.tagline year = "Année de sortie: "..metaDataInfo.year.." - "..metaDataInfo.Country[1].tag role = "Avec: "..metaDataInfo.Role[1].tag.." - "..metaDataInfo.Role[2].tag.." - "..metaDataInfo.Role[3].tag.." - "..metaDataInfo.Role[4].tag.." ..." else title = metaDataInfo.grandparentTitle.." - "..string.gsub(metaDataInfo.parentTitle, "Season ", "S").."EP"..metaDataInfo.index.." - "..metaDataInfo.title year = "Année de sortie: "..metaDataInfo.year role = " " end end self:trace("vidéo en cours: "..self:normeText(title)) self:trace("Durée de la vidéo: "..self:normeText(duration)) self:updateView("lblmedia", "text", self:normeText(media)) self:updateView("lbltitre", "text", self:normeText(title)) self:updateView("lblActors", "text", self:normeText(role)) self:updateView("lblTime", "text", "Durée: "..self:normeText(duration)) self:updateView("lblyear", "text", self:normeText(year)) --self:updateView("lblyear", "text", "Année de sortie: "..self:normeText(year)) self:updateView("lblaudiocodec", "text", self:textAudioFormat(audioCodec)) self:updateView("lblSynopsis", "text", self:normeText(summary)) self:trace("===========================================================") end function QuickApp:normeText(text) if text then return text end return "N/A" end -------------------------------------------------------------------------------------------------------------------------------------- -- CONVERSION MILLISECONDE EN H:M:S -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:round(num) return math.floor(num + 0.5) end function QuickApp:convertTime(ms) secondes = self:round(ms/1000) heures = math.floor(secondes/3600) minutes = math.floor(secondes%3600/60) secondes = math.floor(secondes%3600%60) return string.format("%02d:%02d:%02d", heures, minutes, secondes) end -------------------------------------------------------------------------------------------------------------------------------------- -- BOUTON REFRESH -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:btnRefresh() self:connectPlex() end -------------------------------------------------------------------------------------------------------------------------------------- -- REFRESH AUTO -------------------------------------------------------------------------------------------------------------------------------------- function QuickApp:refreshAuto() self:trace("refreshAuto") self:connectPlex() fibaro.setTimeout(1000*10, function() self:refreshAuto() end) end -------------------------------------------------------------------------------------------------------------------------------------- -- FIN DU CODE -------------------------------------------------------------------------------------------------------------------------------------- QuickApp: PLEX_V1.1.fqa Icône: EDIT: Légère modification du code pour des problèmes de Token. Voir le header.
- 19 réponses
-
- 6
-
- video
- plugin developer
-
(et %d en plus)
Étiqueté avec :
-
Bonjour, Passionné de télécom et de multimédia, je voudrais investiguer le domaine de la domotique. Mes équipements actuels sont essentiellement: - réseau ethernet à domicile - Freebox + routeur avec un réseau familial de 10 VPN interconnectés - NAS Synology et VEHOtech - Sonos en multiroom - Plex pour le multimédia - chromecast pour streaming plex - tablette et smartphone Je viens de découvrir la box HC2 et elle semble bien correspondre à mes attentes. J'aurai besoin des précieux conseils des membres; je peux par ailleurs vous faire partager mon expérience sur les autres sujets. pln39
-
Bonjour à tous, Ma petite contribution pour pouvoir récupérer les films en cours de lecture sur le serveur Plex. Il y a encore beaucoup d'amélioration possible mais il modifie déjà une variable globale (1 = film en cours, 0 = aucun film) et affiche le film en cours. Note: Aucune gestion de la lecture de plusieurs films en même temps. Il manque aussi l'information sur la source du lecteur plex (tv, iphone, ...), ce sera pour une prochaine version ;-) Importez le virtual device PlexHC2.vfib.zip PlexHC2 modifiez ces lignes: -- !!! VOS PARAMETRES !!! PlexHC2.Plex_ip = '192.168.1.9' -- IP du serveur Plex PlexHC2.Plex_port = 32400 -- PlexHC2.globalvariable = "" L'image du VD Note2: Largement inspiré du script de Steven MétéoAlerte (un grand merci à lui pour son travail)