Freebox Player

  • État Close
  • Type de tâche Anomalie
  • Catégorie Periph. d'interface utilisateu → Télécommandes réseau
  • Assignée à Personne
  • Système d'exploitation Tous
  • Sévérité Critique
  • Priorité Normale
  • Basée sur la version Courante
  • Due pour la version Non décidé
  • Date d'échéance Non décidé
Concerne le projet: Freebox Player
Ouverte par 38chris713705 (38chris713705) - 05/08/2014
Dernière édition par Arnaud Vrac (rawoul) - 20/08/2014

FS#15570 - Plus de télécommande réseau depuis la dernière MAJ

Depuis la dernière MAJ, on n’a plus l’information du code réseau de la télécommande. Et pour cause, elle ne fonctionne plus en réseau, donc les applis pour télécommander la freebox à distance en rentrant ce fameux code réseau (du genre Freebox Remote for Mac, ou encore Télécommande virtuelle pour Freebox pour Chrome) ne fonctionnent plus. Vite vite un correctif ! Car j’ai payé une appli pour ça... qui ne fonctionne plus !!!

Close par  Arnaud Vrac (rawoul)
Wednesday 20 August, 2014 11:59:10
Raison de clôture :  Résolu
Commentaires supplémentaires de clôture :  Corrigé en 1.2.17

Cette tache ne dépend pas d'autre tache

mickeul16 (mickeul16)
Tuesday 5 August, 2014 09:57:16

Je confirmes la disparition des infos télécommande, et l'inactivation des télécommandes virtuelles qui en découlent

kmf31 (kmf31)
Tuesday 5 August, 2014 10:48:21

Chez moi la telecommande virtuelle ne fonnctionne pas non plus depuis la MAJ 1.2.16 du Player (Freebox V6).

En Linux (avec irexec) ca me fait un message se terminant:

Resolving hd1.freebox.fr (hd1.freebox.fr)... 212.27.40.254
Connecting to hd1.freebox.fr (hd1.freebox.fr)|212.27.40.254|:80... connected.
HTTP request sent, awaiting response... 403 Forbidden
2014-08-05 12:36:27 ERROR 403: Forbidden.

et avant ca se terminait avec:

Resolving hd1.freebox.fr (hd1.freebox.fr)... 212.27.40.254
Connecting to hd1.freebox.fr (hd1.freebox.fr)|212.27.40.254|:80... connected.
HTTP request sent, awaiting response... 200 OK

Arnaud Vrac (rawoul)
Tuesday 5 August, 2014 17:30:55

L'API HTTP pour les télécommandes réseau a été supprimée en 1.2.16. Cette API est obsolète depuis plus de deux ans, il faut contacter l'auteur de l'appli en question pour lui dire de la mettre à jour avec cette API:

http://dev.freebox.fr/sdk/

alban3610 (alban3610)
Tuesday 5 August, 2014 18:45:17

bonjour,

je m'excuse par avance de poster ici mais ma question est en rapport avec ce soucis.

Du coup les applications télécommande PC ou Android qui demandent le code de la télécommande sont donc aussi obsolète du coup car depuis cette mise a jour le code de celle ci n'est plus donnée ou es ce que ce code nous pouvons le trouver autrement ?

38chris713705 (38chris713705)
Tuesday 5 August, 2014 18:59:49

Pour Arnaud Vrac...

Et quand il est impossible de contacter l'auteur d'une appli, du genre Freebox Remote for MAC, comment fait-on ? On n'a que les yeux pour pleureur de ne plus pouvoir utiliser une appli qu'on a payé !!?? Il faudrait peut-êtrte remttre en fonctionnement quelque chose qui fonctionnait bien jusque-là : la fonction réseau de la télécommande.

38chris713705 (38chris713705)
Tuesday 5 August, 2014 19:01:19

Pour Alban3610...

Ne t'excuses pas, c'est une bonne question. Le code n'est plus donné, et il est impossible de le trouver autrement, car tout simplement il n'existe plus. Et il n'existe plus, car je pense que la fonction réseau de la télécommande a été supprimée

aslan58 (aslan41)
Tuesday 5 August, 2014 19:36:32

Entre parenthèse il y à aussi le nivea

aslan58 (aslan41)
Tuesday 5 August, 2014 19:39:14

Entre parenthèses il à aussi le niveau des piles et du signal qui ont disparus.
De mon côté je n'ai plus également le numéro du lecteur Blu-Ray (006 en ce qui me concerne).

Eric Blanquer (iop)
Tuesday 5 August, 2014 20:08:00

@Arnaud Vrac : je suis l'auteur d'une télécommande virtuelle en HTML/javascript pour Chrome/Firefox & Windows, c'est bien beau de dire qu'il faut utiliser la nouvelle API mais comment utiliser de l'UDP en javascript ???

