PRESENCE-RemoteFritzbox

Begonnen von erwin, 27 Dezember 2013, 21:39:11

Vorheriges Thema - Nächstes Thema

erwin

Hi dennis87,

deinem Log entnehme ich folgendes:
  um 21:09:20 gibts ein sending request für Elisabeths-4S - als Antwort kommt 1 also present.
  um 21:11:21 gibts ein sending request für Elisabeths-4S - als Antwort kommt nix das ist komisch.
  um 21:13:20 gibts ein sending request für Elisabeths-4S - als Antwort kommt 1 also present.

... und diese Änderung triggert natürlich deinen Watchdog, soweit ist das klar.

was allerdings nicht sein sollte, ist das als Antwort gar nichts zurück kommt... ausser das shellscript auf der Fritzbox stürzt aus irgendeinem Grund ab....

Aus dem Device-Namen rate ich, das es um ein iPhone4 geht, korrekt?
... falls korrekt, mit dem Ding hab ich auch meine Probleme, geht immer wieder in den Standby, meldet sich vom WLAN ab und nach einigen Minuten wieder an.

Zum Debuggen würde ich empfehlen:
1)  FHEM stoppen
2)  sudo killall  RFritzBoxScan.pl (auf der Raspi-Konsole) den daemon stoppen
3) ./ RFritzBoxScan.pl   händisch von der Konsole starten, dann liefert der Daemon laufend debug output. - Die Konsole offen lassen!
4) FHEM wieder starten

dann schau ich mir den Output gerne an.
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

dennis87

Hallo Erwin,
vielen Dank für die schnelle Rückmeldung. Es scheint wirklich an dem 4S zu liegen, ich bin seit heute Mittag zuhause und es funktioniert einwandfrei, bei meiner Frau hat es schon wieder diverse male gewechselt (aber sauber von 1 auf 0 und 0 auf 1).

Da du die RFritzBoxScan.pl erwähnt hast ist mir noch was eingefallen. Ich habe die Datei nicht direkt auf die Fritzbox gespielt, sondern per nano eingefügt, da ich unterwegs war und so nicht an die Fritzbox kam. Ich habe das Script von dir nun erst noch mal anständig auf die Box kopiert und teste damit. Wenn die Fehler weiterhin auftreten, melde ich mich nochmals :).


Danke schonmal!

Markus M.

PRESENCE hat auf der Fritzbox aktuell noch ein anderen Problem (bzw. die Fritzbox hat es):
In der Box kann es mehr als einen Geräteeintrag mit identischen Namen geben.
Wenn dann der falsche Eintrag (z.B. LAN/WLAN) die niedrigere Gerätenummer hat, erscheint das Gerät immer als absent.
Könnte man das evtl. mit der optionalen Angabe der MAC lösen?
D.h. wenn man statt dem Namen die MAC angibt (Check auf ":" sollte reichen), läuft die Schleife darüber?!
Aktuell weder Smarthome noch FHEM vorhanden

wopper


Markus M.

#34
Update für die Fritzbox-Erkennung:
Bei LAN Devices wird der speed jetzt auch ausgegeben, wenn das Gerät nicht active ist.
Die Erkennung funktioniert im LAN also nicht mehr zuverlässig, nur noch bei WLAN Geräten!

(Die Änderungen aus der Version im Anhang sind mittlerweile über Update zu bekommen.)

Zusätzlich kann man damit im Modus fritzbox statt dem Namen auch wahlweise die MAC Adresse eingeben.
(In der FB sind doppelte Gerätenamen möglich, was zu falschenErgebnissen führt!)
Und da wir den speed Wert nun eh schon rumfliegen haben, wird er gleich noch als Reading ausgegeben, sofern man fritzbox_speed setzt.

Cheers, Markus
Aktuell weder Smarthome noch FHEM vorhanden

DerTom

Hallo,

ich habe den WIKI-Eintrag mit der Variante 1 abgearbeitet. Leider kommt bei mir bei jedem Test im Logfile ein timeout...:

