Aller au contenu

Addon Xbmc Kodi By Adn182


ADN182

Messages recommandés

Bonjour à tous, 

 

UPDATE 08-04-21 : New Version HC2.addon-2.0.0.zip - Compatibilité Kodi 19

 

Petit post pour vous faire partager mon addon Kodi qui « s’interface » avec notre petit boite d’aluminium.

Celui-ci va vous permettre par exemple: de fermer les volets à l'allumage de Kodi, allumer le vidéos projecteur éteindre les lumières à la lecture d'une vidéos...

Quelqu'un sonne ! On met la vidéo en pause, on affiche la caméra de la porte d'entrée...

 

L'addon à été fait de façon à ce qu'il donne un retour d'information permettant de guider l'utilisateur sur les différentes étape d’installation et de configuration de l'addon (Gestion d'erreur).

 

Assez parler passons au chose sérieuse.

 

Caractéristiques de l'Addon :

- Permet de déclencher une « action » en fonction de l’état de Kodi

  • Les différents événements :
    • On
    • Off
    • Accès aux différents Menu (Home, Météo, Vidéo, Musique, Image, Programme, Paramètres).
    • Evènement du Lecteur (Play, Pause, Reprise, Stop, Fin).
    • Afficher le titre de la musique ou la vidéo joué dans le panneau Variables de la HC2 => à partir de la version 1.4 les variables globales ne sont plus utilisées, le déclenchement se fait par les arguments dans la scène.

- Affichage sous forme de pop-up d’un flux d’image (le flux d’une caméra)

  • Le temps d'affichage de la popup ainsi que le temps de rafraîchissement entre chaque image est configurable dans l'addon, mais également lors du déclenchement par API.

          Exemple :

                                      KODI Cam.png

 

- Créer des variables en fonction des caméras dans la HC2.  Depuis la version 1.4 le lancement de la caméra peut se faire avec le nom des caméras dans la HC2. Cela évite d'avoir un mapping à maintenir.

- Récupère les cameras présentent dans la HC2.

- Afficher un Menu permettant d’interagir avec les modules (virtuel), scène de la box.

 

Installation & Fonctionnement : 
- Installer le fichier zippé joint au post dans la section ajout d’extension de Kodi.
- Configurer l’addon avec les paramètres de votre HC2.

  • Adresse IP ou Nom de la HC2
  • Port (par défaut 80)
  • Nom de la Scene
  • Nom de l'Instance (depuis la version 1.4)
  • Nom d’Utilisateur HC2
  • Mot de passe Utilisateur HC2
  • 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)

5acc9f2731d8b_2018-04-1013_23_33-Clipboard.thumb.png.9b5435e59666e8fca116a453c36da56f.png

Version <= 1.3.5

 
  • Le nom de la variable permet d’identifier le MediaCenter dans la HC2. Si vous en avez plusieurs mettre un nom différents pour chaque MediaCenter, exemple : KODI_Salon et KODI_Chambre. (Une Scène par Kodi)

 

  • Depuis la version 1.4 vous pouvez faire une seule scène pour la gestion de plusieurs Kodi (instances)
  • Plus le délai d'attente après le déclenchement de chaque variable est faible plus c'est réactif, sauf qu'il arrive parfois que la variable soit mise à jour très rapidement et la scéne de la HC2 n'a pas le temps d'afficher les différentes étapes. Ex : Vous lancer une vidéos que vous ne deviez pas lancer (vous appuyer donc sur stop la vidéos à peine démarrer). Si le délai est de Zéro alors la scène affiche : Vidéo_Started => Menu Vidéos => Menu Vidéos alors qu'elle devrait afficher : Vidéo_Started => Videos_Stopped => Menu Vidéos le délai permet de palier à ce problème. Si vous rencontrer ce type de phénomène alors augmenter les délais de déclenchement entre chaque Variable.
  • 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 HC2. Ex : Si on laisse « Accès au Menu Home » à  "No" la Home Center 2 ne sera pas capable de déclencher une action lorsque vous serez sur la page d’accueil de votre média center préférer icon_wink.gif.

  5acc9f2cc3018_2018-04-1013_24_03-Clipboard.thumb.png.866a195cf460fda97b90c327dd7ed8b3.png

 

- Redémarrer Kodi une fois l’addon configuré.