Chrome le propose mais en aucun cas Firefox et encore moins les gadgets Windows... :(

La perte de cette API va gêner les ~12000 utilisateurs sous Chrome, je vais donc bosser à en créer une autre, mais aussi les ~4000 sous Firefox

https://chrome.google.com/webstore/detail/t%C3%A9l%C3%A9commande-virtuelle-fr/fdhpkpfbolhjcbejckjbiciinkcjlijj?hl=fr

https://addons.mozilla.org/fr/firefox/addon/t%C3%A9l%C3%A9commande-virtuelle-freebox/

PacLibre (PacLibre)
Tuesday 5 August, 2014 20:39:17

@iop : dommage, j'aimais bien ta télécommande. Je fais partie des 4000 sous Firefox...

Eric Blanquer (iop)
Tuesday 5 August, 2014 20:46:35

idem, j'utilise Firefox, j'arrive pas à passer à chrome, et en plus j'affiche la télécommande avec 1000px de hauteur et je ne comprends pas pkoi Chrome limite son affichage à 600px... :(

38chris713705 (38chris713705)
Tuesday 5 August, 2014 21:05:48

Merci Eric Blanquer et PacLibre : ça confirme que le problème n'est pas que le code réseau soit obsolète ou non, mais bel et bien que depuis la MAJ il ne fonctionne plus et que ce n'est absolument pas normal. Alors une fous de plus : vite vite un correctif !!! Beaucoup d'applis risquent de mourir à cause de ce bug

mickeul16 (mickeul16)
Wednesday 6 August, 2014 09:20:09

Il aurait peut-être fallu se concerter avec les auteurs d'applis télécommande avant de décider unilatéralement de l'obsolescence de l'API , vous ne croyez pas?

mickeul16 (mickeul16)
Wednesday 6 August, 2014 09:21:49

Ou alors développez (ou faites développer) une appli officielle pour tous les OS qui n'ont pas besoin de cette API, et pas seulement pour iOS/Android

Mickaël (Bigwiz)
Wednesday 6 August, 2014 09:54:36

Je suis d'accord avec Mickeul16, il aurait fallu se concerter avec les auteurs d'applis télécommande avant de supprimer cette fonction !

Sur mon iPhone, la télécommande de l'application MyCanal fonctionne toujours ainsi que celle de de Logimax Myfreebox révolution car elle utilise la nouvelle API, mais ceux qui ont acheté des applications utilisant l'ancien système ont de quoi être mécontent !

Mario (mario13)
Wednesday 6 August, 2014 10:11:47

Bonjour, je demande au développeur Free si ils vont mettre en place une alternative mais toujours via le protocole HTTP ? car via la nouvelle api certaine application ne sont pas possible en UDP... merci

Arnaud Vrac (rawoul)
Wednesday 6 August, 2014 10:12:30

Je crois que c'est possible de faire de l'UDP avec l'API de chrome mais ca rend effectivement l'implementation tres compliquée vu qu'on ne peux pas utiliser la bibliothèque C foils_hid. Je vais voir si on peut remettre l'API http... Je ne garantis rien.

Mario (mario13)
Wednesday 6 August, 2014 10:17:41

Merci Arnaud Vrac de remettre l'API ça serait le TOPPPPPP !!!! :)

Jarod_ (Jarod_)
Wednesday 6 August, 2014 11:46:39

Quelqu'un a de la documentation claire (et éventuellement en français) sur comment piloter la Freebox Player avec la nouvelle API ? La page http://dev.freebox.fr/sdk/ est immonde et incompréhensible...

Du genre "pour allumer faut faire ça, pour changer de chaine faut faire ça, etc." ?

En HTTP ça avait l'avantage d'être hyper simple et largement documenté...

Jay (agentsonore)
Wednesday 6 August, 2014 16:29:23

Tout a fait d'accord avec @Jarod_ , une documentation simple pourrait nous permettre de faire la transition ( et prévenir de l'abandon de l'ancienne API aurait pu être appréciable ).
Est ce qu'il y aurait quelqu'un ici sur le forum qui serait capable de nous expliquer de manière simple la nouvelle API?

Merci d'avance

Jay (agentsonore)
Wednesday 6 August, 2014 17:56:25

@docmarc Merci! Je vais regarder ça ce soir..ça sent la nuit blanche...

docmarc (docmarc)
Wednesday 6 August, 2014 18:21:44

et en plus depuis 2011 qu'il previenne que UDP remplace

http://dev.freebox.fr/blog/?p=790

Eric Blanquer (iop)
Thursday 7 August, 2014 00:26:49

Le plus complexe est l'implémentation d'un périphérique HID en UDP avec du javascript, Chrome gère l'UPD, je découvre bien le service _hid de ma freebox,
je vois bien quoi lui envoyer comme descripteur de périphérique (clavier/souris) mais il me manque la partie connexion qui est apparemment géré par la librairie ela en C (libela : https://github.com/fbx/libela/)
If faut que je trouve un cours sur le protocole HID ! :/

Eric Blanquer (iop)
Thursday 7 August, 2014 00:59:17

ou alors mon descripteur n'est pas valide...

Jay (agentsonore)
Thursday 7 August, 2014 01:03:54

Je viens de faire le tour et clairement ça dépasse mes compétences, je vais tenter de faire du port mirroring demain pour voir comment se fait le dialogue entre l'app ios qui marche et la freebox, çà risque de plus me parler que les 60 pages d'API.

Courage @iop

Jarod_ (Jarod_)
Thursday 7 August, 2014 06:25:50

@iop : tu peux partager ce que tu as fait pour le moment en javascript stp ? Moi j'utilise un NodeJS qui offre plus de fonctionnalités donc ça pourrait me servir de base !

samuel14 (samuel14)
Thursday 7 August, 2014 09:15:52

Cela fait bien longtemps que demandons une évolution de l'API http en expliquant que la nouvelle API ne nous convient pas (FS#7579).
Ne plus la faire évoluer ok, admettons, mais la supprimer c'est vraiment stupide.
La logique d'une entreprise qui vend du "service" n'est-elle pas de répondre aux demandes des clients ? Qui demande que vous supprimiez une fonctionnalité ?
Avez-vous au moins fait des stats d'utilisation de l'API http avant de la supprimer pour évaluer le nombre d'utilisateurs impactés ?

J'utilise l'application iRule sur mon iPad pour contrôler tout mon système home-cinéma, maintenant j'ai une belle page freebox qui ne fonctionne plus du tout. Je suis obligé de ressortir la télécommande juste pour cet équipement qui est celui que j'utilise le plus. Si l'API ne revient pas c'est le player qui va disparaitre de chez moi car il n'aura plus vraiment d'intérêt !
Lorsque le freebox serveur est en panne il n'est plus possible d'allumer le player pour lire un fichier multimédia local (même avec une ligne internet ok et un routeur de secours), les boitiers femto sont mieux dans un tiroir que dans le serveur, le wifi fonctionne franchement très mal et maintenant il n’y plus d’API http.
Je pense que vous allez pouvoir renommer la freebox Revolution en freebox REGRESSION.

Eric Blanquer (iop)
Thursday 7 August, 2014 09:57:02

@Jarod : je ne peux pas partager mon code dans l'état actuel,

mais je suis parti de cette application Chrome pour la découverte du service _hid : https://github.com/GoogleChrome/chrome-app-samples/tree/master/mdns-browser

et des descripteurs clavier/souris fournit ici : http://dev.freebox.fr/sdk/foils_hid/#_HID_notes

je pense que je dois mal envoyer les datas qui doivent correspondre à ce protocol : http://dev.freebox.fr/sdk/foils_hid/#_Protocol

;)

Eric Blanquer (iop)
Thursday 7 August, 2014 10:21:07

@samuel : le pire est qu'on nous impose cette MAJ pour soit disant corriger des bugs que je n'avais pas chez moi, donc a part la perte de l'API je ne vois pas l'utilité de cette MAP pour moi en tout cas !

On devrait pouvoir choisir sa version de firmware, je serais bien resté à la 1.2.15 moi ! :/

Kiwan (Kiwan)
Thursday 7 August, 2014 12:49:52

J'utilise le module pour firefox suivant https://addons.mozilla.org/fr/firefox/addon/t%C3%A9l%C3%A9commande-virtuelle-freebox/ et depuis la maj elle ne fonctionne plus. Le développeur indique qu'il ne pourra plus la faire marcher avec firefox! Pourtant c'était bien pratique d'avoir la télécommande depuis mon navigateur!

Mario (mario13)
Thursday 7 August, 2014 12:55:34

@Arnaud Vrac (rawoul) : Bonjour, avez-vous des nouvelles concernant la réintégration de l'API HTTP ? Merci

Florian (Hergo)
Thursday 7 August, 2014 14:26:17

Bonjour,

Je rajoute que je suis aussi favorable à la remise en place de API HTTP.
Toute fois dans la mesure où c'est pas pérenne à fortiori. Pouvez vous m'indiquer comment exécuter un simple 0x30 (Power) par exemple en PHP, ci-dessous mon code (qui ne fonctionne pas). Pourtant je le tire d'un prog qui fonctionne en UDP sur un autre serveur :

#!/usr/bin/php -q
<?php

$server_ip = 'hd2.freebox.fr';
$server_port = 4242;
$pause = 5;
$message = '0x30';

//$r = open("/dev/urandom", "r")

if ($socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)) 
{
	while (1) 
	{
		socket_sendto($socket, $message, strlen($message), 0, $server_ip, $server_port);
		//print "Time: " . date("%r") . "\n";
		sleep($pause);
	}
} else 
{
	print("marche pas\n");
}

echo "\n\n";

Merci de vos retours.

Laurent (laurent035)
Thursday 7 August, 2014 14:30:07

Bonjour,
Depuis une box domotique présente dans mon réseau local je peux créer des requetes HTTP ou UDP.
Coté HTTP ça semble maintenant HS sauf si l'API revient. Mais coté UDP, pouvez vous m'aider à trouver comment remplir les différents champs de ma requette pour par exemple allumer le player n°1 ou n°2 ?

