HowTo : Node Red / FritzBox – détection de présence avec la FritzBox

Un événement important auquel votre SmartHome doit pouvoir réagir est le statut de présence des résidents. Par exemple, vous pouvez éteindre les lampes lorsque vous êtes absent ou allumer les radiateurs lorsque vous êtes présent.
S'il vous arrive d'avoir encore une FritzBox, cette détection de présence est particulièrement facile.

Tout ce dont vous avez besoin est une FritzBox, NodeRed et la ou les adresses MAC du smartphone du résident.

La manière dont vous implémentez la détection de présence avec la FritzBox dans NodeRed est décrite dans l'article suivant.


Consignes de sécurité

Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/

Liens d'affiliation/publicitaires

Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂 


Conditions préalables

Articles utiles :
Pour que vous puissiez accepter cette configuration, NodeRed doit bien entendu déjà être installé.
Comment préparer un RaspberryPi puis installer NodeRed dessus est décrit dans les articles suivants.

Les articles suivants décrivent ce qui doit être fait pour préparer le RaspberryPi :
RaspberryPi - configuration pour les nerdiys !
RaspberryPi – La première configuration !
RaspberryPi - Contrôlez le RaspberryPi via SSH

NodeRed – Installer NodeRed sur le RaspberryPi
NodeRed – Installer de nouveaux nœuds

Outil requis
-Non-

Matériel requis :

Dans la liste suivante, vous trouverez toutes les pièces dont vous avez besoin pour mettre en œuvre cet article.


Connectez-vous à l'interface de configuration de NodeRed

Avant de pouvoir modifier votre configuration NodeRed, vous devez - si activé - vous connecter d'abord à l'interface de configuration NodeRed.

Vue de la boîte de dialogue de connexion. Ici, vous devez entrer les données de connexion que vous avez spécifiées lors de la configuration de la connexion. Vous trouverez des informations à ce sujet dans l'article NodeRed - configurer la connexion de l'utilisateur.

Installer le nœud FritzBox

Damit NodeRed mit Eurer FritzBox kommunizieren kann müsst Ihr die Node “node-red-contrib-fritz” installieren. Wie Ihr Nodes installiert ist im Artikel NodeRed – Installer de nouveaux nœuds décrites.


Entrer dans la configuration du nœud FritzBox

Pour que le nœud FritzBox qui vient d'être installé puisse également communiquer avec votre FritzBox, vous devez entrer vos données de connexion FritzBox dans la configuration du nœud.

Klickt dazu auf die Node “Fritz!Box Callmonitor”. Daraufhin öffnet sich ein neues Fenster in dem Ihr in der Zeile “Device” “Add new fritzbox-config” in der Drop-Down-Liste auswählen könnt. Wählt dies aus und klickt dann auf das Stift-Icon rechts davon.
In dem sich nun öffnenden Fenster müsst Ihr die Login-Daten zu Eurer FritzBox eingeben. Also zuerst den Namen, damit die Konfiguration nicht namenlos bleibt und dann den Benutzernamen und das Passwort. Falls die FritzBox in Eurem privaten Netzwerk steht könnt Ihr die Angaben bei Host so stehen lassen. Nur falls Ihr auf eine entfernte FritzBox zugreift müsst Ihr hier die URL zur FritzBox eintragen. Dann solltet Ihr auch dafür sorgen, dass diese Verbindung per HTTPS verschlüsselt ist.In diesem Fall muss dann auch der Haken bei “Is SSL connection” gesetzt werden. habt Ihr alles eingegeben bestätigt Ihr dies mit einem Klick auf “Add”.
Dadurch werdet Ihr wieder ins vorherige Fenster weitergeleitet. Die Neue FritzBox-Konfiguration ist nun schon ausgewählt. Ihr müsst das Fenster nur noch mit einem Klick auf “Done” bestätigen.

Code de nœud pour la détection de présence

La détection de présence via la FritzBox fonctionne en principe en vérifiant quels smartphones sont enregistrés dans le WLAN ou le réseau de la FritzBox.

La première chose à faire est d'introduire le code du nœud ci-dessous dans votre configuration NodeRed.
Ensuite, vous avez besoin des adresses MAC des smartphones dont vous souhaitez détecter la présence. Vous devez ensuite le saisir dans une étape ultérieure de la configuration du nœud Fritz!Box.

