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