Version <= 1.3.5

 
  • L’addon va créer les variables dans votre HC2. (variable d’état, les id des caméras, variable de titre).

 

 

Paramètrage HC2 :

Version <= 1.3.5 :

 

Passons maintenant au interaction avec la HC2, pour cela il va falloir créer une scène portant le même non que la variable dans l'Addon (KODI_Salon) dans celle-ci y mettre le code joint en remplaçant KODI_Salon par votre variable : 

 

Kodi HC2 Addon Scene (inf=1.3.5).lua

 

Ensuite dans chaque section "--action" mettre les commandes que vous souhaitez exécuter. Ex: Fermer les volets à  l'allumage de KODI, descendre la toile de projection, allumer le vidéos projecteur éteindre les lumières à  la lecture d'une vidéos...

 

Un exemple pour mettre la luminosité à 30% lors de la pause d'une vidéo : 

 

-- Pause d'une video
if ( VariableKODI == "Video_Paused" )
then
fibaro:call(49, "setValue", "30")
end

 

Version >= 1.4 :

Passons maintenant au interaction avec la HC2, pour cela il va falloir créer une scène portant le même non que la scène dans l'Addon (KODI) dans celle-ci y insérer le code suivant :

 

HC2 Addon Scene v1.lua (Kodi =< v17)

HC2 Addon Scene v1.1.lua (Kodi >= v18)

 

Dans cette scéne remplir les informations d'instances. La scène peut supporté plusieurs Kodi (instance). L'instance par défaut est utilisé si aucune instance n'est renseigné dans l'addon ou par la suite dans les lancement LUA.

local Instance={}
Instance.default = {ip = "192.168.0.x", port = 8080, user = 'kodi', pass = '1234', vd = 123}
Instance.Salon = {ip = "192.168.0.x", port = 8081, user = 'kodi', pass = '1234', vd = 123} (Un VD est associé à une instance)

Ensuite mettre votre propre code pour chaque fonction (On, Video_Start....)

-- Addon Function
function Start.On(instance)
	fibaro:debug("On")
end

Si vous souhaiter différencier les actions en fonction des instances il suffit de faire comme ceux-ci : 

function Start.On(instance)
	if instance == "Salon" then
		fibaro:debug("Action Spécifique pour l'instance Salon")
	end
	
	fibaro:debug ("On")
end

Ainsi le debug "On" s'affiche pour toutes les instances et "Action...." uniquement pour l'instance Salon.

 

Camera

Le temps d'affichage ainsi que le rafraîchissement entre chaque image est désormais configurable depuis la page de l'addons ainsi que via l'API Kodi.

Version <= 1.3.5 :

 

Si vous avez des caméras paramètres dans votre HC2 celle-ci seront reporter dans l’addon et vous pourrez visualiser celle-ci dans Kodi en exécutant la commande suivante dans un navigateur : 

Citation

http://userKODI:passwordKODI@IpaddressKODI:portKODI/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Addons.ExecuteAddon","params":{"addonid":"HC2.addon","params":{"fonction":"ActiveCamera", "idcam":"1","uptime":"30","refresh":"1000"}}}

Remplacer les écriture en rouge par vos paramètres Kodi et le chiffre en bleu par l'id de la caméra à afficher (l'id de la caméra se trouve dans le panneau variable de la HC2). Concernant les paramètres uptime et refresh ils ne sont pas obligatoire. Lors d'un déclenchement il prendrons les valeurs par défaut configuré dans l'Addon si vous les forcer alors cela prendra ces valeurs.

 

Par exemple sur la ligne ci-dessus elle est configuré pour afficher la caméra pendant 30 secondes (uptime 30s) et rafraîchir chaque image toutes les secondes (refresh 1000 ms => 1s)

 