Voici les champs que je peux/dois remplir:

Type: UDP
Host:
Port:
Source port:
Retries:
Body:

Merci

38chris713705 (38chris713705)
Friday 8 August, 2014 09:10:20

Je sais pas si l'API HTTP était devenu obsolète depuis 2 ans, mais en tout cas quand je vois toutes ces réactions sur mon post, je ne dis pas bravo au développeurs de chez Free. Ils ont foutu un bazard, c'est incroyable !!! Quand bien même cette API était réellement obsolète, pourquoi la supprimer quand elle est encore utilisée par des dizaines d'applis ? Dans que but ? Ca ne set à rien ce qu'ils ont fait !!!

Aleks (Aleks)
Friday 8 August, 2014 12:31:40

Bonjour,

Je suis l'auteur d'une application télécommande pour Windows 8 et Windows Phone 8 Ca fait des mois que j'essaye d'implémenter la nouvelle API mais franchement ce n'est pas simple.
C'est bien beau de donner une documentation générale sur les protocoles utilisés et des exemples de code (en C) pour faire un serveur et un client.
Mais s'il vous plait, mettez-vous à la place des développeurs d'applications ... nous le serveur on n'en a pas besoin et les exemples qui nous seraient utiles ça serait plutôt des choses plus concret comme allumer, eteindre, augmenter le son (etc.) de la Freebox.
Serait il possible d'avoir également une cinématique de "messages" (dans le bon ordre) à envoyer ?
Exemple :

  1. 1 : Trouver les freebox en envoyant tel message mDNS
  1. 2 : Enregistrer le périphérique en envoyant tel(s) message(s)
  1. 3 : Envoyer tel message pour augmenter le son

Merci.
Cordialement,
Aleks

Jay (agentsonore)
Friday 8 August, 2014 13:32:22

Bon...
Je pense qu il faut qu on arrête tous de pleurer suite a la disparition de la précédente API, puisque la nouvelle est censée être mieux!!?
Mais pour ça il faudrait qu on arrive a l utiliser et une version plus simple de cette nouvelle API est INDISPENSABLE !
Donc je rejoins complètement la demande d @Aleks.
Si quelqu un de la team Free ou bien un dev aguerri pouvait nous aiguiller, ça serait top!

Merci d avance

samuel14 (samuel14)
Friday 8 August, 2014 14:41:52

Je ne vais pas arrêter de pleurer, la nouvelle API est peut-être "mieux" pour certains mais elle ne me sert à rien.
J'ai besoin de pouvoir commander la FB en http ! Avec une adresse ip.

L'UDP est le mDNS ça ne me sert à rien comme pour les autres utilisateurs de logiciel de "télécommande universelle". A moins que les éditeurs ne s'amusent à développer un module spécifique pour les français pour la freebox mais à mon avis ils ont mieux à faire.

C'est tout de même un comble qu'à l'heure des "SmartTv" et autres objets connectés, lorsque les constructeurs se mettent à intégrer des ports Ethernet sur leurs produits et à fournir des possibilités de contrôle IP via http, free le supprime de sa box !

cnelson (cnels)
Friday 8 August, 2014 17:14:09

Meme soucis depuis la maj
Help
Tous mes pilotages automatisés (domotique) ne fonctionnent plus !!!

SVP corrigez ça...

kantin (katanes)
Sunday 10 August, 2014 09:13:14

Non mais vous êtes complètement décalé les Free tech....Votre page sur la nouvelle API est inutilisable et franchement je commence a me dire que vous n'avez pas de dev chez vous...Aucun exemple de code.... chapeau les artistes....
Faite les choses dans l'ordre ...Agrémenter votre page de code réutilisable ou avec des exemples et ensuite virer l'api HTTP....Vous ennuyez du monde les Mecs...
Merci de réagir rapidement et virer le chef de projet il est sur la lune au lieu d'etre en France

Cordialement ,
Dev

Julien Le Bourg (Wolfpack)
Sunday 10 August, 2014 10:11:40

je vais voir ce que je peux faire en python ce midi.

samuel14 (samuel14)
Sunday 10 August, 2014 11:48:48

Arrêter d’écrire que l'on pourra virer l'ancienne API lorsque vous réussirez à utiliser la nouvelle, ce n'est pas parce que vous n'en aurez plus besoin que c'est le cas de tous.

Comme je l'ai écrit, les éditeurs de logiciels de télécommande universelle pour tablette et smartphone qui sont majoritairement américains ne vont pas aller développer un module mdns/udp pour la freebox française dont ils n'ont rien à faire.
Leurs produits sont compatibles avec tout matériel pilotable en http, remettez-nous l'api http en route.
Le freebox player était déjà le matériel "en-dessous" des autres car c'était le seul à ne pas faire de retour d'état pour savoir si les commandes étaient bien prises en compte ou pour interroger son état (service en cours, chaîne, volume...) mais maintenant c'est le seul non pilotable ou alors en revenant à la préhistoire avec un dongle infra-rouge et une passerelle IP→IR !

Julien Le Bourg (Wolfpack)
Sunday 10 August, 2014 12:09:08

alors après analyse.

Le première chose à faire est un discover sur le mdns comme d'autres l'ont indiqué.
Le code est en python 3 mais ca doit etre fonctionnel en python 2.

Vous avez besoin de zeroconf qui est un module dispo avec pip install zeroconf.

code :

from zeroconf import raw_input, ServiceBrowser, Zeroconf

class MyListener(object):

    def removeService(self, zeroconf, type, name):
        print("Service %s removed" % (name,))

    def addService(self, zeroconf, type, name):
        info = zeroconf.getServiceInfo(type, name)
        print("Service %s added, service info: %s" % (name, info))


zeroconf = Zeroconf()
listener = MyListener()
browser = ServiceBrowser(zeroconf, "_hid._udp.local.", listener)

Ensuite le protocole décrit la manière dont le packet udp doit être formé pour créer un "New Device" pour le serveur.

Pour le moment je bloque sur la structure mais en python ca va êre un truc du genre :

sock.sendall("\x10\x01\x00\x00\x1D\x39\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x4D\x6F\x6E\x53\x63\x72\x69\x70\x74\x51\x75\x69\x44\x65\x63\x68\x69\x72\x65\x54\x6F\x75\x74\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x70\x00\x50\x00\xC0\x00\x00\x00\xC0\x00\x00\x05\x0C\x09\x01\xA1\x01\x85\x01\x95\x01\x75\x10\x19\x00\x2A\x8C\x02\x15\x00\x26\x8C\x02\x80\xC0\x05\x01\x09\x06\xA1\x01\x85\x02\x05\x07\x95\x01\x75\x08\x15\x00\x26\xFF\x00\x05\x07\x19\x00\x2A\xFF\x00\x80\xC0\x05\x01\x0A\x80\x00\xA1\x01\x85\x03\x75\x01\x95\x04\x1A\x81\x00\x2A\x84\x00\x81\x02\x75\x01\x95\x04\x81\x01\xC0\x00\x00\x00\x00\x00\x00\x00\x00")

Je poste le code quand j'ai fini

Julien Le Bourg (Wolfpack)
Sunday 10 August, 2014 13:18:59

