freebox_serveur_v6.jpg

Je travaille actuellement sur un projet personnel de box domotique OpenSource basée sur du NodeJS / MongoDB / OpenZwave, le tout hébergé sur un Raspberry Pi. Dans le cadre du développement de cette box domotique, je me suis demandé comment je pouvais activer automatiquement l'alarme et les automatisations quand je pars de ma maison. Je pense avoir trouvé la solution grâce à une API cachée de ma Freebox V6 ....

Vous avez probablement déjà pu le constater en vous connectant sur l'interface Web d'administration de votre Freebox V6 (http://freebox), votre Freebox sait tout de ce qu'il se passe sur votre réseau local.

Vous pouvez depuis cette interface y observer vos PC, mais aussi très probablement votre Smartphone si la configuration Wifi est active. Basé sur ce constat, si chaque habitant possède un smartphone connecté au Wifi, il est donc possible de savoir au travers de la Freebox si quelqu'un est à votre domicile ou non.

En approfondissant un peu plus la documentation des API exposées par la Freebox, on remarquera qu'il est possible pour une application tierce de lister l'ensemble des terminaux connectés sur son réseau local via une API REST qui restitue les mêmes informations que l'interface Web d'administration de la Freebox. Miracle !

GET /api/v3/lan/browser/{interface}/

{
    "success": true,
    "result": [
        {
            "l2ident": {
                "id": "d0:23:db:36:15:aa",
                "type": "mac_address"
            },
            "active": true,
            "id": "ether-d0:23:db:36:15:aa",
            "last_time_reachable": 1360669498,
            "persistent": true,
            "names": [
                {
                    "name": "iPhone-r0ro",
                    "source": "dhcp"
                }
            ],
            "vendor_name": "Apple, Inc.",
            "l3connectivities": [
                {
                    "addr": "192.168.69.20",
                    "active": true,
                    "af": "ipv4",
                    "reachable": true,
                    "last_activity": 1360669498,
                    "last_time_reachable": 1360669498
                }
            ],
            "reachable": true,
            "last_activity": 1360669498,
            "primary_name_manual": true,
            "primary_name": "iPhone r0ro"
        }
    ]
}

Vous l'aurez compris, il ne reste plus qu'à appeler cette API dès lors qu'aucun mouvement est détecté dans la maison. Si jamais plus aucun Smartphone n'est détecté et qu'aucune présence n'est détectée par les détecteurs infrarouges, on peut considérer à 98% que la maison est vide et donc déclencher l'alarme et l'ensemble des automatisations planifiées.

Grâce à cette API, ma maison va donc devenir intelligente. Je n'aurai plus besoin d'informer ma box domotique que je ne suis plus là. Merci Free !

1. Le , 22:54 par runing
bdfcafefd32b7897e89884cbf199b5b0

La solution du ping ne serait-elle pas aussi efficace et immédiatement faisable dans un script et une tâche cron ? Le résultat du ping est renvoyé sur les autres composants logiciels de la box.
De plus, c'est indépendant du FAI.

Pour l'avoir testé chez moi, il y a des petites coupures de wifi de quelques secondes. Il suffirait de rajouter une condition du type "si le ping échoue, recommencer pendant 2 minutes. S'il échoue encore : le smartphone a quitté le domicile".

Si le test du ping n'est pas envisageable, étant non programmeur, je serais curieux d'en connaitre les raisons.

2. Le , 09:32 par CaptainIgloo
e8ac4494d33c6d6bee81599c98ed8103

Bonjour,
Une discussion G+ sur ce sujet ici :
https://plus.google.com/11168530720...

3. Le , 11:50 par tadkozh
ba752360b19f44e1676d28f3fe7a70ed

N'oublie pas ton téléphone ou celui de ta femme chez toi !

4. Le , 13:24 par dst17
70b4fb2aaa21f722a748de42b8b7b606

J'ai implémenté ça chez moi depuis quelques temps déjà mais cela ne couvre pas 100% des cas. Si tu es dans ton jardin et que tu ne captes pas le wifi, l'alarme peut s'activer et tu la déclencheras en rentrant chez toi.

Sinon l'API n'a rien de caché car elle est très bien documentée chez Free.

Néanmoins, ça reste très utile !

5. Le , 15:42 par Yohann
914ce9c70ac8c22120f4dbf63933692e

Tu as intérêt à charger ton téléphone avant de rentrer à la maison ^^ parce que si tu compte charger ton tel en rentrant, c'est risqué !

6. Le , 23:16 par karter
a4a0ccbdd2d0298fe7ad598be11ca55e

Bonjour,
Puis-je vous demander quel OS avez vous choisie pour votre box domotique sur raspberry ? Car j'ai eu des problèmes avec domoticz..
Merci

7. Le , 09:59 par espace broderie
6e83e8bd06bfdc962db6863357a9a0c7

une petite question comme cela en passant? si jamais un intrus rentre dans notre maison, et vu que la majorité des gens ont un smartphones, on peut donc penser que notre intrus aura le sien sur lui, y aurait il possibilité que la box puisse garder trace de ce passage (adresse mac du portable essayant de se connecter au reseau?)

8. Le , 23:24 par doms
d241a32688443872f0148ad081021830

Bonjour,

Un petit tuto serait bien :)

9. Le , 15:28 par Thomas
4ffdc5b7e56ed7f85cee9d0ef182448a

Je fait ça aussi sur ma domotique mais en plus mon tel envoi ma position (et pareil pour ma femme) au Rpi, comme ça si pas de wifi, la machine sais ou j'était il y à x minutes.
Ainsi l'alarme ne se déclenche pas :)

10. Le , 18:39 par izidor78
7b20fa9e835e8037d5005aa84b69bf83

Bonjour,

Oui avec un Tuto ce serait bien.

Merci.

11. Le , 22:22 par izidor78
7b20fa9e835e8037d5005aa84b69bf83

Bonjour Thomas,

Peux-tu nous dire comment tu as fait ?

Merci.

12. Le , 18:12 par zeverybest
443a8bc03872f090aa368de50c009318

ça y est

apres pas mal de sueur, j'ai reussi a utiliser l'API de la freebox
Il faut avouer que la doc n'est pas super clair et contient quelques erreur

Mais, cela fonctionne.
je peux fournir mon brouillon de test a ceux qui le souhaitent

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.