Anwesenheitserkennung Fritz!Box mal anders

Begonnen von Sturi2011, 15 Juni 2015, 22:23:49

Vorheriges Thema - Nächstes Thema

Sturi2011

Hallo,

da mich die Zugriffe über Telnet und Webinterface nicht wirklich glücklich machten, habe ich mich mal über die Schnittstellen der FB informiert und bin auf TR064 gestoßen.
Da gab es auch diverse Scripte im INet aber keines, das tat was ich wollte - also Tasten quälen.

hier das Ergebnisscript - Beschreibung im Header.

Aufruf:

define WLAN_Status_Sturi PRESENCE shellscript "c:/fhem/fhem/fhem/fb2.pl --ip 192.168.0.1 --port 49443 --mac 00:00:00:00:00:00" 120 120

Voraussetzung:

remote Verwaltbarkeit auf FB aktiviert (Standardfirmware)

Perl-Module - die meisten sind standardmässig bereits installiert:
strict;
warnings;
LWP::Simple;
LWP::UserAgent;
XML::Simple;
Getopt::Long;
open qw(:std :utf8);

Have Fun

Gruß Andreas

IceTee

Hallo Sturi,
ich bin absoluter Anfänger was Linux und FHEM betrifft. Habe hier schon ganz viel gelesen und auch schon vieles ausprobiert.
Eine etwas kompliziertere Anwesenheitserkennung habe ich schon mal gefunden, da musste man auf der FB auch FHEM installieren und dann mit der Master-FHEM verbinden.

Das hier sieht wesentlich einfacher aus! :-) Echt super!

Als Noobee habe ich noch ein paar Fragen:

define WLAN_Status_Sturi PRESENCE shellscript "c:/fhem/fhem/fhem/fb2.pl --ip 192.168.0.1 --port 49443 --mac 00:00:00:00:00:00" 120 120

"_sturi......." ist sicherlich der Name, der bei der Firtzbox für Dein Handy hinterlegt ist?
"C:/fhem.../" wie würde denn beim RPI die Syntax sein?
"mac 00....." muss ich wohl mit meiner Firtzbox Mac-Adresse ergänzen?

Dann noch eine Frage zu den Perl-Modulen.
Woher weiß ich, ob alles installiert ist und wie installiere ich den fehlenden Rest auf meinem Raspberry?

Schon mal Danke
greets
Ice

Matti

#2
Hallo IceTee,
Mit define ...Sturi definierst du nur einen Namen innerhalb fhem.
Die Mac Adresse ist die von z.b deinem Handy, nicht der fritzbox.
Unter Linux würde es bei einer Standartinstallation wohl so aussehen:
/opt/Fhem/fhem/fb2.pl

Grüße

Edit: die perl module am besten uber cpan installieren. Suche mal danach habe gerade keine weitere Infos mit handy ^-^

Gesendet von meinem Nexus 5 mit Tapatalk
FHEM auf Raspberry Pi 2 mit HMLAN und FHEMduino
Diverse HM Komponenten, 433Mhz Steckdosen, HarmonyHub, Kodi

zernima

Hallo,

ich habe gerade das Modul installiert. Leider bekomme ich eine Fehler Meldung.

500 Can't connect to 192.168.2.1:49443 at /opt/fhem/FHEM/fb2.pl line 71.
2015.07.17 22:11:29 2: PRESENCE (WLAN_Status_Huwaei) - error while processing check: unexpected script output (expected 0 or 1):

An was könnte es liegen?

Gruß Zernima

roedert

Eine schöne Idee dieses Programm - hab es auch mal getestet, allerdings mit mässigem Erfolg.
Das Programm liesst ja nur die MAC-Databse der Fritzbox aus ... allerdings bekomme ich nur bei einigen der auf der Fritzbox-Webseite unter "Heimnetz - aktive Verbindungen" angezeigten MACs eine 1 zurück ... beim Rest kommt nach Reaktivierung der Print-Befehle im Script "Mac xx:xx:xx:xx:xx:xx not found in FritzBox Database!"

Liegt sicher nicht an deinem Programm, sondern an der Funktion dieser MAC-Database in der Fritzbox.

Mein iPhone zB ist als aktive Verbindung in der Fritzbox angezeigt (mit der kleinen Weltkugel davor) - dein Programm liefert aber auch hier wieder "not found in database" Eingebucht ist das iPhone aber auch nicht ins WLAN der Fritzbox sondern über einen anderen Accesspoint (Apple Airport Express).

Gibt es einen einfachen Weg aus deinem Programm sich mal die komplette MAC-Database anzeigen zu lassen um evtl. deren Logik zu verstehen?

Sturi2011

Hi,

sorry ich war ein paar Tage dienstlich unterwegs. Das Problem trat bei mir am Anfang auch auf - vor allem wenn ich 5 GHz mit aktiviert hatte.
Nach Abschalten von 5 GHz und neu anmelden her Handys funktionierte es dann. Ich habe AVM auf den Bug hingewiesen.

Ich habe gerade mal die Version 6.30 vom Fritz OS installiert. Hier scheint es besser zu laufen. Allerdings ist damit dann die Telnet Ära vorbei.

Alle Auslesen geht auch über TR-064. Das habe ich aber in der 70_FritzBox_Tr064.pn noch nicht implementiert. Es soll noch folgen.

Gruß Andreas

Sturi2011

Hi,

@ Zernima

Hast du die Remoteverwaltbarkeit auf der Fritz-Box aktiviert?
Hast du Benutzername und Passwort als Attribute gesetzt?

Gruß Andreas

Sturi2011

Hallo,

nach der Änderung im Presence Modul (2&>1) muss das Script anders aufgerufen werden.

vorher:
shellscript "/fhem/fhem/fb2.pl --ip 192.168.0.1 --port 49443 --mac xx:xx:xx:xx:xx:xx" 120 120

nachher:
shellscript "/bin/perl.exe /fhem/fhem/fb2.pl --ip 192.168.0.1 --port 49443 --mac xx:xx:xx:xx:xx:xx" 120 120

Gruß Andreas