En fait c'est comme écrire un driver de périphérique usb. il faut un descriptor, et tout... ca doit etre conforme a la norme HID... qui a eu cette idée :p

kmf31 (kmf31)
Sunday 10 August, 2014 13:35:18

Pour decouvrir le service sur le mdns en Linux (avec zeroconf, avahi, avahi-utils etc. installe) on peut par exemple faire la commande:

avahi-browse -rt _hid._udp

ce qui donne par exemple:

+ br0 IPv4 Freebox Player _hid._udp local
= br0 IPv4 Freebox Player _hid._udp local

 hostname = [Freebox-Player.local]
 address = [192.168.1.XX]
 port = [YYYYY]
 txt = []

ou XX et YYYYY sont des chiffres pour l'IP de Freebox-Player et le port udp YYYYY.

En fait j'ai fait un petit script: "get_hid_info.sh" contenant:


avahi-browse -rt _hid._udp > hid_info.dat

grep hostname hid_info.dat | cut -d \[ -f 2 | cut -d \] -f 1 > hid_hostname.dat
grep address hid_info.dat | cut -d \[ -f 2 | cut -d \] -f 1 > hid_address.dat
grep port hid_info.dat | cut -d \[ -f 2 | cut -d \] -f 1 > hid_port.dat


qui cree trois fichiers hid_hostname.dat, hid_address.dat et hid_port.dat avec les infos utiles du "discover". Je suppose on peut mieux faire avec les bibliotheques zeroconf utilise dans un programme C etc. mais cela me suffit.

Enfin, "ce probleme" est resolu (en Linux !). C'est deja ca.

Apres j'ai reussi d'installer les trois bibliothques: libela, librudp et foils_hid d'apres les liens. Cela a quand meme necessite de contourner plusieurs obstacles, relie au github (et j'ai pourtant d'habitude de "git", heureusement il y a des fichiers zip a telecharger !), la compilation avec autoconf (⇒ d'abord pleins de messages d'erreurs ⇒ mais solution grace a google et le message d'erreur et certaines commandes pour bien preparer l'autoconf) et apres le truc usuel (./configure, make, make install). Il faut installer les 3 bibliotheques dans l'odre et surtout le hyper-mega-piege ultime: AVANT TOUT, on doit ABSOLUMENT installer la bibliotheque "libevent" (qui fait normalement partie de tout systeme Linux, c.-a-d. soit c'est deja installe ou soit c'est facilement a installer avec la methode de sa distribution, par exemple "sudo apt-get –install ..." en debian, ubuntu ou le software manager dans suse etc.). Seulement la bibliotheque libevent ne suffit pas on doit aussi avoir le package libevent-dev ou libevent-devel ou similaire (contenant les fichiers.h, les "headers") absolument necessaire pour pouvoir compiler un programme utilisant libevent.
Si on n'installe pas libevent alors libela compile quand meme et ca SANS message d'erreur mais le resultat ne fonctionne pas de tout (eventuellement core-dump ou bus-erreur de certains exemples/applications).

Donc:
1) installer avec sa distrubtion libevent ET SURTOUT libevent-devel ou similaire
2) deballer zip de libela, faire autoconf (apres resolution de certains problemes associes a ca) et apres ./configure, make, make install
(chez moi il fallait aussi editer le script ./configure pour reparer un bogue/syntax erreur si on n'a pas de systeme mac).

3) refaire 2 pour librudp (ici heureusement pas necessiare d'editer ./configure, ca marche directement)
4) refaire 2 pour foils_hid