(Il faut bien sur auparavant avoir configurer Kodi pour pouvoir être contrôler par HTTP pour ce faire je vous renvoi vers cette page de configuration :http://kodi.wiki/view/Settings/Services/Control).

 

Vous pouvez également exécuter ces commandes par le biais d'un virtual device en Lua avec le code suivant 

 

KODI = Net.FHttp('192.168.x.x', 80);
KODI:setBasicAuthentication("userKODI","passwordKODI")
response = KODI:GET('/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Addons.ExecuteAddon","params":{"addonid":"HC2.addon","params":{"fonction":"ActiveCamera","idcam":"1","uptime":"30","refresh":"1000"}}}');
resultat = json.decode(response);
if resultat.result == "OK"
then
fibaro:log("Notification caméra envoyé àKODI");
else
fibaro:log("Erreur suite àl’exécution de la commande");
end

 

J'ai intégrer le virtual device au post (XBMC_Salon.zip). Dans celui-ci j'ai implémente la fonction Wake On Lan de Krikroff (Merci à lui ;)) pour permettre de démarrer mon média center, il y a une fonction permettant d'éteindre Kodi et 3 boutons d'actionnement de l'affichage des caméras sur Kodi.

 

On peut alors imaginer que quand on rentre dans le menu météo (qui me sert très peu) on affiche les caméras :

ou "pressButton", "3" correspond au bouton du virtual device créé précédemment actionnant la caméra numéro 1.

 

-- Menu Weather
if ( VariableKODI == "Menu_Weather" )
then
fibaro:call(60, "pressButton", "3")
end

 

Version >= 1.4 :

 

 

Si vous avez des caméras paramètres dans votre HC2 celle-ci seront reporter dans l’addon et vous pourrez visualiser celle-ci dans Kodi en exécutant la commande suivante dans un navigateur : 

Citation

http://userKODI:passwordKODI@IpaddressKODI:portKODI/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Addons.ExecuteAddon","params":{"addonid":"HC2.addon","params":{"fonction":"ActiveCamera", "name":"Cam_Salon","uptime":"30","refresh":"1000"}}}

Remplacer les écriture en rouge par vos paramètres Kodi et le chiffre en bleu par l'id de la caméra à afficher (l'id de la caméra se trouve dans le panneau variable de la HC2). Concernant les paramètres uptime et refresh ils ne sont pas obligatoire. Lors d'un déclenchement il prendrons les valeurs par défaut configuré dans l'Addon si vous les forcer alors cela prendra ces valeurs.

 

Par exemple sur la ligne ci-dessus elle est configuré pour afficher la caméra pendant 30 secondes (uptime 30s) et rafraîchir chaque image toutes les secondes (refresh 1000 ms => 1s)

 

(Il faut bien sur auparavant avoir configurer Kodi pour pouvoir être contrôler par HTTP pour ce faire je vous renvoi vers cette page de configuration :http://kodi.wiki/view/Settings/Services/Control).

 

Pour afficher une caméra connu de la HC2 depuis la scène Kodi : 


function Start.On(instance)
	fibaro:debug("On")
	Camera["view"](instance, "Cam_Salon") -- Affichera la caméra "Cam_Salon" à l'ouverture du médiacenter
end

Pour afficher une caméra connu de la HC2 depuis une autre scène ou virtual device :


local _kodinstance = "Salon"
local _kodiscene = 123
fibaro:startScene(_kodiscene, {{instance = _kodinstance, camera = "Cam_Salon"}})

 

 

VD : 

Le Virtual device permet de controler Kodi et d'afficher les caméras

Kodi v1.vfib

VD.png.cb9153da702ddfb830ad2353ccb114f1.png

 

Notification Action depuis VD / Scène : 

Tout comme pour afficher une caméra vous pouvez executer des actions depuis une autre scène, VD, Play, Pause...

 

Affiche un Caméra : 

local _kodinstance = "Salon"
local _kodiscene = 123
fibaro:startScene(_kodiscene, {{instance = _kodinstance, camera = "Cam_Salon"}})

Play : 

local _kodinstance = "Salon"
local _kodiscene = 123
fibaro:startScene(_kodiscene, {{instance = _kodinstance, player = "PlayPause"}})

 

Menu : 

Fibaro Menu.png

Le Menu permet de piloter les lumières, volets, "actionneurs", scène, virtual device visible dans la HC2 et d'actionner ceux-ci (turnOn, turnOff).

 

Le Menu commence par afficher vos Sections puis Vos pièces dans cette Sections le type de module pour enfin afficher les modules de cette pièce
Sections => Rooms => Type => Device 

 

Activation du Menu

Depuis la 1.4 le menu peut s'afficher en exécutant l'addon (Addon de type Programme) ou comme auparavant 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 voir : http://kodi.wiki/view/Keymaps)

 

Pour la NVIDIA SHIELD voici le lien afin de pouvoir utiliser les bouttons rouge, bleu... : https://forum.xda-developers.com/shield-tv/general/shield-harmony-hub-keyboard-characters-t3722002

 

Voici le contenu de mon fichier keyboard.xml (redémarrer Kodi une fois celui-ci mis ne place) :

<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>

Ici un <ctrl> + y permet d'afficher le menu ou encore l'appuie de la touche rouge/bleu sur votre télécommande de votre MédiaCenter ou encore un appuie long sur la touche Menu.

Il suffit ensuite de ce balader dans la Section souhaité => La pièce => le type de module (Lumière, Volet, Actionneur) => puis actionner le module voulu. Vous pouvez désormais revenir dans les sections précédente du menu avec la flèche gauche et la flèche de droite pour accéder à la section suivante.

L'appuie sur la touche X (dans l'exemple ci-dessus) permet d'afficher la camera "ma camera" directement à l'écran sans passé par le menu.

 