Structure des nœuds dans la configuration NodeRed

Code nœud :

[
    {
        "id": "cf98613.60e11a",
        "type": "comment",
        "z": "7289f257a02aeac1",
        "name": "AnwesenheitHandy1",
        "info": "",
        "x": 210,
        "y": 720,
        "wires": []
    },
    {
        "id": "eedc08fb.12b8f8",
        "type": "inject",
        "z": "7289f257a02aeac1",
        "name": "AnwesenheitHandy1",
        "props": [
            {
                "p": "payload"
            },
            {
                "p": "topic",
                "vt": "str"
            }
        ],
        "repeat": "60",
        "crontab": "",
        "once": true,
        "onceDelay": "1",
        "topic": "",
        "payload": "{'NewMACAddress': 'XX: XX: XX: XX: XX: XX'}",
        "payloadType": "jsonata",
        "x": 260,
        "y": 780,
        "wires": [
            [
                "38b70c39.68f504"
            ]
        ]
    },
    {
        "id": "c546f3f1.387d1",
        "type": "debug",
        "z": "7289f257a02aeac1",
        "name": "AnwesenheitHandy1",
        "active": false,
        "tosidebar": true,
        "console": false,
        "tostatus": false,
        "complete": "payload.NewActive",
        "x": 680,
        "y": 760,
        "wires": []
    },
    {
        "id": "1c07ae94.c6b621",
        "type": "trigger",
        "z": "7289f257a02aeac1",
        "name": "",
        "op1": "AnwesenheitHandy1 ist im Netzwerk angemeldet",
        "op2": "0",
        "op1type": "str",
        "op2type": "str",
        "duration": "0",
        "extend": false,
        "units": "ms",
        "reset": "0",
        "bytopic": "all",
        "outputs": 1,
        "x": 950,
        "y": 780,
        "wires": [
            [
                "38b38282.c0058e"
            ]
        ]
    },
    {
        "id": "3c25ea32.a803d6",
        "type": "change",
        "z": "7289f257a02aeac1",
        "name": "",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "payload.NewActive",
                "tot": "msg"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 700,
        "y": 840,
        "wires": [
            [
                "1c07ae94.c6b621",
                "379d6bd2.312594"
            ]
        ]
    },
    {
        "id": "379d6bd2.312594",
        "type": "trigger",
        "z": "7289f257a02aeac1",
        "name": "",
        "op1": "AnwesenheitHandy1 ist nicht mehr im Netzwerk angemeldet",
        "op2": "0",
        "op1type": "str",
        "op2type": "str",
        "duration": "0",
        "extend": false,
        "units": "ms",
        "reset": "1",
        "bytopic": "all",
        "outputs": 1,
        "x": 950,
        "y": 860,
        "wires": [
            [
                "59fcf739.918c68"
            ]
        ]
    },
    {
        "id": "38b38282.c0058e",
        "type": "pushbullet",
        "z": "7289f257a02aeac1",
        "config": "274f4530.883c1a",
        "pushtype": "note",
        "title": "Anwesenheit",
        "chan": "",
        "name": "",
        "x": 1170,
        "y": 780,
        "wires": []
    },
    {
        "id": "59fcf739.918c68",
        "type": "pushbullet",
        "z": "7289f257a02aeac1",
        "config": "274f4530.883c1a",
        "pushtype": "note",
        "title": "Anwesenheit",
        "chan": "",
        "name": "",
        "x": 1170,
        "y": 860,
        "wires": []
    },
    {
        "id": "38b70c39.68f504",
        "type": "fritzbox-in",
        "z": "7289f257a02aeac1",
        "device": "eef817a2.74b848",
        "name": "",
        "service": "urn:dslforum-org:service:Hosts:1",
        "action": "GetSpecificHostEntry",
        "arguments": "{'NewMACAddress':'value'}",
        "x": 460,
        "y": 780,
        "wires": [
            [
                "c546f3f1.387d1",
                "3c25ea32.a803d6"
            ]
        ]
    }
]

Il est important que vous mettiez à jour l'adresse MAC saisie dans le nœud FritzBox après avoir importé le code du nœud. Cela doit bien sûr correspondre à l'appareil dont vous souhaitez surveiller la présence. Comment connaître l'adresse ou les adresses MAC des appareils de votre réseau se trouve dans l'article Afficher/connaître l'adresse IP des appareils du réseau mentionné.