apres on peut aller dans le dossier racine de foils_hid (c'est foils_hid-master ) et ici on trouve le dossier test avec des exemples, notamment la commande "remote" qui fait une telecommande virtuelle simpliste en ligne de commande et qu'il faut appeler avec:

./remote ip port

ou ip et port ont ete obtenus ci-dessus comme IP et port du freebox-player.

Jusqu'ici ca marche.

Par contre apres si on veut modifier le programme "remote.c" c'est la vraie galere.

Concernant la doc sur le site ici, je suis desole mais c'est vraiment tres tres mauvais. Meme si je ne suis pas developpeur professionnel de ce genre d'applications j'ai une tres bonne experience en programmation C et C++, savoir utiliser d'autres bibliotheques dans mes programmes par exemple libgif, libgmp, libfftw3 etc. et pour ces trois exemples la doc sur le site web est tres largement superieure a la doc sdk ici.

La doc de l'API ici n'est tout simplement pas complete: elle omet pleins de choses, details, a la fois au niveau conceptionnel et aussi pour la signification exacte de certaines structures et leurs elements (et il y en a tres nombreuses structures a maitriser !). Il faut deja etre un professionnel de programmation "event" etc. et meme avec ca il faut "deviner" et "supposer" pleines de choses (par exemple que sont les unites en ms pour le timeout etc. ?).

Aussi dans le programme remote.c on ne peut pas simplement identifier les fonctions essentiels a modifier etc. car on doit programmer plusieures fonctions avec des consignes precises (mais relativement "inconnues" quand meme !, c'est ca le probleme !) et donner ces fonctions comme parametres a un truc de la bibliotheque.

Personnellement, mon but est tres simple: ecrire un petit programme en Linux (peu impore script, C, perl, ...) qui mange un parametre simple en ligne de commande et qui effectue une seule action de la telecommande en fonction du parametre. Avec ca je pourrai reutiliser ma telecommande USB connecte en PC grace a irexec et ce que je faisais depuis longtemps avec le protocol http et en utilisant wget.
Meme cette tache minimaliste n'est pas evidente. Enfin, je pense quand meme pouvoir y arriver mais je dois encore mieux analyser, comprendre le remote.c comme exemple.

Apres pour faire en java, python etc. je n'ai tout simplement aucune idee et pas non plus pour Windows.

Bonne chance a tout le monde. Ce n'est pas gagne.

J'ai quand meme une question technique pour le port UDP obtenu par le discover: Il change comment ? A chaque reboot de Player ou plus souvent ou moins souvent ? Faut-il refaire le discover tout le temps ?
Pour l'IP du player j'utilise depuis longtemps un bail permanent (deja pour d'autres raisons) mais pour le port UDP j'aimerais savoir sur combien de temps il ne change pas car on ne peut pas refaire le discover a chaque fois (ca prend facilement une seconde).

Laurent Mangane (Laurent Mangane)
Sunday 10 August, 2014 16:23:53

API obsolète ou pas (d'ailleurs, qui déclare l'obsolescence alors que de nombreuses applis continuent de l'utiliser ⇒ d'accord avec mickeul16 concernant sa remarque très judicieuse), c'est la seule qui permettait de fonctionner comme un plug-in Mozilla. Finalement, je regrette d'être passée à cette 1.2.16 qui n'apporte absolument rien qui m'intéresse et au contraire supprime (et pour longtemps si j'en crois le développeur de la télécommande que j'utilise) une des fonctionnalités que j'utilisais tous les jours de manière intensive.

ianst (ian)
Sunday 10 August, 2014 16:48:00

Décision très bizarre de Free qui passe de précurseurs au neandertal !

Alors que tout monde s'y met et simplifie les choses (orange, bbox...) et même pour les TVs (Philips a abandonné son SDK usine à gaz pour du HTTP GET pour la télécommande depuis 2012), Free font marche arrière et passent d'un simple et universel HTTP GET à une usine à gaz rétrograde...

J'ai pas encore essayé de cross-compiler le SDK mais ca doit pas être simple, je ne pense pas que je vais le faire, car rien ne dit qu'il sera supporté rapidement et qu'il résistera aux nouveautés (exemple, 64 bits sur smartphones).

La moindre des choses aurait été de prévenir au moins 6 mois à l'avance de la date de fin de l'ancienne API pour que les devs puissent avoir le temps de s'adapter.

Vous prenez tout le monde en otage, perso je vais ajouter les autres boxs et dropper freebox en attendant d'avoir quelque chose de plus sur.

Julien Le Bourg (Wolfpack)
Sunday 10 August, 2014 17:05:10

J'en suis là en craftant les packets à la mano.

Pour comprendre le protocole.

Si un guru pouvait m'aider. genre M Nicolas Pouillon :p

sent :\x02\x01\x00\x00\xbd\x98\x00\x00\xd8\xae\xc2\x40
Received '\x03\x02\xbd\x98\x0f\x1a\x00\x01\x00\x00\x00\x01'
sent : \x10\x01\x00\x00\x1D\x39\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x54\xC3\xA9\x6C\xC3\xA9\x63\x6F\x6D\x6D\x61\x6E\x64\x65\x20\x46\x72\x65\x65\x54\xC3\xA9\x6C\x65\x63\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x70\x00\x18\x00\x88\x00\x00\x00\x88\x00\x00\x05\x0C\x09\x01\xA1\x01\x85\x01\x95\x01\x75\x10\x19\x00\x2A\x8C\x02\x15\x00\x26\x8C\x02\x80\xC0\x00\x00\x00\x00\x00\x00\x00\x00
Received '\x04\x03\xbd\x98\x0f\x1b\x00\x00J\x94\xdb\xc0\xff\xff\xff\xff'
Received '\x04\x07\xbd\x98\x0f\x1b\x00\x00J\x94\xdb\xc0\xff\xff\xff\xff'
Received '\x04\x07\xbd\x98\x0f\x1b\x00\x00J\x94\xdb\xc0\xff\xff\xff\xff'

Jennifer (jess007)
Sunday 10 August, 2014 19:59:47

Bravo free !

Avant, une simple ligne de commande compatible avec tous les navigateurs. C'était compatible tout système, ios, android, windows, etc... C'était beaucoup trop simple !
Des commandes uniquement pour le player, pas besoin de sécuriser car aucune fonction vitale...

Maintenant, il faut un serveur, une programmation de ouf et compatible pratiquement avec rien !

C'est ça l'avenir ? c'est ça que l'on enseigne à l’école 42 ? J'espère que non et que les dev vont se rendre compte de leur conner.... euh erreur et que cet api reviendra vite fait à la prochaine mise à jour.

J'ai un systéme domotique maison ou absolument tout est piloté en requette http, si free persiste, je vais revenir avec dépit chez orange, pas le choix, plus rien ne marche !

38chris713705 (38chris713705)
Monday 11 August, 2014 10:36:25

Très content d'avoir ouvert cette tâche, car maintenant c'est presque devenu un forum d'entraide.

En tout cas j'espère qu'un dev de Free va relire cette tâche, et surtout qu'ils vont apporter un correctif, car obsolète ou pas, cette fonction API HTTP est encore largement utilisée, et sa disparition met visiblement beaucoup de monde dans l'embarras.

Et ce qui est super sournois de la part de Free, c'est que dans le descriptif de la MAJ 1.2.16, il ne parle absolument pas de cette évolution/suppression. Si on avait été mis au courant, c'est clair que je n'aurais pas fait la MAJ...

florian (floman321)
Monday 11 August, 2014 10:54:57

Moi aussi plus de domotique chez moi !
SOS !

Julien Le Bourg (Wolfpack)
Monday 11 August, 2014 12:12:46

Pour ceux qui veulent jouer avec le protocole.

https://github.com/1337Wolfpack/sendFreeboxHidCommands

j'ai pas terminé mais ca fonctionne pour envoyer des bêtes commandes à la box.
Si quelqu'un arrive à comprendre le protocole, moi je bloque sur les retours que j'obtiens de la box.
Je ne les comprend pas directement et ca m'enpeche de développer une api pour tout le monde.

Florian (Hergo)
Monday 11 August, 2014 12:53:22

@Wolfpack : Top, je test ça ce soir je te redis.

Beni33 (Beni33)
Monday 11 August, 2014 12:55:25

Bonjour,

Chez moi aussi la télécommande virtuelle ne fonctionne plus. Je ne suis pas ingénieur es machin chose, mais je me demande quel intérêt il y a eu de la supprimer. On parle obsolescence et ce depuis 2 ans, mais il y a seulement 30 jours ça fonctionnait correctement. A mon avis, c'est depuis la nouvelle mise à jour que ça dérape. Alors je veux bien comprendre qu'il y ait de nouveaux standards pour l'arrivée de la v7 et que du coup tout le monde doit se mettre aux normes (peut être fais je fausse route).

Autre point je vois que ça ne fonctionnera plus sous mozilla mais sous chrome (c'est à dire google, c'est à dire grosse boîte à fric du même type que microsoft). En attendant j'espère que Mozilla va pouvoir se mettre au gout du jour. Je ne doutes pas que des développeurs de tout horizons se décarcassent en ce moment (bonne chance à eux)

Julien Le Bourg (Wolfpack)
Monday 11 August, 2014 15:53:54

@ Florian. Pour info, pour le moment, j en suis a décoder le protocole rudp. C est pas si compliqué mais comme il y a pas trop de librairies qui le supporte, je veux faire un hack "horrible" en attendant mieux. Donc la j analyse les Packets et je vois ce qui fonctionne. Pour info il y a peu de chance que j arrive a réaliser ça tout seul. C pour ça que j ai poste mon code. Le problème est de faire enregistrer par le player un périphérique "USB" en passant par le réseau udp, avant même de pouvoir envoyer la moindre commande. Tout ça est encapsulé dans rudp (udp est pas fiable pour transporter des infos type hid, mais avec rudp ça devient possible. )

CHRISMENT Christophe (zobi)
Monday 11 August, 2014 16:30:20

Incroyable ...
Je suis moi aussi développeur, mais d'un genre un peu particulier ... Effectivement je développe des télécommandes "domotiques" via les applications iRule, Iviewer sur iOS.
Ces applications permettent la communication de multiple protocole et dialogue donc avec des maisons "intelligentes" ..
Désormais impossible de piloter la freebox depuis ces applis, effectivement il est impossible de piloter nos cher box en UDP avec des API totalement étrange qui ne peut être géré via du Javascript...
Bref je suis totalement perdu mes clients aussi que du bonheur ....

Florian (Hergo)
Monday 11 August, 2014 19:46:42

@julien. J'ai vu ta dernière MAJ ;). De mon coté toujours le même soucis de retour en PHP. J'ai donc pas pu regarder les HEX. Je ne sais pas si tu peux regarder mon code et me dire si tu vois quelque chose. Le packet part (sans erreur apparemment), mais pas de retour, et pas d'action coté Freebox. Git : https://github.com/FlorianHergo/Freebox_HMI_API/blob/master/shell_API_TEST J'ai utilisé ton message : 02010000bd980000d8aec240 , peux tu me dire ce qui doit actionner coté freebox logiquement ?

Julien Le Bourg (Wolfpack)
Monday 11 August, 2014 20:56:56

Je pense que c'est lié au protocole RUDP. honetement je l'ai eu par capture de packets.

J'ai la sensation que libela fait des choses "non documentées" par rudp, ou l'inverse.

De toutes facons je vais presque tout faire par reverse engeneering. la doc part du principe qu'on utilise le code et les headers fournis en C...

Julien Le Bourg (Wolfpack)
Monday 11 August, 2014 20:59:48

faut comprendre que le premier packet, c'est une connexion RUDP, et le deuxième, c'est le protocole FOILS, Par dessus rudp....

Rudp, qui est aussi un protocole a part entière, fonctionne indépendemment de FOILS, un vrai casse tête. c'est pour ca que je demande une vraie documentation du protocole par free. sinon ils vont m'entendre aux dev days xD (septembre)

Julien Le Bourg (Wolfpack)
Monday 11 August, 2014 21:20:44

pour info mon app est utilisée par une personne handicapée, qui a besoin des controles vocaux que je lui fournis. le code sera bientot libre mais je perds beaucoup de temps avec ce changement. Je veux bien donner de mon temps et implémenter rudp en python et JS, mais je demande un minimum d'aide par free. (la fréquence de mes édits ne doit pas être perçue comme de l'impatience, mais comme l'envie de bien me faire comprendre par les devs du firmware /os du player.)

Merci a vous. je trouve que le reste est super, l'os notammenent, avec le json et tout, c'est parfait et inter-opérable.

Par ailleurs la librairie QT que vous venez de lancer, je trouve merdique parce qu'encore une fois c'est pas web friendly...
C'est très bien pour des applis desktop... pas le reste.

rolly rolla (HackerVaillant33)
Monday 11 August, 2014 23:00:09

Je confirme que MALEUREUSEUMENT depuis la mise à jour du Freebox Player en 1.2.16 du 04 août 2014 plus aucun code de Télécommande réseau n’apparait plus nul part donc une fonction clé de la freebox Revolution se trouve supprimé, la Télécommande Réseau !

Merci a Free de corriger ce Bug

kantin (katanes)
Tuesday 12 August, 2014 05:17:34

Pourriez-vous réagir Free parceque les mecs qui ont "tout compris" ne vous comprennent plus....
Vite svp....................

Samuel Schmidt (samleherisson)
Tuesday 12 August, 2014 08:20:35

Depuis la mise à jour du Freebox Player en 1.2.16, la télécommande réseau ne fonctionne plus.

Sur le site d'assistance free, il parle de commander la Freebox Player au moyen d'un clavier USB branché sur la prise de façade et cela fonctionne MAIS......
On a accès à moins de fonctionnalités (Clavier USB) qu'avec la télécommande réseau et en particulier le bouton Power.

Cela me choque particulièrement car leur solution de secours se révèle moins utile que la solution qui a été supprimée.

Je ne suis pas développeur et je vous remercie donc pour tous les efforts que vous faites pour corriger les dysfonctionnements générés par cette "évolution".

docmarc (docmarc)
Tuesday 12 August, 2014 09:28:57

mettez en place une pétitions mettez la pression sur l'aduf, universfreebox et freenews , pour qu'il relaye la détresse des développeurs face a ce probleme ?

Beni33 (Beni33)
Tuesday 12 August, 2014 09:55:52

Depuis le début, les mises à jours ont amenés beaucoup de bugs. Au final, des reculades par dizaine. Il faut cependant reconnaître qu'il y a eu, et heureusement, de grosses avancées. J'aimerais bien qu'il arrive à faire en sorte qu'on utilise la box comme un vrai magnétoscope (voir les tâches en questions).

Enfin pour ceux qui n'ont pas voté pour cette tâche, merci de le faire (en haut à gauche). Plus on sera nombreux et plus il prendront la tâche au sérieux (enfin il faut y croire).

Arnaud Vrac (rawoul)
Tuesday 12 August, 2014 11:02:26

@Wolfpack:

La doc des protocoles:

Ce sont les 2 seules pages interessantes si vous comptez réimplementer RUDP et le HID sans utiliser les bibliothèques librudp et foils_hid fournies par Freebox.

Un exemple de descripteur pour la telecommande:
https://github.com/fbx/foils_hid/blob/master/test/remote.c

Et libela ne sert que pour l'integration dans une main loop en C pour le dispatch des events, il n'y en a pas du tout besoin sinon.

fredclo (fredclo)
Tuesday 12 August, 2014 13:34:41

plus de domotique non plus. Dommage je l'utilisais tous les jours (pour programmer automatiquement une émission si je n'étais pas là, pour allumer la box en même temps que ma porte d'entrée...)
Très dommage !

Philippe ASTRUC (MacAbane)
Tuesday 12 August, 2014 17:52:29

Hello !
Je confirme aussi l'inaction des telecommandes en module sur Firefox, chrome et également une appli sur iOS ! (iphone si besoin de préciser :-D nom de l'appui : FreeSelect)
TOUTEFOIS, une autre fonctionne encore (si ça peut aider certains) bien que de façon un peu erratique. Il s'agit de "FreeTéléc".
Moi aussi je dis vite !

CHRISMENT Christophe (zobi)
Tuesday 12 August, 2014 17:59:52

Arnaud vrac il ne faut pas oublier non plus les dev de Javascript pour lesquel ce nouvel API est tout simplement inexploitable...

amonix75 (amonix75)
Tuesday 12 August, 2014 21:20:13

Je me suis créé un ptit serveur domotique qui parmi ces fonctions me permet d'afficher une page avec les horraire transilien en tant réel que j'ai mit en page d'accueil du navigateur du freebox player.
C'est pratique, allumage à 7h00, extinction à 8h00 et malgré aucun retour d'état de la freebox, sa marché pas mal. Et assé simple à développer en quelque ligne en PHP ou JS ...

Et maintenant ? plus rien ....

Faut absolument réactiver cette API HTTP et de plus il faut l'améliorer et permettre d'avoir quelques retours d'état de la freebox (allumé ? éteinte ? etc...). ou alors d'avoir une fonction (powerOff et powerOn) au lieu du simple power ...

Mais bon avant de parler de tout ça, réactivez l'API au plus vite SVP

olivier nasse (onasse)
Tuesday 12 August, 2014 21:46:10

Hello, je suis dégouté aussi, je viens de mettre en place un système domotique intégrant la freebox dans les scénarios... et hop quelques jour plus tard plus de freebox. il faut absolument réintégrer cette API HTTP!!! Même "obsolète" elle sert visiblement à beaucoup de monde.

Yohan (teix75)
Wednesday 13 August, 2014 12:44:03

Hello,

Effectivement, remettre l'API HTTP serait vraiment la solution la plus simple, cependant en essayant d'avancer sur le projet de test fourni sur le Github de Fbx, je rencontre un problème,
je suis en train de créer un projet en C afin d'envoyer les commandes a la Freebox :

int main(int argc, char **argv)
{

  struct ela_el *el = ela_create(NULL);
  assert(el && "Event loop creation failed");
  
  struct foils_hid client;
  
  
  int err = foils_hid_init(&client, el, &handler, descriptors, 1);
  if (err) {
      fprintf(stderr, "Error creating client: %s\n", strerror(err));
      return 1;
  }

  
  struct unicode_state ks = {
      .client = &client,
      .el = el,
  };
  
  mapping_dump();
  
  term_input_init(&ks.input_state, input_handler, el);
   foils_hid_client_connect_hostname(&client,"192.168.0.57", 24322, 0);
  foils_hid_device_enable(&client, 0);
  
  ela_source_alloc(el, release_cb, &ks, &ks.release);
  
  ela_run(el);
  
  term_input_deinit(&ks.input_state);
  foils_hid_deinit(&client);
  ela_close(el);
  return 0;

}

Le problème est assez simple, lorsque je lance la loop (ela_run) j'arrive bien a me connecté a la FreeBox (status me renvoi connecté), et je peux lui envoyer des commandes depuis l'entrée clavier, mais lorsque je désactive cette boucle, je ne sais pas comment me connecter (lorsque je consulte le status de ma connection je suis en "connecting")

Idéalement j'aimerais après avoir tout initialiser , simplement me connecter a la box et lui envoyer une commande.

@rawoul : Peux-tu m'éclairer sur ca?

Capitaineflam25 (Capitaineflam25)
Wednesday 13 August, 2014 13:02:07

Bonjour,

j'ai du mal à comprendre la disparition de l'ancienne API. Sa coexistence avec la nouvelle posait-elle des problèmes de perfs, de sécurité, de complexité de code à maintenir ?

Cela aurait été tout de même super pratique de maintenir les 2 car dans certains cas d'apps, la migration risque d'être couteuse voire impossible.

En espérant voir réapparaitre l'API HTTP dans la prochaine MAJ.

Bien cordialement

Jarod_ (Jarod_)
Wednesday 13 August, 2014 19:52:12

Ce qui serait cool de la part de Free est une réponse officielle du genre : « On vous a entendu et on va faire le nécessaire, d'ici 7 jours ça sera revenu », ou « Le chef il est en vacances jusqu'au 31 août donc on ne peut pas se prononcer pour le moment », ou « désolé mais vous devrez utiliser l'API hyper compliquée mais on va vous aider », ou encore « non non non, on s'en moque de vos besoins, vous n'avez qu'à utiliser notre API super compliquée et on ne vous aidera pas »... Enfin quelque chose quoi !

folkers (folkers)
Wednesday 13 August, 2014 21:09:39

Snif plus de commande vocal pour changer les chaîne de la freebox par la voix a cause de ce changement

SLMitch (SLMitch)
Friday 15 August, 2014 11:44:37

Idem, j'ai commencé à regarder la nouvelle API, mais je n'ai pas le niveau necessaire pour faire un client from scrach, et je n'arrive pas a trouver d'exemple de code simple pour juste envoyer une touche.

Jarod_ (Jarod_)
Saturday 16 August, 2014 10:17:33

Pour info, vous pouvez utiliser l'application "Bnjour Browser" (https://play.google.com/store/apps/details?id=com.grokkt.android.bonjour) sous Android pour connaitre l'IP et le port du Player. Il suffit de cliquer sur "local." puis sur "_hid._udp." puis sur "Freebox Player" pour récupérer ces informations.

Maxime81 (Maxime81)
Tuesday 19 August, 2014 20:35:16

@Julien Le Bourg, j'ai commencé à recoder la librudp en Python en me basant sur le code C fourni par Free et en faisant l'équivalent Python. J'ai réutilisé ton fichier detectserver.py pour la partie Bonjour.

Le code est sur Github : https://github.com/MaximeCheramy/remotefreebox

Pour le moment la connexion se fait et des ping / pong sont échangés. Je n'ai pas tenté d'envoyer de données pour le moment et je ne sais pas si je vais avoir le temps. Je dois m'absenter durant une semaine et je n'ai pas trop de temps à consacrer à tout cela. Du coup, ne pas hésiter à me forker.

Pour en revenir sur le sujet d'origine : pour le moment je vois pas comment on peut faire de l'udp depuis un navigateur donc c'est un problème... Mais j'ai vu que ça devrait être ajouté dans Firefox dans le futur, et probablement aussi dans Chrome, peut-être pourrait-on remettre l'ancienne API encore 1 an ?

Maxime81 (Maxime81)
Tuesday 19 August, 2014 21:18:41

Les liens les plus intéressants pour la partie HiD :

Les codes des touches : http://dev.freebox.fr/sdk/freebox_player_1.1.4_codes.html Le descripteur d'une télécommande : http://dev.freebox.fr/sdk/foils_hid/#_HID_notes

gvollant (gvollant)
Wednesday 20 August, 2014 06:46:36

le firmware de ce matin semble réactiver l'api http

kantin (katanes)
Wednesday 20 August, 2014 06:58:03

Je confirme ça re-fonctionne Merci Free ;) 1.2.17

CHRISMENT Christophe (zobi)
Wednesday 20 August, 2014 07:04:48

Merci !

Mario (mario13)
Wednesday 20 August, 2014 07:15:55

Merci au dev de Free d'avoir compris l'importance de cette API :)