GEA :

Dans la fonction config (function config())de Gea insérer les lignes suivantes (en prenant soin de remplacé par l'ID de votre scène) : 


 	GEA.options.kodi_notif = {name = "Kodi_Notif",
    action = function(message) local _kodiscene = 100
	fibaro:startScene(_kodiscene, {{notif = GEA.getMessage(message)}}) end,
}

  	GEA.options.kodi_player = {name = "Kodi_Player",
    action = function(message) local _kodiscene = 100
	fibaro:startScene(_kodiscene, {{player = GEA.getMessage(message)}}) end,
}
  
    GEA.options.kodi_cam = {name = "Kodi_Cam",
    action = function(message) local _kodiscene = 100
	fibaro:startScene(_kodiscene, {{camera = GEA.getMessage(message)}}) end,
}

Ensuite pour déclencher une action : 

Play/Pause du lecteur : 
{"Kodi_Player", "PlayPause"}

Afficher une caméra : 
{"Kodi_Cam", "DoorBird"}

Recevoir une notification : 
{"Kodi_Notif", "Test"}

Exemple recevoir une notification au démarrage de GEA : 

GEA.add(true, 0, "",{{"Kodi_Notif", "GEA demarrer à #time# le #datefull#"}})

 

 

Icône : 

Kodi.png.553de70ec9a014ddaf31fefd76df9d5d.png

 

 

(Version > 1.0.6  =< 1.0.9  :  Compatible XBMC Gotham v13) HC2.addon-1.0.9.zip

(Version > 1.0.10 : Compatible Kodi avec version de firmware < V4) HC2.addon-1.0.10.zip

(Version > 1.1.0-beta : Compatible Kodi avec la V4 Fibaro) HC2.addon-1.4.2-Lazer.zip

De la version 1.3 à 1.3.5 Obligation de mettre la scène Fibaro en déclenchement sur Variable : 
--[[
%% properties
%% globals
KODI_Cuisine
--]]

(Version >= 1.4 : Necessite une version de firmware supérieur à 4.11x) 

 

Changelog :

V2.0.0

+ Upgrade : Update for Kodi19
+ Added   : Security for Camera Authentification are now Digest and Basic Auth if Digest Failed
+ Mod     : Change Camera management, password are now hidden, you need to clear your camera configuration section
+ Mod     : Change HC2 Authentification management, Use Digest & Basic Auth with HTTPPasswordMgrWithDefaultRealm

V1.4.2 (Thanks To Lazer):

- Possibilité d'ajouté 10 Caméra contre 5 dans les versions précédente

V1.4.1

- Correction du déclenchement d'une vidéo suit à une evolution dans Kodi v18 : fix onPlayBackStarted replaced by onAVStarted() 

V1.4 :

- Refonte du code :

  • Possibilité de lancer le menu en exécutant l'addon
  • Mise à jour de la structure en version 17
  • Prise en charge multi instance (Une scène peut contrôler plusieurs Kodi

- Amélioration du Menu : ajout de la gestion des scènes, virtual devices et caméra

V1.3.5 :

Traduction du Menu en Anglais

V1.3.3:
- Amélioration du Menu : Possibilité de quitté celui-ci avec le retour arrière, déplacement et actionnement via les flèches (Gauche, Droite), Visualisation de l'état des modules.

V1.3.2:

- Correction du Menu: Ajout des Notifications sur actions, Spécification de la pièce lors de l'action du module, gestion des erreurs, déplacement danq le dans le menu. 

V1.3.1:

- Correction du Menu pour prendre en compte les caractères accentués

- Possibilité de piloté la camera depuis l'API en y ajoutant le délai d'affichage et de rafraîchissement

- Correction sur la remontée du titre et genre dans la HC2

- Configuration entre le temps interrogation entre chaque appel pour changement de variable

- Récupération Uniquement des modules visible et Activé dans le HC2

V1.3.0:

- Suppression du déclenchement de Scène via API pour favoriser le déclenchement de variable et ainsi réduire les appels àla HC2 (Merci Lazer)

- Beta : Ajout d'un menu permettant de controler les modules de type Lumière

V1.2.0:

- Optimisation du code et réduction des appels fait àla HC2 qui devrait corriger des problèmes de TimeOut

V1.1.3-beta:

- Correction : Erreur quand l'utilisateur crée une caméra dans l'addon

V1.1.2-beta :

- Correction de l'affichage des TAG

- Ajout de trace dans le Debug

V1.1.1-beta :

- Tous les types de camera sont importées : défini par Fibaro (Plugin) ou par l'utilisateur

- Ajout du Tag Genre

- Correction de bug n'affichant pas le titre dans la balise TAG

 

UPDATE 08-04-21 :  New Version HC2.addon-2.0.0.zip - Compatibilité Kodi 19

 

N'hésitez pas me faire un retour icon_wink.gif difficulté rencontré, m'indiquez les bugs ou améliorations, fonctionnalités à ajouter !

 

HC2.addon-2.0.0.zip

 

Modifié par ADN182
Add KeyMap Shield
  • Like 2
  • Upvote 4
Lien vers le commentaire
Partager sur d’autres sites

Je ne m'étais pas interessé a ces addons, car je n'utilise plus XBMC bien que ma vidéothèque (MyMovies) est intégré dedans.

Maintenant, à  la lecture de ce tuto, je trouve que la procédure est assez automatiser, simple...

Je vais donc redémarrer mon xbmc histoire d'installer l'addon, et faire la mise a jour de XBMC car je pense que mon frodo date un peut.

 

Pas de probleme avec les Skins et l'addon ?

 

Merci pour le partage !

Lien vers le commentaire
Partager sur d’autres sites

Moi je n'utilise pas plex ^^.

Je sais même pas s'ils ont une API fonctionnelle.

Et je vais même allé plus loin, je ne vois absolument pas l'interet d'utiliser plex, excepter pour une famille de 10 personnes qui n'a pas un réseau gigabit et qu'il faut diminuer le bitrate^^.

Pour moi xbmc est bien meilleur et plus complet.

Lien vers le commentaire
Partager sur d’autres sites

  • 3 semaines après...
  • 2 mois après...

Super Plugin et tres bon script LUA , merci bien :-)

Une petite question, y aurait il moyen d'avoir pour la variable la valeur shutdown (autre que le Off simple qui dit sur xbmc est éteint)

Comme ça, dès qu'on éteint l'ordi avec XBMC on peut lancer un autre script !

Merci en tout cas , c vraiment cool déjàde pouvoir actionner des modules àla pause , reprise, etc...

Lien vers le commentaire
Partager sur d’autres sites

Merci, et pour ta requête non ce n'est possible ou je n'ai pas trouvé comment faire.

Pour l'instant le plugin est en pause le temps qu'ils sortent la nouvelle fonction.

Pour info, je travaille déjà  sur un système pour protéger les enfants des films a ne pas voir :D, faut juste que je comprenne comment sa marche avant :(

 

edit: J'avais pas vue que c'était pas mon fil.

Lien vers le commentaire
Partager sur d’autres sites

Je me dis que peut être en testant si l'ordi est allumé (ping ou envoi de requete au HC2 àla fermeture) plus la valeur off venant d'XBMC, ça pourrait peut être le faire ! A tester..

Oui sinon on va entendre la V4 ...patiemment... peut être qu'il y aura quelque chose de bien au niveau multimédia.

Lien vers le commentaire
Partager sur d’autres sites

×
×
  • Créer...