Vue du nœud FritzBox dans laquelle vous devez spécifier l'adresse MAC de l'appareil à surveiller.

Spécifiez une adresse MAC fixe pour le smartphone

Certains fabricants de smartphones sont désormais passés à la modification aléatoire des adresses MAC de leurs appareils. Il s'agit d'une fonction de sécurité afin que votre smartphone ne puisse pas être suivi dans des WLAN potentiellement étrangers.

Dans notre cas, cependant, c'est un frein car nous identifions les smartphones par l'adresse MAC fixe. Vous devez donc désactiver cette fonction pour votre WLAN.

Désactivez l'adresse MAC aléatoire sur Android 11 :

Passe à :

  • Idées
  • liens
  • ACCÈS INTERNET SANS FIL
  • Cliquez sur l'engrenage à côté de votre WLAN (connecté)
  • avancé
  • MAC-Adresstyp -> Einstellen auf “Telefon-MAC”

Désactiver l'adresse MAC aléatoire sur iOS :

Unter iOS verbirgt sich diese FUnktion etwas kryptisch unter dem begriff “Private WLAN-Adresse”. Ihr findet Sie unter:

  • Idées
  • ACCÈS INTERNET SANS FIL
  • Réseau (celui auquel vous êtes actuellement connecté)
  • Adresse WLAN privée -> désactiver

Amusez-vous avec le projet

J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂

PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂

Achetez-moi un café sur ko-fi.com       

8 commentaires

  1. Bonjour à tous,

    J'ai utilisé vos instructions comme décrit ci-dessus.
    Leider erscheint bei mir in der “debug” Leiste folgendes:

    “No credentials set for pushbullet config.”

    où puis-je définir des informations d'identification pour la configuration pushbullet ?
    Et qu'est-ce que je dois y mettre exactement?
    J'espère que vous pourrez m'aider 🙂
    Sincèrement
    Jürgen

  2. Hallo ich hoffe das dieser Bereich noch in Beobachtung ist. Wenn ich den Node Code importieren möchte schreibt mir Node RED an diversen Stellen einen Syntax Fehler

    1. Hi Stefan,
      du hast recht, danke für den Hinweis. Ich habe den Code nun nochmal neu hochgeladen. Jetzt müsste es gehen. 🙂
      Cordialement
      Fabien

      1. Der Inject-Typ ist falsch. Der muss auf “JSONata” stehen für die MAC-Adresse, nicht auf “JSON”. Dann funktioniert der Spaß auch, wie er soll 🙂

        Aber danke für den Tipp mit Pushbullet, das ist genau das, was ich noch gesucht habe.

        1. Salut,
          oh dann muss sich etwas an der Implementierung geändert haben. Hatte den Code so bisher genutzt. Hab es aber jetzt angepasst.
          Danke dir für den Hinweis. 🙂
          Cordialement
          Fabien

  3. Hallo Fabian, ich habe eine Frage; Alles funktioniert einwandfrei, allerdings erhalte ich keine Push-Nachricht, wenn das iPhone wieder im Netzwerk ist. Ich sehe, dass sich unter dem anderen Knoten „Trigger and Block“ ein quadratisches Kästchen befindet. Meine zweite Frage ist, dass ich eine andere Fritzbox (gleiche SSID, kein DHCP usw.) in meinem Netzwerk habe, um mein Netzwerk zu stärken. Wenn mein iPhone dorthin geht, erhalte ich auch eine Benachrichtigung vom Netzwerk

    1. Hi Bert,
      hast du den Punkt mit der Mac Adresse beim iPhone beachtet? Um unauthorisierte Verfolgung zu verhindern simuliert das iPhone standardmäßig unterschiedliche Mac Adressen wenn es sich in ein WLAN einloggt. Dies solltest du für dein WLAN deaktivieren. Ich glaube ich habe das im Artikel beschrieben. (Kann aktuell leider nicht nachgucken). Hast du diesen Punkt schon beachtet? 🙂
      Cordialement
      Fabien

Kommentar hinterlassen

Votre adresse e-mail ne sera pas publiée. Erforderliche Felder sind mit * markiert

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