Jarod_ (Jarod_)
Wednesday 20 August, 2014 07:24:01

« Retour de l’API HTTP pour la télécommande réseau (#15570). Cette API sera conservée tant qu’une solution de remplacement plus moderne ne sera pas implémentée. Il est toutefois conseillé d’utiliser le SDK RUDP/HID lorsque c’est possible. »

Cool ! Merci !!

Du coup pensez à Javascript si vous déployez une autre API pour le Player ;-)

SLMitch (SLMitch)
Wednesday 20 August, 2014 07:52:22

Merci !

38chris713705 (38chris713705)
Wednesday 20 August, 2014 07:59:47

Ils auront mis le temps, mais un grand merci aux devs de Free pour cette MAJ qui a pris en compte nos demandes. Et je confirme que toutes les télécomandes réseau, utilisant le code de la télécommande, refonctionnent

samuel14 (samuel14)
Wednesday 20 August, 2014 08:40:09

Merci beaucoup pour cette résolution très rapide.

Aleks (Aleks)
Wednesday 20 August, 2014 09:10:09

Merci.

Par contre, pourriez-vous communiquer sur l'avenir de cette API et de RUDP ?
En effet, vous parlez d'une API "plus moderne". Mais celle-ci va-t-elle remplacer également RUDP ?

