[Tuto] Creation d'"interrupteur" via les profils de la Freebox pour gestion de la vie privé avec une camera.

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement.
Merci d'utiliser la balise correspondante à votre sujet : [Tuto], [Plugin], [DzVents], [LUA], [Python], [Bash] ...
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
Répondre
fpatou
Messages : 11
Enregistré le : 18 juil. 2016, 10:16

[Tuto] Creation d'"interrupteur" via les profils de la Freebox pour gestion de la vie privé avec une camera.

Message par fpatou »

Bonjour....
C'est pas le tuto du siecle mais bon le partage est toujours la bonne attitude !

Je possede une camera extérieur sur batterie sans api. Elle n est donc pas très cher mais fait le job et donne un trace cloud gratuite bien pratique avec une semaine de retention.

Elle est donc pas mal MAIS rien pour gérer les interruptions lorsque je suis a la maison, obligé de mettre en pause a la mano et si j oubli de le faire : c'est noel sur le telephone. :-).
Il existerait aussi d autres raisons pour que cette désactivation soit automatique, a commencer le respect de la vie privée des gens qui vivent avec moi. Bref mon souhait :

si qq un est a la maison je veux que la camera n envoi rien sur le cloud et soit "Off"

Je suis aussi equipé d une freebox,

J ai donc ajouté dans la freebox un profil avec l'adresss MAC de la camera. (au final la gestion parental freebox est utilisé ici pour faire cet "interupteur")
Le challenge etait donc depuis Domoticz d'activé/desactivé ce profil via script (python en l occurence).

avec l aide ce ce blog
et une detection basic des telephones de la famille, je suis arrivé a mes fins :-)

Donc des qu un membre de la famille est a la maison : la camera se coupe ! et s'actionne qd la maison est vide.
Le profile ID est 1 pour moi.
<CAM MAC> est l adresse mac de la cam.

si vs voulez plus d info je reste open ! :-)

Code : Tout sélectionner

def get_profiles(self):
         method = "profile"
         result = self.connexion_get(method)
         return result

    def get_controls(self):
         method = "network_control/1"
         result = self.connexion_get(method)
         return result

    def set_profile_denied(self):
        method = "network_control/1"
        data ={
                 "profile_id": 1,
                 "next_change": 0,
                 "override": True,
                 "override_mode": "denied",
                 "current_mode": "allowed",
                 "macs": [
                          "<CAM MAC>"
                  ],
                 "hosts": [
                          "caméra vicohome"
                  ],
                  "resolution": 288,
                  "cdayranges": []
            }
        result = self.connexion_put(method, data=data)
        return  result

    def set_profile_allowed(self):
        method = "network_control/1"
        data ={
                 "profile_id": 1,
                 "next_change": 0,
                 "override": True,
                 "override_mode": "allowed",
                 "current_mode": "denied",
                 "macs": [
                          "<CAM MAC>"
                  ],
                 "hosts": [
                          "caméra vicohome"
                  ],
                  "resolution": 288,
                  "cdayranges": []
            }
        result = self.connexion_put(method, data=data)
        return  result

Répondre