Update zu Fritzbox Presence in Node-Red

Vor einigen Tagen habe ich festgestellt, dass der Fritzbox Node “node-red-contrib-fritzbox-presence nicht mehr funktioniert. Deshalb musste eine neue Lösung her.

Zum Einsatz kommt nun folgendes Node-Red Package:  node-red-contrib-fritz

Die Fehlermeldung lautet “TypeError: Cannot read property ‘length’ of undefined” wenn man die Fritzbox abfragt welche Geräte über WLAN eingeloggt sind. Diese Funktion kann man gut für Home Automation nutzen um Abwesenheit oder Anwesenheit zu prüfen. Damit können verschiedene Sensoren deaktivieren bzw. aktivieren werden und eine Überwachung für Türen, Fenster und Bewegungsmelder etc. eingeleitet werden kann.

Kopiere das “fritzbox.json” in die Zwischenablage und importiere es in Node-Red und klicken dann auf “Deploy”. In den Node “Fritzbox” musst Du natürlich die Parameter Deiner Fritzbox eintragen. Ebenso in den Trigger die MAC-Adresse deines Smartphone eintragen.

Fritzbox Presence Node-Red

Joachim

Aus Leidenschaft für Technik. Aktuelle Themen sind Datensicherheit, Software für Datenschutz, Mobile Geräte, Smartphone Sicherheit und Anwendungen, Raspberry Pi Geek.

Alle Beiträge ansehen von Joachim →