2014.10.03 11:23:05.345 1: Timeout for PRESENCE_DoLocalFunctionScan reached, terminated process 16577
2014.10.03 11:23:15.545 5: RemoteFritzBox Server-running with pid 14699
2014.10.03 11:23:20.561 1: RemoteFritzBox cannot connect to Server Die Wartezeit f�r die Verbindung ist abgelaufen


Was läuft da schief? Warum Timeout? Der Daemon läuft, weil ich sehe, daß der Port 7777 auf meinem Cubie offen ist.

Der angegebene Test mit

./RFritzBoxScan.pl /opt/fhem/credentials.cfg

endet mit der Meldung:

RFritzBoxScan: server waiting for client connection on port 7777
FBlogin-parameters=<ip>|xxxxx|yyyyy| (hier stehen die richtigen Daten)
prematch | pmatch= password|: |
sending password
RFritzBoxScan: Fritzbox login ok
RFritzBoxScan: connection from <IP>:62619
RFritzBoxScan: ..from FHEM received data:
RFritzBoxScan: ..sending to Fritzbox:  0
RFritzBoxScan: ..cmdresult: RFritzBox: 0 999 0
RFritzBoxScan: ..result to fhem: 0


Wie gebe ich einen Gerätenamen an, um die Funktion zu testen?

Ich habe eine aktuelle Fritzbox 7390  FW6.20 ohne irgendwelche Änderungen (ausser FTP eingeschaltet).

Kann jemand helfen?

erwin

hmmm....

Dein Output schaut so aus, als ob etwas an der FHEM definition nicht stimmt.....

define <myName> PRESENCE function {RemoteFritzBox("<FBdevicename>")} 120 120

dann sollte der output aus deinem Beispiel so aussehen:
RFritzBoxScan: ..from FHEM received data: <FBdevicename>
RFritzBoxScan: ..sending to Fritzbox: <FBdevicename> xx
RFritzBoxScan: ..cmdresult: RFritzBox: <FBdevicename> xx y
RFritzBoxScan: ..result to fhem: y


Fehlermöglichkeit2:
Irgendwas stimmt nicht in der cfg-file, der Timeout für den Verbindungsaufbau ist 5Sekunden, und das entspricht auch den Timestamps in deinem Log.
Fehlermöglichkeit3:
Es läuft mehr als EIN RFritzboxscan.pl - Testen mit ps -ef | grep RFritzBoxScan
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

DerTom

Hallo Erwin,

danke für die schnelle Antwort!

Dann drösele ich das mal ein wenig auf...

Möglichkeit 1: Ich denke die Definition ist OK...
define Abfrage_Thomas_Handy PRESENCE function {RemoteFritzBox("Q10")} 60 60

Möglichkeit 2:Das Config-File habe ich 1:1 (mit Anpassungen) aus dem Wiki übernommen...(Username und Kennwort stimmen aber)

# this is credentials.cfg file
# where i keep my secure stuff for fhem ;-))
#
# PRESENCE credentials (only required for function RemoteFritzBox)
$credentials{RemoteFritzBox}{ipadress} = "192.168.200.7";
$credentials{RemoteFritzBox}{username} = "xxxxx";
$credentials{RemoteFritzBox}{password} = "yyyyy";
$credentials{RemoteFritzBox}{shellcmd} = "/var/media/ftp/bin/Rpresence.sh"; # FB executeable - pfad anpassen
$credentials{RemoteFritzBox}{serverhost} = "localhost";  # RFritzBoxScan.pl provides this service
$credentials{RemoteFritzBox}{serverport} = 7777; # RFritzBoxScan.pl server port
$credentials{RemoteFritzBox}{serverbin} = "RFritzBoxScan.pl"; # Fritzbox daemon name - running on RPI
$credentials{RemoteFritzBox}{speedmatching} = "active";  # optional valid: <active|speed> siehe PRESENCE-Fritzbox
#


Wobei ich festgestellt habe, daß bei einem $ im Kennwort auch ein \ vorangestellt werden muss...

Möglichkeit 3: Das habe ich geprüft und es läuft nur ein Prozess:

