« Freemote API » une API PHP pour la télécommande virtuelle de la Freebox Player et de la Freebox HD

Description

Annoncée par Maxime Bizon pour la version 1.6.5 du firmware de la Freebox v5 (et sur la Freebox v6 depuis la version 1.0.1), une fonctionnalité de télécommande virtuelle est disponible.
Ainsi, à l'aide de simples appels HTTP on peut simuler sa télécommande réelle physique.

Mon API PHP

La classe PHP que je propose permet de faciliter les appels à l'API de Free/Iliad et gère la saisie de nombre (changement de chaînes) et de texte (clavier intégral avec accents) : seuls les majuscules ne sont pas (encore) supportées.
Vous pouvez donc l'utiliser pour vos propres scripts et dans le cadre d'une installation domotique : l'installer sur un ordinateur (serveur, NAS, ou encore Pogoplug/Plug computer) de votre logement afin de scripter / programmer le tout (via la voix, des flux RSS, des tweets, etc.).

Pour l'instant elle ne propose que la fonction get_headers() mais un passage à cURL permettra de gérer plus finement les échecs de requêtes (Freebox débranchée ?).

Utilisation

<?php
$api 
= new FreemoteApi(12345678); // Créer la connexion
$api->sendCommand(FreemoteApi::KEY_POWER); // Allume la Freebox HD
$api->sendInteger(123); // Change de chaîne
$api->sendCommand(FreemoteApi::KEY_VOLUMEUPfalse3); // Monte le volume
?>

FreemoteApi

Le fichier source peut être consulté/téléchargé ici : FreemoteApi (2011-09-22)
Pour accéler l'exécution du scrit, des tableaux de mapping pour la gestion des touches alphabétiques ont été créé à partir d'un script séparé (uniquement nécessaire à la création de la classe) : voici le code source de ce mapper.
Une interface Web très simpliste est également disponible : WebGUI pour FreemoteApi (voici également une démo en ligne, juste pour voir à quel point elle est simple).