25 Gedanken zu “Update zu Fritzbox Presence in Node-Red

  1. Hallo Joachim

    Ich habe mit einer Raspi 2B eine WebCam gebaut. Das funktioniert recht gut, aber ich
    bekomme nicht hin ein Bild, welches auf der Pi gespeichert ist, im Dashboard anzuzeigen.
    Auch das anzeigen von fremden WebCam mit URL-Adresse des Bild, zeigt mein Dashboard
    nicht an. Kannst du mir helfen?

  2. Hallo Joachim
    Danke für deine schnelle Antwort. Ja dein Flow funktioniert bei mir.
    Nun habe ich auch meinen Fehler gefunden. Ein Schreibfehler beim Befehl src
    war Schuld ( Asche auf mein Haupt ).
    Habe auch inzwischen gelernt, das ich vom Dashboard nicht so ohne weiteres auf
    das lokale Verzeichnis zugreifen darf. Das könnte dann ja jeder aus dem Internet.

    Viele Grüße, Olaf

  3. Hallo,
    gibt es eine Möglichkeit mehrere Adressen aufeinmal zu prüfen u. z.B. die Aktion nur ausführen wenn sich der Status ändert? Nehmen wir an ich bin schon zu hause – Heizung wurde mit Node-Red eingestellt aber ich möchte es doch wärmer haben u. erhöhe die Temperatur manuel.

    Besten Dank, Mex

    1. Hallo Mex

      ja klar geht das du musst einfach einen neuen Flow erstellen oder nimmst diesen oben aufgeführten Flow und hängst da noch weitere Geräte dran die gesetuert werden sollen bei Anwesenheit.

      Grüße , Joachim

  4. Hallo Joachim,

    ich habe dein Script importiert aber es wird mir im Dashboard nicht Angezeigt. Wie kann ich das Script mit dem Dashboard verknüpfen?

    Ich bin noch anfänger mit nod-red

    1. Hallo Zerpmaster

      Du kannst das Script nicht angezeigt bekommen im Dashboard, denn dazu gibt es keine Programmierung. Das musst Du erst selbst programmieren. Aber in diesem Fall geht es nicht was am Dashboard angezeigt zu bekommen, sondern es ist lediglich eine Funktion die für andere Sachen wie “Aktivere Alarmanlage” oder “Überwache die Wohnung” oder “Schalte Licht aus” genutzt werden kann, wenn Du nicht mehr im WLAN deines eigenen Netzwerk bist.

      Grüße , Joachim

  5. Hallo Joachim, bis vor kurzem hatte ich ebenfalls den Fritz Box Presence Node im Einsatz und zwar zur grafischen Darstellung der aktiven WLAN (IP Adressen) Verbindungen auf dem Dashboard. Leider funktioniert das seit Fritz OS7 nicht mehr (selbe Fehlermeldung: „TypeError: Cannot read property ‚length‘ of undefined“). Ich habe diese Möglichkeit bis dato nicht im FritzBox Node gefunden. Hast du da eine Idee? Danke und Grüße- Jesco

  6. Hallo Joachim, zuerst hatte ich “node-red-contrib-fritzbox-presence”, was eben mit Fritz OS6 prima funktionierte. Nun habe ich “node-red-contrib-fritz” installiert. Grüße Jesco

  7. Hallo allerseits.
    Ich habe herausgefunden, warum ‘node-red-contrib-fritzbox-presence’ nicht mehr funktioniert. Anscheinend hat sich die Struktur der Daten, welche von der Fritzbox zurückgegeben werden, ab fritz OS7 geändert.
    In der Datei ‘fritzbox-presence.js’, welche zu diesem node-red Modul gehört, muss nur eine Zeile geändert werden.
    Ich habe die Änderung bereits an den Author gemeldet. Hier das Pull-Request: https://github.com/oliverlorenz/node-red-contrib-fritzbox-presence/pull/2/commits/f41e0cc47ec6178cf4850357be34ee0b6dce58d4

    Wenn ihr den Fehler selbst beheben wollt ==>
    Die Datei findet man unter:
    /home/[username]/.node-red/node_modules/node-red-contrib-fritzbox-presence

    Dort findet ihr folgende Zeile (Zeile 43):
    const devices = response.data.active

    Ändert diese wie folgt:
    const devices = response.data.net.devices

    Änderung speichern und node-red neu starten (sudo service nodered restart). Danach sollte alles wieder funktionieren.

    1. Wo finde ich denn die “fritzbox-presence.js” wenn ich node-red über Iobroker laufen habe ?

      /opt/iobroker/node_modules
      /opt/iobroker/node_modules/node-red
      /opt/iobroker/node_modules/iobroker.node-red

      Habe ich sie nicht gefunden ?!

  8. Hi Joachim, seit geraumer Zeit (möglicherweise mal wieder aufgrund eines Fritzbox updates) funktioniert die Client IP Abfrage der Fritzbox (7490, OS 7.12) mittels des “fritzbox.presence” nodes nicht mehr. Nach dem Triggern erscheint direkt diese Meldung “Error: Unvaild session id”. Hat hier jemand einen Tipp, bzw. kann ich so eine Abfrage (einfache Auflistung aller momentan aktiven Clients) auch mit node-red-contrib-fritz realisieren? Danke vorab – Jesco

  9. Hi
    Ich konnte “node-red-contrib-fritz” nicht mehr löschen, da ein node aktiv war, obwohl er nicht sollte.
    Es kamen auch Fehler mit mir unbekannten scheinbar fest eingegebenen URL’s.
    Habe das Docker Image und sein Volume letztendlich gelöscht und neu gebaut.

  10. Hallo Joachim,
    vielen Dank für die Beschreibung. Mir als einem Neuling hilft es 🙂
    Gibt es eine Möglichkeit etwa zwei, frei MAC auf Anwesenheit zu prüfen und wie müsste die Funktion dafür aussehen, die mir etwa true oder false zurückgibt, wenn bestimmte MAC anwesend ist?
    Danke für die Unterstützung und die Zeit!!!

  11. Hi Joachim,
    du hattest in einem deiner Youtube Videos dein Daschboard mit der Fritzbox gezeigt. Dort hattest du den QR-Code für den Gastzugang gehabt. Könntest du mir erklären wie du das gemacht hast. ? Würde mir gerne das bild beim aktivieren des Zuganges per Telegram zuschicken lassen.

    Gruß

    1. Hallo Alfa

      nun wenn Du Dich an Deiner Fritzbox unter http://fritz.box anmeldest und dann -> WLAN -> Funknetz gehst, dann siehst Du ganz unten 1 oder 2 QR Codes. Da machst einen Screenshot und schon kannst die einbinden wie Du möchtest.

      Hoffe Dir geholfen zu haben.
      Grüße , Joachim

  12. Hallo, ich bekomme immer die Fehlermeldung
    “Action failed with error: 500: Internal Server Error”

    Hat da jemand eine Lösung zu?

    1. Hallo Dennis, ich habe die gleiche Fehlermeldung “Action failed with error: 500: Internal Server Error”.
      Hast du eine Lösung gefunden?
      Das scheint eine etwas instabile Lösung zu sein? “Jedes” AVM µ-Code Update scheint neue Fehler zu generieren.
      VG aus Altlandsberg

  13. Hallo zusammen,

    nach dem Aktualisieren meiner FRITZ!Box 7490 auf FRITZ!OS 07.28 klappt die Kommunikation zwischen Node-RED (node-red-contrib-fritz Version 1.45) und der FRITZ!Box nicht mehr. In dem Node-RED-Log finden sich nun Einträge wie z.B.
    [error] [fritzbox-in:Gäste-WLAN Passwort lesen] No Services response received.

    In Node-RED bekomme ich bei dem Versuch, in einem Node “FRITZ!Box” die Listbox “Service” zu aktualisieren nur noch eine Liste ohne Einträge, eine Fehlermeldung ist dort nicht zu sehen. In dem Configuration-Node zur FRITZ!Box kann ich Änderungen vornehmen, Auswirkungen oder Fehlermeldung kann ich nicht erkennen.

    In der FRITZ!Box ist unter Heimnetz/Netzwerk/Netzwerkeinstellungen/Heimnetzfreigaben der Punkt “Zugriff für Anwendungen zulassen” aktiviert, so dass ein TR-064 Zugriff möglich sein sollte. In den von AVM bereitgestellten Änderungen zu FRITZ!OS 7.28 (https://download.avm.de/fritzbox/fritzbox-7490/deutschland/fritz.os/info_de.txt) kann ich nicht ersehen, was sich bzgl. eines Zugriffs von außen geändert hat.

    Hat jemand das gleiche Problem? Wie ist ist die Lösung dafür? 😉

  14. Hallo zusammen…..
    Nach der Änderung der Datei fritzbox-presence.js wie oben beschrieben und einem neustart des Pi…. bekomme ich die Daten ausgegeben!
    aktuell 35 Geräte im Wlan …. Das ist schon einmal sehr schön.
    Deine Lösung oben mit der anderen Node fukntioniert bei mir nur wenn ich eine bekannte MAC adresse hinterlege. Wenn die MAC richtig ist… dann erhalte ich im Debugbereicht die ausgabe”1″
    Wenn ich dieses gerät vom Wlan trenne erhalte ich noch immer 1. Wenn ich eine unbekannte MAC eingebe erhalte ich immer eine 500 Fehlermeldung…. aktuell sind 5 Fritz 301 auf dem weg zu mir…. Diese wollte ich dann gerne einstellen vonwegen If handy im Wlan dann Thermostat auf x grad….
    Wobei ich mich frage ob das sein muss…. Da mein Handy im Regelfall immer die gleiche IP bekommt könnte ich einfach die IP dauerhaft anpingen und bei eine Positiven Rückmeldung darauf reagieren?!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert