[Store] Freebox Player

Discussion et échanges de scripts pour la box eedomus

[Store] Freebox Player

Messagepar merguez07 » 03 Nov 2017 20:26

Bonjour,
un certain OSITO a déposé ce script dans le store. Il permet a priori de connaitre l'état ON/OFF de la Freebox Player et c'est intéressant dans la mesure où la commande vers la Freebox est du style bistable On/OFF (et donc qu'en voulant l'allumer on peut l'éteindre).

Je l'ai installé mais ça ne marche pas chez moi. Quelqu'un d'autre l'a t-il testé ?

Cordialement
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: [Store] Freebox Player

Messagepar Marcus-67 » 04 Nov 2017 09:41

Hello,

Cela fonctionne chez moi et oui je confirme cela est très utile car j'ai justement un scénario qui déclenche via commande Google home l'allumage ou l' extinction d'un scénario TV qui intègre :

- TV ON + Réglage son par défaut + Ambilight (si Soleil couché) +
- Sélection du canal HDMI +
- Freebox ON + Chaîne par défaut TF1.

La robustesse des commandes et des règles est donc primordiale.

Pour info j'ai mis la commande HTTP suivante pour le ON / OFF de la freebox :
URL : http://IP_Box/api/set - GET - Paramètres :

?api_user=_____&api_secret=______&action=periph.value&periph_id=_____&value=0
ou
?api_user=_____&api_secret=______&action=periph.value&periph_id=_____&value=100

Autrement quand tu crées ton script, fait bien attention de saisir l'IP de la freebox player (et non pas server) + Code de la télécommande free
Marcus-67
 
Messages : 346
Inscription : 04 Mars 2013
Localisation : Elsass

Re: [Store] Freebox Player

Messagepar merguez07 » 04 Nov 2017 11:16

Marcus-67 a écrit:Autrement quand tu crées ton script, fait bien attention de saisir l'IP de la freebox player (et non pas server) + Code de la télécommande free


Franchement je suis un gros blaireau. Effectivement c'était ça mon erreur

Maintenant ça marche

Un grand merci Marcus
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: [Store] Freebox Player

Messagepar pascalg » 07 Nov 2017 19:11

Bjr,

A Marcus;
comment fais tu pour selectionner tes sources sur le tv? quelle commande http?
ou cde cec?
Merci
pascalg
 
Messages : 96
Inscription : 03 Mars 2016

Re: [Store] Freebox Player

Messagepar romdav » 07 Nov 2017 22:32

Idem!
J'ai cherché longtemps mais je n'aurai pas pensé à prendre l'IP fournie par le DHCP...
Merci à Osito pour ce joli contournement :D
romdav
 
Messages : 5
Inscription : 07 Nov 2017

Re: [Store] Freebox Player

Messagepar romdav » 15 Nov 2017 21:23

J'avais un petit pb sur ma eedomus+ car le status restait en ON de façon définitive...
J'ai apporté quelques modifications au script régler ça (seulement compatible eedomus+...)
Il est en status PRIVE pour le moment, j’espère qu'Osito acceptera cette proposition d'évolution.

En attendant si ça en intéresse (fichier freeboxplayer.php):
Code : Tout sélectionner
<?

$PlayerURL       =  getarg('PlayerURL'            , true     , 'hd1.freebox.fr'); // le Numéro par défaut est celui de l'Api de ma freebox
$PlayerIP       =  getarg('PlayerIP'               , true     ) ;
$RemoteCode      =  getarg('RemoteCode'   , true     , 0);
$Power         =  getarg('Power'            , false    , 'TEST') ;  // ON,  OFF, TEST attendu, TEST par défaut


// ON  : Action Allumé    si freebox Player éteint,  sinon rien, puis retourne le statut
// OFF : Action Etteindre si freebox player allumé , sinon rien, puis retourne le statut


/////////////////////////////////////////////////////
//                                                 //
//    Teste le statut de la Freebox Player         //
//    afin de dissocier Power ON de Power Off      //
//                                                 //
/////////////////////////////////////////////////////

/////////////////////////////////////////////////////
//                                                 //
//     en ouvrant une requete bind sur le          //
//     port 7000 du freebox player.                //
//     Si OK, le player est ON.                    //
//     La combinaison du statut et de l'action     //
//      détermine si le power est activé ou non.    //
//                                                 //
/////////////////////////////////////////////////////

// Teste le port sur le player
$Connection = @fsockopen($PlayerIP, 7000);

switch ($Power) {
    case "ON":
      //  On veut allumer la box
         if ($Connection) {
               // le port est ouvert, donc le player est ON
               $StatutValue = 100  ; // ON
         } else {
               // le port est fermé, donc le player est éteint, on allume
               $Peripherique = httpquery("http://" .$PlayerURL ."/pub/remote_control?code=" .$RemoteCode ."&key=power");
               $StatutValue = 100  ; // ON après action
         }
      break;   // Fin $Power =ON
    case "OFF":
      //  On veut éteindre la box
         if ($Connection) {
               // le port est ouvert, donc le player est ON, on éteint
               $Peripherique = httpquery("http://" .$PlayerURL ."/pub/remote_control?code=" .$RemoteCode ."&key=power");
               $StatutValue = 0  ; // OFF après action
         } else {
               // le port est fermé, donc le player est éteint
               $StatutValue = 0  ; // OFF
         }
         break;   // Fin $Power =OFF
    default:
      //  on veut juste connaitre le statut
         if ($Connection) {
              // le port est ouvert, donc le player est ON
              $StatutValue = 100  ; // ON
         } else {
              // le port ne répond pas, donc le player est éteint
              $StatutValue = 0  ; // OFF
          }
         // Fin Power =TEST
}

// On ferme la connexion au port
if ($connection) {
    fclose($connection);
}

// Formatage du code de retour
$Xml  = "<root>" ;
$Xml .= "<status>".$StatutValue  ."</status>" ;
$Xml .= "<power_asked>".$Power  ."</power_asked>" ;
$Xml .= "</root>";

sdk_header('text/xml');
echo $Xml;


?>
romdav
 
Messages : 5
Inscription : 07 Nov 2017

Re: [Store] Freebox Player

Messagepar merguez07 » 16 Nov 2017 08:41

Merci romdav,

j'avais le même pb sur ma eedomus+ et maintenant avec ton code ça marche nickel :P :P :P
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche

Re: [Store] Freebox Player

Messagepar jlegrand » 22 Nov 2017 22:30

Bonsoir à tous,

Pardonnez mon ignorance, mais malgrès la lecture de la doc eedomus sur les scipts et les commentaires dans le script, je ne m'en sors pas vraiment pour l'utilisation de ce script qui semble fort utile. Car en effet, sans ce script, impossible de savoir si le Freebox Player est On ou Off avant de lancer une action dessus...

J'ai ajouté une périphérique "Capteur HTTP", auquel j'ai indiqué l'url correcte : http://localhost/script/?exec=freeboxpl ... e=93344203
Chemin XPATH : /root/status
Dans la liste des valeurs de ce périphérique, j'ai indiqué 100 pour quand le Player est ON.

Mais quand le Player est OFF, il me retourne un message d'erreur : "## ERROR: Querying [http://192.168.0.35:7000] Error 7: Failed to connect to 192.168.0.35 port 7000: Connection refused 0"
Comment faire pour que ce message d'erreur soit interprété par l'eedomus comme un état OFF du player ?

Par avance, merci.
jlegrand
 
Messages : 112
Inscription : 01 Déc 2016

Re: [Store] Freebox Player

Messagepar romdav » 22 Nov 2017 22:37

Bonsoir,
J'avais le même genre de comportement, vous pouvez essayer la version modifiée que j'ai indiqué un peu plus haut (compatible eedomus+ seulement).
Cdt.
romdav
 
Messages : 5
Inscription : 07 Nov 2017

Re: [Store] Freebox Player

Messagepar jlegrand » 22 Nov 2017 22:57

romdav a écrit:Bonsoir,
J'avais le même genre de comportement, vous pouvez essayer la version modifiée que j'ai indiqué un peu plus haut (compatible eedomus+ seulement).
Cdt.


Impeccable, merci !

Je découvre les scripts sur l'eedomus, encore une étape passionnante de franchie !! :D :D
jlegrand
 
Messages : 112
Inscription : 01 Déc 2016

Re: [Store] Freebox Player

Messagepar MaximePrince » 13 Fév 2018 21:55

Bonjour,

Est-ce que le script fonctionne également avec la Freebox Mini 4K ?

Merci d'avance,
MaximePrince
MaximePrince
 
Messages : 52
Inscription : 13 Oct 2017
Localisation : Bas-Rhin, Alsace, France

Re: [Store] Freebox Player

Messagepar gabvoir » 14 Juil 2019 20:40

Bonjour,

Je viens d'installer ce script.
Impossible d'obtenir le bon status.
Il renvoi toujours off alors que la box est ouverte.
L'ip du player que j'ai mise est celle que j'ai dans le listing des périphs réseau sur Freebox OS.

Peut etre le port 7000 est-il fermé ?
Quelqu'un d'autre rencontre til ce problème ?
Merci du support
gabvoir
 
Messages : 178
Inscription : 24 Juin 2015

Re: [Store] Freebox Player

Messagepar merguez07 » 25 Oct 2019 18:07

gabvoir a écrit:Quelqu'un d'autre rencontre til ce problème ?


oui même problème pour moi. Du coup impossible de savoir dans quel état (ON, OFF) se trouve la box.
tuto 1 -->Programmation des scripts Eedomus
tuto 2 -->SmartDevice
tuto 3 -->Le déclenchement de règles
scripts -->Météo du jour | GH Thermostat | TotalWatt | Detecfire | smartbattery
Skype Eedomus -->lien vers le skype Eedomus
merguez07
 
Messages : 2346
Inscription : 15 Sep 2017
Localisation : Le Teil en Ardèche


Retour vers Scripts & Périphériques du store

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 19 invité(s)