Accueil » Domotique » guides domotiques » Eedomus » Intégration de l’alarme Myfox avec l’eedomus
Eedomus

Intégration de l’alarme Myfox avec l’eedomus

Dans ce billet, nous allons voir comment intégrer via un script Eedomus l’alarme Myfox.
Eh oui, depuis l’intégration des scripts PHP dans l’eedomus, la team ne cesse d’ajouter de nouveaux objets connectables avec la box domotique, en voici un qui ne l’est pas encore, mais qui le sera à la fin de ce tuto, la centrale d’alarme MyFox!
Le but est de pouvoir connaître l’état de l’alarme, gérer les scénarios.

Etape 1, la récupération des ID API MyFox

Il faut commencer par aller récupérer ses identifiants API sur le site api.myfox.me. Dans l’onglet, « My applications », vous pourrez créer votre « Personal application », vous aurez besoin du « Client ID » et du « Secret ID » pour la suite.

1

Vous verrez au passage que la documentation de l’api est située au même endroit :
2

Etape 2, le script

Téléchargez le script sur notre github via le bouton ci-dessous

Télécharger les fichiers

Avant de le mettre sur l’eedomus, il faut modifier 4 lignes dans le script

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

 

Ligne 17: $ClientId ='<votre client id>’; -> remplacer par le client id de l’étape 1
Ligne 18 :  $ClientSecret='<votre client secret>’; -> remplacer par le client secret de l’étape 1
Ligne 20: $UserName ='<username Myfox>’ ; -> remplacer par votre username myfox
Ligne 21: $UserPassword='<password Myfox>’; -> remplacer par votre password myfox

Vous pouvez ensuite uploader le script dans l’eedomus en utilisant le site web http://@ip_eedomus/script.
Le script se charge ensuite de faire toute la partie authentification initiale et re-négociation de l’authentification toutes les heures de manière automatique.
Tous les appels à l’api Myfox utilisent l’identifiant de votre installation, il faut le récupérer en lançant la commande suivante

[php]http://@ip_eedomus/script/?exec=myfox_oauth.php&amp;action=api_get&amp;amp;query=/client/site/items[/php]

4

Notez le nombre situé entre les balises siteId
On passe ensuite à la création des périphériques eedomus, le premier qui remontera le statut de l’alarme est un capteur http, dont l’url est:

[php]http://localhost/script/?exec=myfox_oauth.php&amp;action=api_get&amp;query=site/[VAR1]/security[/php]

Et le chemin
/root/payload/statusLabel
Il faut entrer dans [VAR1], le siteId que vous avez récupéré juste avant.

edom1

Votre eedomus vous remonte désormais le statut de votre alarme, on peut cependant aller un peu plus loin et actionner l’alarme via des règles eedomus, pour cela, créer un deuxième périphérique (actionneur http).
Vous rentrez là-aussi le siteId de votre installation dans [VAR1]

eedom2

Puis vous pouvez définir différentes actions :
Désarmement :

[php]http://localhost/script/?exec=myfox_oauth.php&amp;action=api_get&amp;query=site/[VAR1]/security/set/disarmed[/php]

Armement partiel :

[php]http://localhost/script/?exec=myfox_oauth.php&amp;action=api_get&amp;query=site/[VAR1]/security/set/partial[/php]

Armement total :

[php]http://localhost/script/?exec=myfox_oauth.php&amp;action=api_get&amp;query=site/[VAR1]/security/set/armed[/php]

eedom3

Le script est générique ce qui signifie que vous pouvez avoir accès à toute l’api Myfox, simplement en utilisant comme URL et paramètres de votre actionneur http, le type suivant d’url :

[PHP] http://localhost/script/?exec=myfox_oauth.php&action=api_get&query= [/php]

si l’appel à l’api Myfox est en « GET »

eedom4

Ou

[php]http://localhost/script/?exec=myfox_oauth.php&amp;action=api_set&amp;query=&lt;requete&gt; [/php]

si l’appel à l’api Myfox est en « POST » (c’est le paramètre action qui change)
eedom5
Voilà comme promis, vous disposez à présent d’un nouvel objet connecté à votre box eedomus.

Conclusion

Et voilà, à présent votre alarme Myfox interagit avec votre système eedomus!

Domo-blog a fait le choix de ne pas polluer votre lecture avec de la publicité. Vous trouverez cependant des liens affiliés vers les produits recommandés dans le contenu. Cela ne perturbe en rien votre experience de lecture et permet de financer le blog.
Vous pouvez également soutenir le blog en m'offrant un café sur Ko-Fi.


discord

Restez connecté aux nouveautés domotiques, inscrivez-vous à notre newsletter

A propos de cet auteur

Madoma73

Informaticien spécialisé dans la sécurité, je me suis mis à la domotique en 2009. J'ai commencé par Homeseer, la Zibase puis finalement l'Eedomus. Depuis, je bidouille, je teste, je rêve de ce que je pourrais faire, et j'essaie de convaincre ma femme de l'utilité de mes rêves !

26 Comments