root@chird:/opt/fhem/FHEM# ps -ef | grep RFritzBoxScan
fhem      5728     1  0 14:11 ?        00:00:02 /usr/bin/perl ./FHEM/RFritzBoxScan.pl ./credentials.cfg
root      7790 14855  0 14:17 pts/0    00:00:00 grep RFritzBoxScan


Habe auch schon den Port geändert. Daran lag es auch nicht...Ich habe ja auch noch ein anderes Problem mit dem Presence-Modul: http://forum.fhem.de/index.php/topic,27568.0.html . Kann es damit im Zusammenhang stehen?

Grüße
Thomas






ChristianK.

Guten Morgen,

ich habe seit neuestem folgende fehlermeldung sporadisch im log:
2014.10.09 07:16:54 1: PERL WARNING: Use of uninitialized value $sid in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 174.
2014.10.09 07:16:54 1: Login to Fritzbox failed


jemand eine Idee dazu?

Grüße

Christian K.
FHEM: 5.5 auf NUC unter Ubuntu
1x RFXTRX433, 1x CUL868_V3.4 (fw1.58)
CUL-MAX: MAX! Funk-Heizkörperthermostat, Fensterschalter
IT: 2 AB440 kompatible :-)

erwin

@ChristianK.
Zitat2014.10.09 07:16:54 1: PERL WARNING: Use of uninitialized value $sid in con......
heisst, das es ein Problem gab beim Login auf die Fritzbox.
Das kann schon mal vorkommen, wenn die FB sehr beschäftigt ist, nicht innerhalb des Timeouts antwortet, usw....
Du hast allerdings nicht geschrieben, ob die Funktion grundsätzlich funktioniert.
PS: das login wird im Modul FritzBoxUtils.pm erledigt.
...Ich könnte die PERL Warning webekommen, der Login-Fehler würde trotzdem bleiben. Ich bin allerdings momentan am überarbeiten des ganzen Moduls und werde das auch berücksichtigen.
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

ChristianK.

Hallo,

ja grundlegend funktioniert die Geschichte...

Grüße

Christian
FHEM: 5.5 auf NUC unter Ubuntu
1x RFXTRX433, 1x CUL868_V3.4 (fw1.58)
CUL-MAX: MAX! Funk-Heizkörperthermostat, Fensterschalter
IT: 2 AB440 kompatible :-)

pte

Hallo erwin,

aktuell läuft Deine Lösung bei mir ziemlich stabil (gelegentlich gibt es einen Eintrag im Log "PRESENCE (xxx) - error while processing check: unexpected function output (expected 0 or 1):"). Aber die Erkennung unserer beiden iPhones (4s und 5s) läuft meiner Ansicht nach zuverlässig.
Gibt es bezüglich Deiner Ankündigung zur "grundsätzlichen Überarbeitung" einen aktuellen Stand?
Ich möchte meine Fritzbox 7390 auf 6.20 updaten und notwendige Anpassungen nur einmal ausführen.
Danke für Deine Unterstützung.

Gruß Peter
Lichtenstein/Sa. grüßt den Rest der Welt

erwin

Hi Peter,
danke fürs Feedback, ich habe soeben die Version 1.4 hochgeladen (1.post in diesem Thread), damit sollte es auch mit der FB Version 6.20 funktionieren!
PS: Siehe auch Kommentare zur Version 1.3 - das sollte jedenfalls die "grundsätzliche Überarbeitung" sein....
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

erwin

Hi all, die gestern die Version 1.4 herunergeladen haben:

Ich habe die Version 1.4 nochmals hochgeladen.
Fix für "cannot connect to server: connection refused"  ... während startup.
Es wurde nur die 99_RFritzBox.pm geändert gegenüber der gestrigen Version.
Sorry erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

hyper2910

Hi zusammen,


habe das ganze jetzt nach Umzug auf den Cubie nochmals gemacht.

Jede bleibt er beim Testen immer hier hängen, und nichts passiert:

RFritzBoxScan: server waiting for client connection on port 7777


was könnte ich noch machen


Gruss Dirk

Cubietruck mit FHEM, CUL V3 443MHz, 2 x CULV3 868MHz, Milights, Max Heizungssteuerung, Homematic, IT,