Lazer Posté(e) le 24 septembre 2020 Signaler Posté(e) le 24 septembre 2020 (modifié) QuickApp + Addon pour KODI Version 2.12 1. QuickApp 1.1. Présentation Ce QuickApp permet de piloter le lecteur multimédia KODI depuis la box Fibaro Home Center 3. Les fonctionnalités suivantes sont disponibles : PowerON / PowerOFF Lecture, Pause, Stop Précédent, Suivant Baisser ou monter le volume d'un cran Silencieux Slider de réglage du volume Ouverture et lecture d'un média spécifié Notification texte en surimpression Affichage de caméra en surimpression Réglage de la synchronisation du décalage audio/vidéo Réglage du décalage vers le haut ou le bas de l'image pour les films avec bandes noires(concernant ces 2 dernières fonctionnalités, je ne les utilise pas en direct depuis le QuickApp, mais au travers d'un raccourci sur ma télécommande) Un retour d'état est rafraichit à intervalle régulier (paramétrable), indiquant les informations suivantes : Statut de l'alimentation Statut du lecteur (playing, paused, stopped) Type de média lu (video, music, etc...) Titre du média en cours de lecture Timing de lecture et durée totale du média Niveau du volume via le slider A noter que ce module est de type Lecteur "com.fibaro.player". Il n'y a pas d'utilisation de modules enfants. 1.2. Pré-requis Dans les paramètres de Kodi, il faut Autoriser le contrôle à distance via HTTP, et spécifier le Port, le Nom d'utilisateur, et le Mot de passe : 1.3. Installation Importer le QuickApp (fichier fqa) de façon habituelle sur la box HC3, puis changer les paramètres suivants dans l'onglet Variables : Protocol : protocole à utiliser, normalement : http Address : adresse IP de Kodi, par exemple : 192.168.1.1 Port : port de communication TCP, par exemple : 8080 User : utilisateur DSM préalablement configuré, par exemple : kodi Password : mot de passe du compte WebSocket_Port : port pour les communication WebSockets, par exemple : 9090 RefreshON : intervalle de rafraichissement des informations en secondes quand Kodi est allumé, par exemple : 3 RefreshOFF : intervalle de rafraichissement des informations en secondes quand Kodi est éteint, par exemple : 60 PowerON_Method : l'une des méthodes suivantes pour démarrer Kodi, à personnaliser en fonction de votre installation, les méthodes proposées permettent un large éventail de possibilités : MacAddress = 00:00:00:00:00:00 => adresse MAC de Kodi, afin de le réveiller grâce au paquet magique Wake-On-LAN Device = 123 => allume (turnOn) un device spécifié par son ID (par exemple un switch FGS ou un module universel FGBS) Device = Module => allume (turnOn) un device spécifié par son Nom (par exemple un switch FGS ou un module universel FGBS) QuickApp = 123, Method => Appelle la fonction "Method" du QuickApp spécifié par son ID QuickApp = Module, Method => Appelle la fonction "Method" du QuickApp spécifié par son Nom Icon_Normal : ID de l'icône normale Icon_ON : ID de l'icône ON Icon_OFF : ID de l'icône OFF Icon_Play : ID de l'icône en cours de lecture Icon_Pause : ID de l'icône en pause Icon_Stop : ID de l'icône arrêtée Note : l'intervalle de rafraichissement variable permet de conserver une bonne réactivité de mise à jour lorsque Kodi est en fonctionnement, sans pour autant surcharger inutilement de requête réseau le reste du temps. 1.4. Utilisation Depuis l'interface Web ou l'application mobile : Un clic sur les boutons permet de piloter Kodi Glisser le slider permet de régler le volume sonore Dans le code LUA d'un QuickApp ou d'une Scène, utiliser la fonction fibaro.call() avec l'une des syntaxes suivantes : fibaro.call(123, "turnOn") -- Power ON fibaro.call(123, "turnOff") -- Power OFF fibaro.call(123, "play") -- Lecture fibaro.call(123, "pause") -- Pause fibaro.call(123, "stop") -- Stop fibaro.call(123, "prev") -- Précédent fibaro.call(123, "next") -- Suivant fibaro.call(123, "setVolume", 100) -- Règle le volume audio au niveau spécifié (0 à 100) fibaro.call(123, "setVolume", "decrement") -- Diminue le volume audio d'un pourcent fibaro.call(123, "setVolume", "increment") -- Augmente le volume audio d'un pourcent fibaro.call(123, "setMute") -- Bascule le mode silencieux fibaro.call(123, "setMute", true) -- Audio en sourdine fibaro.call(123, "setMute", false) -- Audio normal fibaro.call(123, "open", "smb://SERVER/Share/Path/Movie.mkv") -- Ouvre et lance la lecture du media spécifié par le nom de fichier complet avec le chemin fibaro.call(123, "notification", "title", "message") -- Affiche un popup de notification à l'écran fibaro.call(123, "camera", 1) -- Affiche l'image vidéo de la caméra n°1 à l'écran (nécessite l'Addon pour Kodi) fibaro.call(123, "camera", 1, 10, 1000) -- Affiche l'image vidéo de la caméra n°1 à l'écran pour une durée de 10 secondes avec un intervalle de rafraichissement de 1000 ms soit 1 seconde (nécessite l'Addon pour Kodi) fibaro.call(123, "audioDelay", "audiodelayminus") -- Diminue le décalage audio fibaro.call(123, "audioDelay", "audiodelayplus") -- Augmente le décalage audio fibaro.call(123, "verticalShift", "verticalshiftup") -- Décale l'image vers le haut (si présence de barres noires) fibaro.call(123, "verticalShift", "verticalshiftdown") -- Décale l'image vers le bas (si présence de barres noires) Les propriétés suivantes peuvent être lues dans le JSON du module : power : boolean : true|false -- Statut d'alimentation de Kodi state : string : ""|"stopped"|"playing"|"paused" -- Statut du lecteur Kodi volume : integer : 0-100 -- Volume audio mute : boolean : true|false -- Silencieux audio 1.5. Icônes Normal ON OFF Play Pause Stop 2. Addon pour Kodi 2.1. Présentation Cet Addon est une extension de type programme qui s'installe dans Kodi et permet une communication bidirectionnelle entre le QuickApp et Kodi. Il a été initialement développé par @ADN182 : Je me suis contenté de l'adapter au fonctionnement de la HC3 (QuickApp). Je me permet de copier/coller une partie de son tuto pour une meilleure compréhension ici-même. 2.2. Installation Pour l'installer, importer le fichier ZIP dans Kodi, puis aller dans les paramètres de l'extension pour configurer les paramètres (en rouge ceux qui sont requis, en vert veux que vous ne devriez pas toucher en temps normal) Adresse IP de la HC3 Port (par défaut 80) Nom d’utilisateur HC3 (il est fortement suggérer de créer un utilisateur dédié dans le panneau d'accès de la HC3 avec les droits nécessaire aux modules à piloter depuis Kodi.... à minima le QuickApp importé précédemment) Mot de passe HC3 Nom du Quickapp sur la HC3 (celui qui a importé précédemment sur la HC3) Nom d'une Scène Nom de l'Instance (permet d’identifier le MediaCenter dans la HC3. Si vous en avez plusieurs mettre un nom différents pour chaque MediaCenter, exemple : KODI_Salon et KODI_Chambre) Temps d'affichage de la caméra (délai pendant lequel la caméra reste affiché, défaut : 14 secondes) Fréquence de rafraîchissement (délai entre chaque récupération d'image de la caméra, défaut : 500 millisecondes) Temps d'attente entre chaque mise à jour de déclenchement de scène (défaut : 10 millisecondes) Temps d'attente pour la récupération des informations Audio/Videos (défaut : 50 millisecondes) Timeout des requêtes HTTP (défaut : 5 secondes) Note : la scène et l'instance sont conservées pour des raisons de rétrocompatibilité et d'accompagnement dans la migration des utilisateurs de la HC2 vers la HC3, mais elles n'ont plus réellement lieu d'être utilisées, le QuickApp permettant de remplacer tout cela. Ensuite sélectionner les événements que vous désirez activer (Accès au Menu Home, Play Video, Pause Audio...). S’ils ne sont pas activés ils ne remonteront pas dans la HC3. Exemple : Si on laisse « Accès au Menu Home » à "No" alors la HC3 ne sera pas capable de déclencher une action lorsque vous serez sur la page d’accueil de votre média-center préféré. Les caméras détectées après redémarrage de l'Addon s'afficheront dans l'écran suivant. L'ID de chaque caméra est celui qui doit être utilisé lorsqu'on désire afficher une caméra depuis un script LUA à l'aide de la commande fibaro.call(123, "camera", 1) documentée précédemment. 2.3. Utilisation Chaque événement de Kodi (changement de menu, événement de lecteur, etc) qui a été coché dans la configuration de l'addon remonte instantanément dans le QuickApp, permettant une mise à jour en temps réel (fonctionnement en mode push) De plus, il est possible de personnaliser les actions associées à chaque événement. Pour cela il faut modifier le fichier custom du QuickApp. Chaque nom de fonction est parlant, il suffit d'insérer les instructions LUA désirées pour personnaliser son installation (gestion des lumières, volets, etc) : 2.4. Menu Un menu peut être affiché à l'écran, permettant de piloter directement tous les modules de la HC3 dont on a donné accès à l'utiliateur Kodi : Pour afficher ce menu, il faut exécuter l'Addon en cliquant sur son icône (Extension de type Programme) ou bien en appuyant sur une touche, pour ce faire il faut ajouter un fichier "keyboard.xml" dans le dossier utilisateur (userdata) de Kodi. Emplacement sur Windows : C:\Users\<USER>\AppData\Roaming\Kodi\userdata\keymaps\keyboard.xml Documentation de référence : http://kodi.wiki/view/Keymaps Pour la Nvidia Shield TV voici le lien afin de pouvoir utiliser les boutons rouge, bleu... : https://forum.xda-developers.com/shield-tv/general/shield-harmony-hub-keyboard-characters-t3722002 Exemple de fichier keyboard.xml permettant d'afficher le menu à l'aide de la combinaison de touches « Ctrl+Y » : <keymap> <global> <keyboard> <y mod="ctrl">SetProperty(FibaroMenu,true,10000)</y> <!--CTRL + Y pour afficher le Menu --> <menu mod="longpress">SetProperty(FibaroMenu,true,10000)</menu> <!-- Appuie long sur la touche Menu --> <X>RunScript("HC2.addon", "fonction=ActiveCamera", "name=macamera")</X> <!-- Permet d'afficher la camera "macamera" à l'aide de la touche X --> </keyboard> <remote> <red>SetProperty(FibaroMenu,true,10000)</red> <!--Touche rouge de la télécomande multimédia pour afficher le Menu --> <blue>SetProperty(FibaroMenu,true,10000)</blue> </remote> </global> <fullscreenvideo> <keyboard> <menu mod="longpress">SetProperty(FibaroMenu,true,10000)</menu> <X>RunScript("HC2.addon", "fonction=ActiveCamera", "name=macamera")</X> <!-- Permet d'afficher la camera "macamera" à l'aide de la touche X --> </keyboard> </fullscreenvideo> </keymap> Note : redémarrer Kodi une fois celui-ci mis en place 3. Changelog v2.0 : Initial public release v2.12 : Gestion des icônes Utilisation des WebSockets pour la communication avec Kodi (meilleure réactivité des événements, particulièrement si l'addon n'est pas utilisé) Gestion de plusieurs langues (français/anglais) Améliorations diverses 4. Téléchargements Nouvelle installation : Kodi_v2.12.fqa Mise à jour : Fichier main : Kodi v2.12 - Main.lua Fichier KODI : Library - KODI v1.12.lua Fichier tools : Library - tools v2.20.lua Add-on : HC3.addon-1.0.0.zip Modifié le 9 février 2022 par Lazer 2 2
morpheus75 Posté(e) le 24 septembre 2020 Signaler Posté(e) le 24 septembre 2020 Fantasic mate. cannot wait to try it at the weekend
morpheus75 Posté(e) le 5 octobre 2020 Signaler Posté(e) le 5 octobre 2020 hi got the addon working in kodi got the quickapp to work in hc3 however the commands are not being given to hc3? when i start video it doesnt action anything. everything else seems to be working fine as planned any thoughts? log attached from kodi kodi.log
Lazer Posté(e) le 6 octobre 2020 Auteur Signaler Posté(e) le 6 octobre 2020 Sorry but I can't open your log file, it seems empty. Could you describe what you mean by "when i start video it doesnt action anything.". What action and/or lua commands are you performing ?
morpheus75 Posté(e) le 6 octobre 2020 Signaler Posté(e) le 6 octobre 2020 I wrote a command to turn off lights and start strip lights. It didn't do on video start. I wrote a debug message and that wasn't displayed either. when I press play I see in the debug code, playing andalso movie name, or when stopped I see the word stopped.
Lazer Posté(e) le 6 octobre 2020 Auteur Signaler Posté(e) le 6 octobre 2020 OK Did you modified the "custom" file ? Example to just display a debug message when the video starts playing : Then I can clearly see the debug message as a result of my custom LUA command : And don't forget to enable push events in Kodi addon, as explained in the above tutorial (sorry, French language screenshot)
morpheus75 Posté(e) le 6 octobre 2020 Signaler Posté(e) le 6 octobre 2020 yes i did. also re-attached the log file as a text file kodilog.txt
Lazer Posté(e) le 6 octobre 2020 Auteur Signaler Posté(e) le 6 octobre 2020 That's strange, I still can't open the text file.... Maybe you should try to share an image screenshot of your log window. Furthermore, you can also add a "debug" variable to your Kodi QuickApp, with the "true" value, which will display much more information in the debug window. By the way, it's time to sleep for me now, I'll have a look at it tomorrow.
morpheus75 Posté(e) le 7 octobre 2020 Signaler Posté(e) le 7 octobre 2020 Hi I have narrowed the issue down. The Pause, Resume, Stop commands are going through to the QuickApp but not the STARTED commands. I am also running OpenElec version of kodi (the standalone version on a pc) version is 16.1 I did update the xbmc.python before i could install the Kodi addon. Everything else is working! Thanks for your help!
Lazer Posté(e) le 7 octobre 2020 Auteur Signaler Posté(e) le 7 octobre 2020 OK, so it seems that your old version of Kodi is the reason why the Startup event does not run. I use new API functions, which are only available starting with Kodi v17. I knew that, and I forgot to mention it in the above tutorial.... so to be clear, Kodi v17 Krypton or Kodi v18 Leia is required to fully use the add-on. And I think that the add-on will not work in the upcoming v19 release, because it makes suse of Python v3 which is not backward compatible... more to come
morpheus75 Posté(e) le 7 octobre 2020 Signaler Posté(e) le 7 octobre 2020 yes thanks i have ran the krypton upgrade files but i didnt work. its a similar issue which affected the HC2 addon. however i can work around it. Thanks for your help. Im going to stick with this version of kodi for now and just press 'pause' after 'playing' and use the 'resume' feature to get the initial lights working.. cheers for your help mate
Lazer Posté(e) le 7 octobre 2020 Auteur Signaler Posté(e) le 7 octobre 2020 OK, but we can still try to understand the problem. You can activate the following option in the add-on : "DEBUG: (Log commands to kodi.log file)" Then restart Kodi, then start playing a new movie, then look for the kodi.log file in your instance and give me the result, we might found some useful information.
marczu83 Posté(e) le 28 avril 2021 Signaler Posté(e) le 28 avril 2021 Hi, thank you for the addon, if there is a chance to write a version for KODI 19? with python 3? regards
Lazer Posté(e) le 28 avril 2021 Auteur Signaler Posté(e) le 28 avril 2021 Yes, I will do it... but later, I don't have time right now. Maybe in May, or even June. The next version will also make use of the WebSockets capabilities now available on HC3. For now, I have disabled automatic updates, so I can still use Kodi 18 a little bit longer. By the way, it gives time to the developer team to resolve the bugs of this first major release. 1
marczu83 Posté(e) le 20 septembre 2021 Signaler Posté(e) le 20 septembre 2021 Hi any news about the new version?
Lazer Posté(e) le 20 septembre 2021 Auteur Signaler Posté(e) le 20 septembre 2021 Sorry, I still don't have time (or other priorities...) One day, for sure, but I can't give any delay.
Lazer Posté(e) le 9 février 2022 Auteur Signaler Posté(e) le 9 février 2022 Mise en ligne du QuickApp Kodi version 2.12 : Gestion des icônes => il faudra importer les icônes puis ajouter les 6 variables correspondantes pour définir leurs ID. Utilisation des WebSockets pour la communication avec Kodi (meilleure réactivité des événements, particulièrement si l'addon n'est pas utilisé) Gestion de plusieurs langues (français/anglais) Améliorations diverses Pour la mise à jour, pensez à créer les nouvelles variables suivantes : WebSocket_Port : port pour les communication WebSockets, par exemple : 9090 Icon_Normal : ID de l'icône normale Icon_ON : ID de l'icône ON Icon_OFF : ID de l'icône OFF Icon_Play : ID de l'icône en cours de lecture Icon_Pause : ID de l'icône en pause Icon_Stop : ID de l'icône arrêtée Puis copier/coller le contenu des fichiers LUA par dessus l'existant : Fichier main : Kodi v2.12 - Main.lua Fichier KODI : Library - KODI v1.12.lua Fichier tools : Library - tools v2.20.lua Note : je n'ai pas encore travaillé sur la nouvelle version de l'addon, donc il n'est pour l'instant toujours pas compatible avec Python v3 (Kodi 19 et supérieur) Cependant, l'utilisation des WebSockets permet de compenser une partie des fonctionnalités de l'addon, à savoir la mise à jour instantanée du QuickApp lors des événements du lecteur Kodi. 1
Kage Posté(e) le 22 novembre 2022 Signaler Posté(e) le 22 novembre 2022 (modifié) salut, j'essaie d'ajouter le bouton quitter mais cela ne fonctionne pas tout à fait. Pouvez-vous m'aider et m'améliorer si nécessaire. merci d'avance. bouton créé. main: function QuickApp:buttonQuit_onReleased(event) if debug then self:debug("QuickApp:buttonQuit_onReleased() - deviceId :", event.deviceId, "- Element name :", event.elementName, "- Event :", event.eventType) end self:quit() -- -- Quit -- function QuickApp:quit() if debug then self:debug("QuickApp:quit()") end self:playerAction("Quit", false, "Quiting Player", KODI.ApplicationQuit) end KODI: -- -- Quit player -- function KODI:ApplicationQuit(callback) if debug then self:debug(tools:args("KODI:ApplicationQuit", callback)) end -- {"jsonrpc":"2.0","method":"Application.Quit","params":{},"id":"1"} local payload = {jsonrpc="2.0", method="Application.Quit", id={"ApplicationQuit"}} self:postAPI("/jsonrpc", payload, function(result) return type(result) == "string" and result == "OK" and true or false end, callback) end Je reçois Quit failed pouvez-vous m'aider en cas de besoin. je vous remercie d'avance cela peut-il aussi être fait avec des sous-titres Modifié le 22 novembre 2022 par Kage
Kage Posté(e) le 16 avril 2023 Signaler Posté(e) le 16 avril 2023 The Quit button is now in. But the Kodi has a new version Kodi 20 it got stuck on python 2.25 have you manage to create i new version of the addon. regards Kage
Lazer Posté(e) le 16 avril 2023 Auteur Signaler Posté(e) le 16 avril 2023 Sorry I did not work on a new plugin addon version compatible with Python 3. Honestly I don't even know if I will have enough time one day... this is very low priority for me.
Messages recommandés