Si c'est le cas, je ne vais plus investir de temps dans RUDP ...

fredclo (fredclo)
Wednesday 20 August, 2014 09:37:31

Enfin ma partie TV de ma domotique va fonctionner de nouveau. Merci à l'équipe d'avoir réagi si vite !

Beni33 (Beni33)
Wednesday 20 August, 2014 09:45:11

Ok ça fonctionne. Doit on dire merci à chaque fois qu'un nouveau bug créé est réparé ?

fredclo (fredclo)
Wednesday 20 August, 2014 10:28:46

bonne remarque si c'était un bug, mais comme cela n'en est pas un ...

Beni33 (Beni33)
Wednesday 20 August, 2014 10:56:35

si c'était pas un bug c'était quoi ? C'est suite à une mise à jour que ce nouveau bug est arrivé.

Maxime81 (Maxime81)
Wednesday 20 August, 2014 10:59:54

@Beni33, ce n'est pas un bug, ça fait 3 ans qu'ils annoncent qu'ils vont couper à tout moment l'API qui utilise HTTP. Les gens qui ont payé des applis pour iphone ou autre qui ne marchent pas ne peuvent s'en prendre qu'aux développeurs de ces applis qui ont fait le choix d'utiliser une API deprecated. Bref, ce n'est pas un bug, c'est une décision malheureuse qui date d'il y a 3 ans.

