Myfox Home Alarm et Eedomus

Discussion et échanges de scripts pour la box eedomus

Myfox Home Alarm et Eedomus

Messagepar labussiere » 13 Déc 2015 11:41

Bonjour à tous,
J'aimerais savoir s'il était possible de faire communiquer Myfox Home Alarm avec la Eedomus comme Myfox Home Control.
Merci d'avance pour vos réponses et solutions.
Bonne journée
François
labussiere
 
Messages : 41
Inscription : 18 Juil 2014

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 27 Déc 2015 20:18

Bonjour,
J'ai la même question car je viens de faire l'acquisition de cette solution et j'aimerai pouvoir l'intégrer avec ma eedomus.

Merci à ceux qui peuvent nous aider
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar Madoma73 » 27 Déc 2015 20:43

Bonsoir,
pour l'instant, pas d'api dispo pour myfox home alarm, donc ce n'est pas possible à ma connaissance
Pierre
Madoma73
 
Messages : 1438
Inscription : 16 Sep 2012
Localisation : 38

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 27 Déc 2015 21:06

Merci beaucoup pour ta réponse.
Espérons que la team eedomus va avancer rapidement sur le sujet.
Bonne soirée.

Stéphane
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar Madoma73 » 27 Déc 2015 21:08

la team eedomus ne peut rien faire là.
sur la HC2, il y a une api donc j'ai pu faire le script d'interface (cf domo-blog.fr) mais si Myfox ne fournit pas d'api, il n'y a rien que la team eedomus puisse faire.
Pierre
Madoma73
 
Messages : 1438
Inscription : 16 Sep 2012
Localisation : 38

Re: Myfox Home Alarm et Eedomus

Messagepar labussiere » 28 Déc 2015 18:44

Madoma73 a écrit:la team eedomus ne peut rien faire là.
sur la HC2, il y a une api donc j'ai pu faire le script d'interface (cf domo-blog.fr) mais si Myfox ne fournit pas d'api, il n'y a rien que la team eedomus puisse faire.

Merci Pierre pour la réponse. C'est bien ce qu'il me semblait... Bonnes fêtes de fin d'année à tous !!
François
labussiere
 
Messages : 41
Inscription : 18 Juil 2014

Re: Myfox Home Alarm et Eedomus

Messagepar bubu » 03 Jan 2016 13:17

Bonjour à tous,