Cliquez ici pour poster un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

  • Superbe !
    Et oui je crois que nous sommes tous pareils, essayer de convaincre nos femmes de l’utilité de nos reves 🙂
    Bravo

  • Bonjour je trouve effectivement votre article vraiment bien fait mais je me pose une question.
    L’alarme maison My Fox ne dispose pas d’origine de la possibilité de créer des scénarios programmables ?
    Pour ce qui est de la domotique et de l’alarme personnellement je préfère opter pour deux systèmes bien distincts.

    EDIT ppollet73: lien commercial supprimé

    • L’alarme Myfox dispose en effet de la possibilité de créer des scénarios, je trouve malheureusement que les possibilités offertes sont:
      – très pauvres par rapport aux autres box
      – bugguées

  • Bonjour,

    Je n’y connais pas grand chose mais j’ai essayé d’installer ton script sur wampserver pour pouvoir utiliser l’API Myfox.
    A chaque fois j’arrive au message suivant :

    Fatal error: Call to undefined function loadVariable() in C:\wamp\www\APIMyfox\myfox_oauth.php on line 25
    Call Stack
    # Time Memory Function Location
    1 0.0000 155512 {main}( ) ..\myfox_oauth.php:0

    Je sais que ce n’est pas le but premier de ce tuto, mais si une âme charitable pouvait bien m’aider je lui en serais très reconnaissant…

    • Bonjour,
      le script est prévu pour fonctionner sur la box domotique eedomus. Un serveur wampserver n’a pas les mêmes fonctions (entre autres la fonction load_variable). Il faut le ré-écrire pour arriver à le faire fonctionner sur un serveur php standard. Le plus simple peut-être d’aller voir ce que font ces fonctions spécifiques (doc.eedomus.com) afin de le ré-écrire pour un serveur standard.

  • j’ai un soucis j’ai bine modifié les script mais lorsque je le lance via
    http://192.168.11.23/script/?exec=myfox_oauth.php&action=api_get&query=/client/site/items"
    j’ai ce message d’erreur
    # ERROR: Querying [https://:@dev.myfox.me/oauth2/token] Error 35: error:14077458:SSL routines:SSL23_GET_SERVER_HELLO:reason(1112) Erreur lors de l'authentification

    j’ai bien revérifié mes Client ID et Client Secret ils sont bons
    plus ça vas et plus je regrette cet achat de MyFox …..

    • Il ne faut pas regretter ;-), c’est un peu galère au début (vécu) mais une fois en place, ça roule !
      Myfox a récemment supprimé dev.myfox.me, dans le script il faut modifier les références à dev.myfox.me par api.myfox.me

  • merci de l’info mais ne marche pas non plus voici le message de retour
    ap^res avoir remplcé l’adresse dev.myfox.me par api.myfox.me par
    Erreur lors de l'authentification: invalid_grant (grant_type = password)

    • ce qui me rassure c’est que même sur IFTTT ça ne fonctionne pas … voila qui me conforte dans la déception de la myfox 🙁

      • j’en discutais justement cet après-midi sur le forum Myfox, et depuis 10 jours, le channel ifttt fonctionne désormais sans problème

    • en passant par le site api.myfox.me on peu tester l’API et voila ce que cela me retourne

      Request URL
      https://api.myfox.me:443/v2/client/site/items?access_token=*************************************
      Response Body
      {
      "status": "OK",
      "timestamp": 1408898083,
      "payload": {
      "items": []
      }
      }

  • @Madoma73 je dispose d’une HC1 est-ce que c’est de la que viendrai mon soucis ??

    sur IFTTT je n’ai rien dans la liste “Site identifier” juste un message “optionunavailable, please try again later”

  • Je bloque sur l’identification du siteID. J’ai pourtant scrupuleuement modifié dans les étapes précédentes le ClientId, ClientSecret, UserName, UserPassword, je ne vois pas comment uploader le script afin de déterminer le siteID. Pouvez-vous m’aider?

  • Bonjour ! Merci pour le tuto et pour l’ensemble de votre oeuvre ! Je n’arrive pas à télécharger le script. Si je clique sur le lien j’ai une page avec “Invalid File Type (.php)!” et si je clique-droit pour enregistrer la cible, ça m’enregistre la page .html (tant sur Safari que Firefox et Chrome). Où me plante-je ? Bonne journée.

  • Bonjour,
    J’ai un (gros) soucis concernant le script… il ne se lance pas, j’ai une page blanche qui arrive. Lorsque je fais mon Upload et que je le Run, j’ai une page blanche. Quand je l’édite, j’ai pourtant bien le script. Et lorsque je tape l’url http://localhost/script/?exec=myfox_oauth.php&action=api_get&query=site/%5BVAR1%5D/security j’ai le même soucis, page blanche et quand je vérifie le code source, c’est vide ! Une idée ?

  • Bonjour, merci beaucoup pour ce script 🙂 Désolé de partager mes soucis, mais je ne parviens pas à l’utiliser avec l’alarme Somfy. Pourtant le début fonctionne bien : myFox API fonctionne bien, me fournit le client ID et le Client secret. Je modifie les 4 lignes de script mais lorsque j’exécute la ligne http://@ip_eedomus/script/?exec=myfox_oauth.php&action=api_get&amp;query=/client/site/items dans le navigateur, j’obtiens juste une page blanche… Merci pour votre aide 🙂

energie
promos domotique
green
promos domotique

Etape 1, la récupération des ID API MyFox

Il faut commencer par aller récupérer ses identifiants API sur le site api.myfox.me. Dans l’onglet, « My applications », vous

Etape 2, le script

Téléchargez le script sur notre github via le bouton ci-dessous

Conclusion

Et voilà, à présent votre alarme Myfox interagit avec votre système eedomus!

  • Etape 1, la récupération des ID API MyFox
  • Etape 2, le script
  • Conclusion