Arnaud Vrac (rawoul)
Wednesday 20 August, 2014 11:54:05

@Aleks: je voulais dire une API plus moderne via le protocole HTTP, qui utilise la méthode POST pour ne plus avoir besoin du code de télécommande, et surtout des commandes sémantiques comme 'Zapper sur TF1', 'Lancer Angry Birds', ...

L'API RUDP/HID restera intéressante et plus adaptée pour émuler des appuis touche ou un pointeur de souris.

Arnaud Vrac (rawoul)
Wednesday 20 August, 2014 11:58:59

Je ferme la tache vu que le problème est résolu, mais vous pouvez continuer à envoyer des commentaires si besoin.

Mario (mario13)
Wednesday 20 August, 2014 12:01:14

@Arnaud Vrac : J'attend avec impatience la nouvelle api, avez vous une date approximative de mise en ligne ?

Beni33 (Beni33)
Wednesday 20 August, 2014 22:04:20

@maxime81 : ils ont coupé, c'est un bug. Ils viennent de le corriger ou de le remettre.

amonix75 (amonix75)
Thursday 21 August, 2014 00:29:03

Bonjour,

Merci d'avoir réactivé l'API HTTP :)

Par contre avez vous ajouté les fonctions 'powerOn' et 'powerOff' ?
Car dans le cadre de la domotique il est important de savoir si on éteint ou pas la box vu qu'il n'y a pas de retour de d'état avec la commande 'power'

Si vous ne les avez pas ajouté, pouvez vous le faire pour la prochaine MAJ, je pense que que créer deux nouvelles commandes et faire deux "copier/coller" prend pas bcp de temps ;) mais rendrais un énorme service à certaines personnes.

Exemple :

Le matin à 06h00 la box s'allume et navigue toute seule vers le navigateur qui à en page d'accueil les horaires de RER en temps réel (page que j'ai créé via la nouvelle API REST open-data Transilien SNCF). Et à 07h00 elle s'éteint.

Imaginons que j'oubli d'éteindre ma box le soir... le matin a 06h00 'power' paff la box s'éteint et jlai dans le ...
Et de plus si je ne touche à rien la box va gentillement se rallumer à 07h00 (ainsi que la télé evidement ...) et rester toute la journée allumé. C'est pas terrible et je n'ai pas trouvé de solution pour essayer de connaitre l'état de la box.
La seule manière actuelle est d'acheter (50€) un module de consommation de courant electrique et brancher la box dessus.
50€ juste pour savoir l'état de la box...

Voilà voilà ...

florian (floman321)
Thursday 21 August, 2014 06:07:52

@amonix75

En demandant stop video airmedia, la freebox repond si elle peut le faire ou pas, si elle peut le faire, elle est allumée sinon elle est eteinte

POST /api/v3/airmedia/receivers/Freebox%20Player/ HTTP/1.1
Host: mafreebox.freebox.fr

{
   "action": "stop",
   "media_type": "video"
}

Voir http://forum.eedomus.com/viewtopic.php?f=15&t=1918

fredclo (fredclo)
Thursday 21 August, 2014 06:53:43

@amonix75
Perso je fais simplement un test de ping sur le player (via un script bash).
Chez moi, quand je rentre le soir, un détecteur d'ouverture de porte allume la TV et la box. Mais toutes les fois d'après où la porte est ouverte/fermée, n'a pas d'incidence sur la box, puisque mon serveur domotique sait que la box est ON.

amonix75 (amonix75)
Friday 22 August, 2014 00:14:25

@floman321

merci je vais tester, mais je croix qu'il faut passer par tout le processus d'auth de l'api pour optenir un token.

@fredclo

Oui le ping j'y ai déjà pensé sauf que quand je ping mon player sur "hd1.freebox.fr" ou son ip 212.27.40.254, j'ai toujours une réponse... meme le player en veille.
Aler j'ai testé avec le player (éteint) et la effectivement le ping ne revient pas, mais par contre je ne peux plus utilisé l'api vu que le player est éteint les commandes n'arrive plus.

Si tu peux m'expliquer comment tu as fais et sur quel ip tu ping stp.

fredclo (fredclo)
Friday 22 August, 2014 07:57:13

@amonix75
Le ping doit être fait sur le player. S'il répond c'est qu'il est allumé, sinon il est éteint (en tout cas, je l'éteins (via une prise ON/OFF) et ne le mets pas en veille, car en veille peut-être qu'il répond).
Son Ip n'est pas le 192.168.0.254 (server) mais l'adresse qu'il a pris sur le réseau (il suffit d'aller voir le réseau sur le server pour voir les IP du réseau)

A partir du moment où je l'allume via la prise commandée ON/OFF, au bout de 40 s, le player ayant booté, l'api répond aux http.
Je n'ai pas essayé de le solliciter quand il est éteint "normalement" : répond t-il aux http .... ON ? peut être que c'est le server qui peut le gérer, je ne sais pas.

fred

kmf31 (kmf31)
Monday 25 August, 2014 17:27:59

@Yohan (teix75) : Est-ce que ton projet en C est toujours actuel ? Moi j'ai reussi en modifiant le programme "remote.c" en utilisant une redirection d'un autre programme C pour simuler le clavier, genre: "./send.out | ./remote" ou le programme send.out envoie les codes claviers (enfin d'autres codes que j'ai definis moi meme dans remote.c). Cependant ici il y a quelques pieges/details pour le faire marcher (relie a timeout etc.) mais maintenant ca marche et avec ca j'ai reussi de faire marcher mal telecommande USB sur PC avec la nouvelle API.

Sinon j'ai aussi une question aux developpeurs apropos des codes du Freebox Player disponible ici:
http://dev.freebox.fr/sdk/freebox_player_1.1.4_codes.html

J'ai l'impression que certains de ces codes ne marchent pas (notamment le code pour "menu", quand meme tres important pour tout projet de telecommande virtuelle) et certains de ces codes semblent aussi en contradiction avec des codes utilises dans l'exemple "remote.c" de la bibliotheque foils.
Est-ce cette page est bien actuelle et 100% correcte ? Sinon, est-ce qu'on pourrait la mettre a jour SVP ?
Pour le code "menu" j'ai aussi trouve une vieille page (pour la version 1.1.1 au lieu de 1.1.4 dans le lien ci-dessus) ou on trouve un ancien code pour "menu", sense d'etre remplace (deja il y a longtemps) et qui ne devrait plus etre valable mais bizarrement c'est exactement ce vieux code qui marche correctement et sans problemes !
Dans le programme remote.c on trouve encore un autre code pour "menu":
#define DC_SYSTEM_CONTEXT_MENU 0x08
et celui la marche partiellement, c.-a-d. il fait apparaitre le menu sur la TV mais ca bogue et le menu continue a disparaitre et revenir sur la TV etc. Peut-etre c'est relie a la facon comment j'ai resolu le probleme (avec une redirection etc.) mais les autres codes marchent assez bien avec ma solution (sauf pour rewind et fastforward qui posent aussi un vrai probleme, pas seulement pour la telecommande virtuelle).

Bref, j'ai l'impression qu'il y a quand meme des problemes avec les derniers codes officiels de l'API HID. Qu'en est-t-il ?

Enfin, l'ancienne API HTTP est revenue pour l'instant mais si je comprends bien elle risque quand meme de disparaitre un jour ?

Chargement...