Sur le site myfox, il est stipulé que la solution myfox home alarm possède une API.
(https://support.getmyfox.com/hc/fr/arti ... ateformes-)

Est ce que quelqu'un peut confirmer que cette API est bien en place?
Et si oui, le script existant de Madoma73 pour la home control est-il compatible (sacant que le site de l'API est le meme et que les commandes semblent identiques)?

Merci
bubu
 
Messages : 109
Inscription : 05 Sep 2014

Re: Myfox Home Alarm et Eedomus

Messagepar Madoma73 » 03 Jan 2016 14:04

il faut que quelqu'un avec une home essaie d'avoir accès à l'api via api.myfox.me, si ça marche, je peux faire le script :mrgreen:
Pierre
Madoma73
 
Messages : 1438
Inscription : 16 Sep 2012
Localisation : 38

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 04 Jan 2016 10:55

bonjour,

Tout d'abord, je vous souhaite a toutes et tous une excellente année 2016.

Voici l'API (myfox_oauth.ph) que j'ai récupéré chez MyFox.



Code : Tout sélectionner
<?php


// script crÈÈ par Pierre Pollet pour eedomus
// librement inspirÈ du script netatmo Ècrit par Connected Object
// gÈnÈrÈ ‡ partir des donnÈes Myfox rÈcupÈrÈes via Oauth
// basÈ sur l'auth  "Resource Owner Password Credentials Grant"
// une auth basÈe sur un "authorization code" serait mieux, mais ce n'est faisable
// que par Connected Objects (‡ cause de la callback)

// encodage iso-8859-1 pour les accents

// Version 1 / 22 mai 2014      / 1Ëre version disponible




$GLOBALS['api_url']  = 'https://api.myfox.me:443/v2/';
$api_url = 'https://api.myfox.me:443/v2/';
$ClientId =‘xxxxxxxxxxxxxxxxxxxx’;
$ClientSecret=‘yyyyyyyyyyyyyyyyyyy’;
$getToken_url = 'https://'.$ClientId.':'.$ClientSecret.'@dev.myfox.me';
$UserName =‘xxxxxxxxx’;
$UserPassword=‘yyyyyyyyyyy’;
$access_token='';

// on reprend le dernier refresh_token seulement s'il correspond au mÍme code
$refresh_token = loadVariable('refresh_token');
$expire_time = loadVariable('expire_time');
// s'il n'a pas expirÈ, on peut reprendre l'access_token
if (time() < $expire_time)
 {
   $access_token = loadVariable('access_token');
   //echo "re-utilisation du token existant";
 }


// on a dÈj‡ un token d'accÈs non expirÈ pour le code demandÈe
if ($access_token == '')
{
  if (strlen($refresh_token) > 1)
  {
    // on peut juste rafraichir le token
    $grant_type = 'refresh_token';
    $postdata = 'grant_type='.$grant_type.'&refresh_token='.$refresh_token;
    $url=$getToken_url;
  }
  else
  {
    // 1Ëre utilisation aprÈs obtention du code
    $grant_type = 'password';
    $postdata = 'grant_type='.$grant_type.'&username='.$UserName.'&password='.$UserPassword;
    $url=$getToken_url;
  }

  $response = httpQuery($url.'/oauth2/token', 'POST', $postdata);
  $params = sdk_json_decode($response);
  //var_dump($params);
 
   
  if ($params['error'] != '')
  {
    die("Erreur lors de l'authentification: <b>".$params['error'].'</b> (grant_type = '.$grant_type.')');
  }

  // on sauvegarde l'access_token et le refresh_token pour les authentifications suivantes
  if (isset($params['refresh_token']))
  {
    $access_token = $params['access_token'];
    saveVariable('access_token', $access_token);
    saveVariable('refresh_token', $params['refresh_token']);
    saveVariable('expire_time', time()+$params['expires_in']);

  }
  else if ($access_token == '')
  {
    die("Erreur lors de l'authentification");
  }
 
  //extraire le code du site
  $siteId=loadVariable('siteId');
  if ($siteId == '')
  {
    $request="client/site/items";
    $response = httpQuery($api_url.$request."?access_token=".$access_token, 'GET');
    $params2 = sdk_json_decode($response);
    $siteId=$params2['siteId'];
    saveVariable('siteId', $siteId);
   }

 
 function sdk_myfox_query($request, $method = 'GET', $post = NULL, $return_xml = true)
{
  $access_token= loadVariable('access_token');
  if ($post == '')
  {
    $response = httpQuery($GLOBALS['api_url'].$request."?access_token=".$access_token, 'GET');
    //echo  "GET: ". $GLOBALS['api_url'].$request."?access_token=".$access_token;
  }
   else
  {
     $response = httpQuery($GLOBALS['api_url'].$request."?access_token=".$access_token, 'POST');
     echo  "GET: ". $GLOBALS['api_url'].$request."?access_token=".$access_token;
  }
 
  $json = sdk_json_decode($response);
      
   if ($return_xml)
   {
      // permet d'avoir une mise en forme plus lisible dans un browser
      sdk_header('text/xml');
      echo jsonToXML($response);
   }
   else
   {
      return $json;
   }         
}

switch($_GET['action'])
{
   case 'api_get':
      $query = getArg('query');
      sdk_myfox_query($query,'');
    break;
  case 'api_post':
    $query = getArg('query');
     sdk_myfox_query($query,'POST');
     break;
}
?>



J'ai essayé chez moi en remplaçant les valeurs pour N°Client, N°SecId, User, Password, mais j'obtient un message d'erreur "erreur type Grant: Password.

En insistant sur les tests, j'ai bloqué mon compte MyFox pendant 24h , du coup j'ai tout stoppé dans mes recherches.

Je vous laisse voir si quelque chose vous choque dans le script.

Bonne journée
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar Madoma73 » 04 Jan 2016 11:09

chez Myfox ?
où ça ?, je suis un peu surpris vu que c'est moi l'auteur et qu'ils ne m'en ont jamais parlé :mrgreen:

sinon essaie de faire l'authentification avec un navigateur sur api.myfox.me, ce sera plus simple dans un premier temps.
Pierre
Madoma73
 
Messages : 1438
Inscription : 16 Sep 2012
Localisation : 38

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 04 Jan 2016 14:43

Madoma73 a écrit:sinon essaie de faire l'authentification avec un navigateur sur api.myfox.com, ce sera plus simple dans un premier temps.


je suis désolé mais je ne comprends pas ce que tu me demandes ?
j'ai essayé de saisir dans un browser api.myfox.com, mais cette adresse n'existe pas.

peux tu m"expliquer plus précisément ce que je dois faire (désolé ça doit te paraître bête)
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar Madoma73 » 04 Jan 2016 15:26

oups, désolé, c'est api.myfox.me
il faut ensuite générer des identifiants dans my applications, puis s'authentifier dans authentification et rentrer le token dans Documentation :mrgreen: (simple quoi :mrgreen: :mrgreen: )
Pierre
Madoma73
 
Messages : 1438
Inscription : 16 Sep 2012
Localisation : 38

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 04 Jan 2016 18:55

Madoma73 a écrit:il faut ensuite générer des identifiants dans my applications, puis s'authentifier dans authentification et rentrer le token dans Documentation (simple quoi )


bonsoir,
J'ai bien généré mes identifiants dans mes applications, par contre je ne sais pas comment générer le token dans la partie authentification (J'ai essayé samedi et c'est là que j'ai bloqué mon accès pendant 24h.
Voilà ce qui est indiqué dans la partie authentification, mais je ne sais pas vraiment quoi faire :
Capture d’écran 2016-01-04 à 18.49.28.png
copie d'écran
Capture d’écran 2016-01-04 à 18.49.28.png (363.69 Kio) Consulté 13905 fois


j'attends ton retour pour m'expliquer.
Merci pour ton aide et ta patience ;)
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar Madoma73 » 04 Jan 2016 21:45

dans ta copie d'écran, tu y étais presque, tu cliques sur "Resource Owner Password Credentials Grant",
là tu rentres toutes tes infos user/pwd + id applications, ça te génère un token, tu le copies 'uniquement la suite de lettres et de chiffres qui veulent rien dire)
et dans la partie documentation, tu trouveras l'endroit ou mettre le token.
à partir de là, si tu réussi à interroger l'api, un script sera possible.
Pierre
Madoma73
 
Messages : 1438
Inscription : 16 Sep 2012
Localisation : 38

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 05 Jan 2016 10:25

voilà, ca y est, j'ai fini par y arriver et par obtenir le token
Merci beaucoup à toi, c'est clair que sans ton aide, je ne serai arrivé à rien....

Maintenant il me reste à tester avec le script.
La question est de savoir comment je peux par exemple déclencher des actions quand l'alarme se déclenche, connaitre l'état de l'alarme, etc...

Est-ce que tu peux me donner un peu d'information là dessus ?

Merci
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 05 Jan 2016 10:54

j'ai essayé d'aller dans la partie requête de Documentation et j'ai testé :
Capture d’écran 2016-01-05 à 10.50.43.png
Capture d’écran 2016-01-05 à 10.50.43.png (177.54 Kio) Consulté 13888 fois

Capture d’écran 2016-01-05 à 10.50.21.png
Capture d’écran 2016-01-05 à 10.50.21.png (90.31 Kio) Consulté 13888 fois


il semble que le token que le système m'a donné ne soit pas valide !!!!

Je n'y comprends rien
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar Madoma73 » 05 Jan 2016 11:27

as-tu essayé de suivre le tuto que j'ai publié sur domo-blog ?
Pierre
Madoma73
 
Messages : 1438
Inscription : 16 Sep 2012
Localisation : 38

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 05 Jan 2016 13:46

Non je ne connaissais pas ce blog.
Je regarde et je reviens pour te dire ou j'en suis
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 05 Jan 2016 14:07

je viens de regarder et de tester.
En fait j'ai le message suivant quand je veux uploader le script sur eedomus:
Script invalide :

Parse error: syntax error, unexpected '@' in myfox_oauth.php on line 23

Documentation des scripts eedomus

Retourner à votre page de scripts eedomus


Pour le paramètre $UserName, j'ai indiqué (comme je l'ai fait pour obtenir le token), mon adresse mail dans User, mais visiblement cela ne convient pas. Je ne crois pas avoir un autre userName...
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Re: Myfox Home Alarm et Eedomus

Messagepar darkwolf740 » 09 Jan 2016 13:50

Bonjour,
Madoma73 tu as pu regarder pour mon problème STP ?
Je te remercie d avance

Stéphane
Stéphane
darkwolf740
 
Messages : 17
Inscription : 09 Déc 2015

Suivant

Retour vers Scripts & Périphériques du store

Qui est en ligne ?

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