Shad Posté(e) le 24 juillet 2014 Auteur Signaler Posté(e) le 24 juillet 2014 Déjà , ce main loop ne devrait tourner que si tu regardes un films. Donc regarde l'état de la variable xbmc_salon pour voir si tu es sur empty ou pas. Cette variable sert à savoir qu'est ce que tu regardes, donc au moment ou tu arrêtes le média cette variable doit repasser sur Empty et le main loop ne doit pas presser le bouton 36.
dln Posté(e) le 25 juillet 2014 Signaler Posté(e) le 25 juillet 2014 merci de ton aide shad! Pas très calé en code! Comment on regarde l'état de cette variable? Je sais pas si c'est cela, mais quand je vais dans "panneaux variables" ma variable est bien à "Empty" quand aucun film et passe bien à "Movies" quand j'en met un en route. un exemple dans le slider volume, j'ai remplacé le code lua par sa version string soit: command:/jsonrpc?request={"jsonrpc":"2.0","method":"Application.SetVolume","params":{"volume":_sliderValue_},"id":1} et là cela fonctionne. J'ai fait pareil pour "play/pause" et "Stop" et cela marche également. Je me disais que j'avais peut-être un problème avec tout ce qui est code LUA mais non car j'ai également récupéré "duration" et toute les touches "avance" et "recul" les < <+ et > +> En rajoutant cela dans le code: HC2 = Net.FHttp(ip_module, 8080) HC2:setBasicAuthentication("xbmc","xbmc") Par contre toujours rien dans "titre" ,"duré" et artiste. xbmc me met un message d'erreur "erreur du script HC2" quand j'appuie sur la touche 1 de caméra (surement un problème du au chemin http) Bon je progresse moi! Je vais bien arriver à tout faire fonctionner
Shad Posté(e) le 25 juillet 2014 Auteur Signaler Posté(e) le 25 juillet 2014 Euh attend, tu es entrain de me dire que tu as modifier certaines parties du virtual device ??
dln Posté(e) le 25 juillet 2014 Signaler Posté(e) le 25 juillet 2014 Euh oui Comme je te l'ai dit je cherche à ce que tout fonctionne et j'ai effectivement modifié certaines parties et ajouter quelques autres à certains scripts pour que cela fonctionne! Je ne l'ai fait que ce matin donc les problèmes antérieurs ne sont pas dà» à mes modifs! Je vais remettre en LUA les commandes que j'avais passé en string car j'ai l'impression que les problèmes était juste dà» au problème d'identification. Comme je l'ai dit la variable global se modifie bien mais dès que je remet le bout de script dans le loop, la rasp rame à mort et finit par planter!
dln Posté(e) le 25 juillet 2014 Signaler Posté(e) le 25 juillet 2014 Bon c'est confirmer tout était dà» à ce problème d'identification. (j'ai remis le code dans le loop et ça ne plante plus! voilà à quoi ressemble le script par exemple de play/pause: local ip_module = fibaro:get(fibaro:getSelfId(), "IPAddress") local port = fibaro:get(fibaro:getSelfId(), "TCPPort") HC2 = Net.FHttp(ip_module, 8080) HC2:setBasicAuthentication("xxxx","xxxx") local globVar = "Xbmc_salon"; if ( fibaro:getGlobalValue(globVar) == "Music") then HC2:GET('/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.PlayPause","params":{"playerid":0}}') else HC2:GET('/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Player.PlayPause","params":{"playerid":1}}') end j'ai remplacé mon login&mdp par des xxxx j'ai mis les 2 premières lignes dans tous les sripts LUA qu'il y avait, mais je suppose que certains ont besoin de la deuxième ligne d'autre pas! De mémoire dans certains modules il y avait déjà la ligne pour l'authentification mais placé après "local globVar = "Xbmc_salon";", or moi si il n'est pas placé avant cette ligne cela ne marche pas! Bon toujours le titre et durée sans rien et la caméra qui fonctionne pas mais bon cela progresse!
Shad Posté(e) le 25 juillet 2014 Auteur Signaler Posté(e) le 25 juillet 2014 Dans ce cas rajoute l'authentification dans le code aussi.
dln Posté(e) le 30 juillet 2014 Signaler Posté(e) le 30 juillet 2014 Désolé pas eu le temps de répondre plus tôt! Tu veux dire dans le loop? je l'ai rajouté! Par contrej'ai toujours pas le titre et la durée! et surtout impossible d'avoir les notifications de la caméra.J'ai essayé sur un autre pc équipé d'xbmc et j'ai les mêmes symptômes!! je suis pourtant sà»r du lien de la caméra, quand je saisi ce lien dans un navigateur l'image s'affiche. En regardant le log, j'ai une erreur python: ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: <type 'exceptions.EOFError'> Error Contents: EOF when reading a line Traceback (most recent call last): File "/storage/.xbmc/addons/fibaro.addon/default.py", line 65, in <module> viewer = CamView() File "/storage/.xbmc/addons/fibaro.addon/default.py", line 62, in __init__ urllib.urlretrieve(url, imagefile) File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 93, in urlretrieve File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 239, in retrieve File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 207, in open File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 358, in open_http File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 371, in http_error File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 695, in http_error_401 File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 759, in retry_http_basic_auth File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 788, in get_user_passwd File "/home/stephan/projects/openelec-4.0/build.OpenELEC-Generic.i386-4.0.7/Python-2.7.3/.install_pkg/usr/lib/python2.7/urllib.py", line 797, in prompt_user_passwd EOFError: EOF when reading a line -->End of Python script error report<-- 10:55:45 T:3052403520 ERROR: CAESinkALSA - snd_pcm_writei(-32) Broken pipe - trying to recover c'est un log pour openelec 4.0.2 gotham Ahh plus que ces 3 trucs là à régler et c'est parfait!!
Shad Posté(e) le 30 juillet 2014 Auteur Signaler Posté(e) le 30 juillet 2014 Non ce n'est pas dans le main loop qu'il faut mettre tes login mais dans le bouton code. Le main loop appelle click sur un bouton pour éviter que sa plante. En faite tes problèmes vient du faite que tu as mis un mot de passe à xbmc. Et pour tes caméra c'est pareil, il faut que tu passe en lua pour mettre tes logins. Ou tu prend le problèmes à l'envers, tu enlèves le password de l'interface xbmc et tu remets mon code comme il était
dln Posté(e) le 30 juillet 2014 Signaler Posté(e) le 30 juillet 2014 oui c'est pas bête du tout! Bon j'ai enlevé le mot de passe xbmc et effectivement (presque) tout fonctionne (en remettant le code comme avant)! Sauf les caméras avec toujours les mêmes lignes d'erreur dans le log d'xbmc
Shad Posté(e) le 30 juillet 2014 Auteur Signaler Posté(e) le 30 juillet 2014 Question, c'est bien l'image du snapshot que tu met et pas le flux video ?
dln Posté(e) le 30 juillet 2014 Signaler Posté(e) le 30 juillet 2014 oui oui c'est bien le snapshot. le lien mis dans l'addon xbmc est celui-ci (caméra ebode ipv38), qui fonctionne quand je le met dans mon navigateur: http://192.168.1.22:88/snapshot.cgi?user&pwd
Shad Posté(e) le 30 juillet 2014 Auteur Signaler Posté(e) le 30 juillet 2014 Je trouve ton url bizarre. Ce ne serait pas un truc plus comme ça http://adresse_ip_camera/snapshot.cgi?user=utilisateur&pwd=mot_de_passe
dln Posté(e) le 31 juillet 2014 Signaler Posté(e) le 31 juillet 2014 c'est l'url que me donne le home center. Et c'est la seul qui fonctionne dans mon navigateur. Si je ne rajoute pas le port (88) cela ne fonctionne pas! et si je met user=utilisateur&pwd=motdepasse non plus!
razell Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Bonjour à tous je viens de mettre en place le module xbmc et cela fonctionne parfaitement mais... oui... il fallait un "mais" sinon cela ne serait pas drole... j'ai un problème pour remonter le nom du film/acteurs/ durée sur la télécommande virtuelle. Etant catastrophique en dév (merci en passant à tous ceux qui apportent leur savoir à des gens comme moi) je souhaite savoir ou se trouve mon erreur... Le code est le suivant: local xbmc_ip = ('192.168.1.45'); local globVar = "XBMC_PC"; selfId = fibaro:getSelfId(); function xbmcJson (label) local xbmcFunction = pcall(function() local XBMC = Net.FHttp(xbmc_ip, 80); if (label == "1") then response,status, errorCode = XBMC:GET('/jsonrpc?request={"jsonrpc":"2.0","method":"Application.GetProperties","params":{"properties":["volume"]},"id":1}'); elseif (label == "2") then if ( (fibaro:getGlobalValue(globVar) == "PVR" )) then response,status, errorCode = XBMC:GET('/jsonrpc?request={"jsonrpc":"2.0","method":"Player.GetItem","params":{"playerid":1,"properties":["showtitle"]},"id":1}'); elseif ( fibaro:getGlobalValue(globVar) == "Movies" ) then response,status, errorCode = XBMC:GET('/jsonrpc?request={"jsonrpc":"2.0","method":"Player.GetItem","params":{"playerid":1,"properties":["set"]},"id":1}'); elseif ( fibaro:getGlobalValue(globVar) == "Music" ) then response,status, errorCode = XBMC:GET('/jsonrpc?request={"jsonrpc":"2.0","method":"Player.GetItem","params":{"playerid":0,"properties":["title","album","albumartist","artist"]},"id":1}'); end elseif (label == "3") then if ( fibaro:getGlobalValue(globVar) == "Music" ) then response,status, errorCode = XBMC:GET('/jsonrpc?request={"jsonrpc":"2.0","method":"Player.GetProperties","params":{"playerid":0,"properties":["percentage","time","totaltime"]},"id":1}'); elseif ( (fibaro:getGlobalValue(globVar) == "Movies") or (fibaro:getGlobalValue(globVar) == "TVShows") or (fibaro:getGlobalValue(globVar) == "PVR") ) then response,status, errorCode = XBMC:GET('/jsonrpc?request={"jsonrpc":"2.0","method":"Player.GetProperties","params":{"playerid":1,"properties":["percentage","time","totaltime"]},"id":1}'); end elseif (label == "4") then response,status, errorCode = XBMC:GET('/jsonrpc?request={"jsonrpc":"2.0","id":1,"method":"Playlist.GetItems","params":{"properties":["title","artist"],"limits":{"start":0,"end":5},"playlistid":0}}'); end local t = nil; t = json.decode(response); if (label == "1") then fibaro:call(selfId, "setProperty","ui.sldVolume.value",t.result.volume); elseif (label == "2") then if ( (fibaro:getGlobalValue(globVar) == "PVR" )) then fibaro:call(selfId, "setProperty", "ui.lblXbmc2.value", t.result.item.label); elseif ( fibaro:getGlobalValue(globVar) == "Movies" ) then local currentValue = t.result.item.set; if (currentValue == "") then data = "No Saga"; else data = "Saga: " .. currentValue; end fibaro:call(selfId, "setProperty", "ui.lblXbmc2.value", data); elseif ( fibaro:getGlobalValue(globVar) == "Music" ) then fibaro:call(selfId, "setProperty", "ui.lblXbmc1.value", t.result.item.title); if ( tostring(t.result.item.albumartist[1]) == "Various artists" ) then fibaro:call(selfId, "setProperty", "ui.lblXbmc3.value", tostring(t.result.item.artist[1]) .. " / " .. t.result.item.album); else fibaro:call(selfId, "setProperty", "ui.lblXbmc3.value", tostring(t.result.item.albumartist[1])); end end elseif (label == "3") then fibaro:call(selfId, "setProperty", "ui.sldPercentage.value",string.match(t.result.percentage, "(%d.*%.%d%d)")); fibaro:call(selfId, "setProperty", "ui.lblTime.value",t.result.time.hours .. ":" .. t.result.time.minutes .. ":" .. t.result.time.seconds .. " / " .. t.result.totaltime.hours .. ':' .. t.result.totaltime.minutes .. ':' .. t.result.totaltime.seconds); elseif (label == "4") then fibaro:debug("ok"); fibaro:debug(tostring(t.result.items[1])); fibaro:call(selfId, "setProperty", "ui.lblXbmc2.value", tostring(t.result.items[1].title .. '\n' .. t.result.items[2].title .. "\n" .. t.result.items[3].title .. "\n" .. t.result.items[4].title .. "\n" .. t.result.items[5].title)); end end) if (not xbmcFunction) then fibaro:debug('Decode raised an error'); end end if ( (fibaro:getGlobalValue(globVar) == "PVR") or (fibaro:getGlobalValue(globVar) == "Movies") ) then xbmcJson("2"); fibaro:sleep(1000); end if ( fibaro:getGlobalValue(globVar) == "Music" ) then xbmcJson("4"); fibaro:sleep(1000); end xbmcJson("1"); fibaro:sleep(1000); xbmcJson("3"); j'ai en debug le message suivant "[DEBUG] 22:04:15: Decode raised an error qu'est ce qui cloche ? Merci pour votre aide
Shad Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 As-tu bien configurer l'addon xbmc?
razell Posté(e) le 20 août 2014 Signaler Posté(e) le 20 août 2014 Oui car tout le reste fonctionne parfaitement... c est juste cette partie qui ne va pas
Shad Posté(e) le 20 août 2014 Auteur Signaler Posté(e) le 20 août 2014 Poste les logs d'xbmc pour les requêtes.
Ez3kiel Posté(e) le 9 septembre 2014 Signaler Posté(e) le 9 septembre 2014 Normalement, une variable globale avec des valeurs prédéfinie devrait se créer automatique grâce au plugin xbmc lors de la première lecture. Si ce n'est pas le cas créer en une avec pour valeur : - Empty - Movies - Music - PVR - TVShows - Ensuite vous devez importez le fichier vfib (virtual device) contenue dans le zip dans la HC2. Attention, si vous modifiez la variable globale "Xbmc_salon", pensé à faire pareil dans l'addon xbmc. Éditez l'adresse IP principal + celle des boutons N°4 / 8 / 9 / 10 / 18 pour y mettre celui de votre xbmc. salut à tous, j'ai un probleme avec ce tuto et j'aurais 2 questions : - Ou puis je voir si la variable a bien été créée ? C'est bien dans Panneau variables ? ( je ne vois rien ) et - a la lecture du code des buttons, j'ai l'impression que ce n'est plus la peine d'editer chaque bouton ? ( le bouton va chercher lui meme l'IP que j'ai renseigné pour le MV, non ?) local ip_module = fibaro:get(fibaro:getSelfId(), "IPAddress") local port = fibaro:get(fibaro:getSelfId(), "TCPPort") HC2 = Net.FHttp(ip_module, 8080) Duration = _sliderValue_ HC2:GET('/jsonrpc?request={"jsonrpc":"2.0","method":"Player.Seek","params":{"playerid":1,"value":'..Duration..'},"id":1}')
Shad Posté(e) le 9 septembre 2014 Auteur Signaler Posté(e) le 9 septembre 2014 Il faut que tu crée la variable, et non aucun besoin d'éditer les boutons maintenant, j'ai pas mis àjour le tuto.
Ez3kiel Posté(e) le 9 septembre 2014 Signaler Posté(e) le 9 septembre 2014 Merci Shad, La variable a créer c'est bien Xbmc_salon ?
xtrem57 Posté(e) le 12 septembre 2014 Signaler Posté(e) le 12 septembre 2014 Hello Shad, J'ai beaucoup de mal a mettre en place ce Virtual Device, peux-tu m'eclairer ? Virtual device + module XBMC importé depuis ici: http://passion-xbmc.org/addons/?Page=View&ID=fibaro.addon J'ai bien changé les adresses IP et le port (80 ici et non 8080) et crée la variable global Problèmes: - J'ai les boutons en "string" qui ne fonctionnent pas ( pourquoi c'est des strings ? ) - Je n'ai pas de remontée d'info Je précise que c'est sur la v4.017 beta
Shad Posté(e) le 12 septembre 2014 Auteur Signaler Posté(e) le 12 septembre 2014 édite le code pour changer le port dans le code.
xtrem57 Posté(e) le 12 septembre 2014 Signaler Posté(e) le 12 septembre 2014 C'est deja fait, j'ai mis le 80 au lieu du 8080
Shad Posté(e) le 12 septembre 2014 Auteur Signaler Posté(e) le 12 septembre 2014 Remet les ports en string en 9090 et laisse le code en 80.
Messages recommandés