PRESENCE-RemoteFritzbox

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

Vorheriges Thema - Nächstes Thema

erwin

ok, das schein das Problem zu sein.....

In der FB kannst du angeben, ob WEB login (vom Heimnetz) mit oder ohne user...

wenn in der FB ohne user, dann setze user='' in der credentials.cfg
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,...

PsychoD

Aaaahhh, bin ich blöd - da hätte ich auch mal selbst drauf kommen können.

Danke jedenfalls, geht jetzt! :)

VG

Motivierte linke Hände

#92
"Argl, Mist!" sowie "Einen fröhlichen Sonntag!".  ;)

Ich habe gerade den Repeater auf das neueste FritzOS 6.22 gebracht, und schon sind zwar die alten Bugs nichts gefixt (Anwesenheitserkennung muss immer noch bei Fritzbox und Repeater separat durchgeführt werden, Daten werden nicht an die Fritzbox weitergereicht), aber dafür funktioniert jetzt "RemoteFritzbox" auch nicht mehr mit dem Repeater, sondern wird bei Repeater-Abfragen eine Fehlermeldung im Logfile aus:

2015.02.08 12:07:07 2: PRESENCE (anwesend.Repeater.iPhone5S) - error while processing check: unexpected function output (expected 0 or 1): RemoteFritzBoxWeb device=28:E1:4C:9C:A7:AD not found

Hm...

57 Minuten Debugging später sagt Edith:

Ok, ein Neustart von fhem hat das Problem behoben. Warum...? Vermutlich gab's Probleme mit dem gespeicherten Login, wenn der Repeater zwischendurch ein Update durchführt?

Lässt sich mangels ausreichender Testobjekte kaum reproduzierbar untersuchen, wäre aber ggf. einen Tipp im Wiki wert?
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

erwin

HI,

wär interessant gewesen, was mit loglevel 5 im Log gewesen wär...
An sich ist das kein Fehler, heisst nur, dass das device auf der web-seite nicht gefunden wurde?

Vermutung: durch das Firmware upgrade wurden die devices gelöscht, werden erst bei der ersten Assoziation wieder angelegt....

Den Zusammenhang mit dem FHEM-Neustart versteh ich nicht, wurde evtl. der Repeater auch neu gestartet?
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,...

Motivierte linke Hände

Ich habe daran ja 'ne Stunde rumgebastelt, u.a. mir alle eingelesenen Zeilen vom Modul als Debug ins Log schreiben lassen, das Ergebnis des Vergleichs ausgeben lassen und mir natürlich auch die Seiten in Box und Repeater angeschaut... Es war alles da, es wurde auch eingelesen, es wurde nur nicht erkannt. Und als dann irgendwann das Log zu groß und unübersichtlich wurde, habe ich fhem beendet, das Log gekürzt, fhem wieder gestartet, um weitere Test durchzuführen, aber... es lief wieder.   ??? ::)

Da ich kein weiteres Gerät habe, bei dem ich ein Firmwareupdate machen kann, kann ich das leider aktuell auch nicht weiter testen.
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

joachimD

Hallo Erwin,

sorry, dass ich mich erst so spät auf deine Bitte um Test melde. Ich hatte keine Forenbenachrichtigung erhalten... :-(

Ich habe deine aktuelle Version 1.7 nun über die Version 1.4 installiert (d.h. das FHEM-Modul 99_RFritzBox.pm und das RFritzBoxScan.pl-Skript passend kopiert, Rechte gesetzt), nutze das immer noch in Installationsvariante 2 mit einer FB 6360.

Ich erhalte nun regelmäßig im Zusammenhang mit den Fritzbox-Statusanfragen Fehlermeldungen im Protokoll:

Zitat2015.02.16 15:32:06 3: telnetForBlockingFn: port 40418 opened
2015.02.16 15:32:06 4: RemoteFritzBoxWeb(Huawei-1) FB-number/model set to 0 / FB
2015.02.16 15:32:06 5: Login to fb with 192.168.178.1,***,***
2015.02.16 15:32:06 4: RemoteFritzBoxWeb(Huawei-2) FB-number/model set to 0 / FB
2015.02.16 15:32:06 4: RemoteFritzBoxWeb(Huawei-3) FB-number/model set to 0 / FB
2015.02.16 15:32:06 5: Login to fb with 192.168.178.1,***,***
2015.02.16 15:32:06 5: Login to fb with 192.168.178.1,***,***
2015.02.16 15:32:06 4: RemoteFritzBoxWeb(Huawei-4) FB-number/model set to 0 / FB
2015.02.16 15:32:06 5: Login to fb with 192.168.178.1,***,***
2015.02.16 15:32:07 4: RemoteFritzBoxWeb access with new login ok  730045e8db909657.1424097126
2015.02.16 15:32:07 4: RemoteFritzBoxWeb(Huawei-1) Login SID=730045e8db909657
2015.02.16 15:32:07 4: RemoteFritzBoxWeb(Huawei-1 was waiting 0 / 0 seconds for previous scan to complete.
2015.02.16 15:32:07 4: RemoteFritzBoxWeb(Huawei-1) HTTP request=http://192.168.178.1/wlan/wlan_settings.lua?sid=730045e8db909657
2015.02.16 15:32:07 4: RemoteFritzBoxWeb access with new login ok  44c0c35566a63f53.1424097126
2015.02.16 15:32:07 4: RemoteFritzBoxWeb(Huawei-2) Login SID=44c0c35566a63f53
2015.02.16 15:32:07 1: telnet SSL/HTTPS error: Datei oder Verzeichnis nicht gefunden
2015.02.16 15:32:07 1: telnet SSL/HTTPS error: Datei oder Verzeichnis nicht gefunden
2015.02.16 15:32:08 4: RemoteFritzBoxWeb access with new login ok  ffce77e359d9822a.1424097126
2015.02.16 15:32:08 4: RemoteFritzBoxWeb(Huawei-2) Login SID=ffce77e359d9822a
2015.02.16 15:32:08 4: RemoteFritzBoxWeb access with new login ok  2bd15ea11b834f84.1424097126
2015.02.16 15:32:08 4: RemoteFritzBoxWeb(Huawei-3) Login SID=2bd15ea11b834f84
2015.02.16 15:32:08 1: telnet SSL/HTTPS error: Datei oder Verzeichnis nicht gefunden
2015.02.16 15:32:08 1: telnet SSL/HTTPS error: Datei oder Verzeichnis nicht gefunden
2015.02.16 15:32:11 4: RemoteFritzBoxWeb(Huawei-4) was waiting 0 / 4 seconds for previous scan to complete.
2015.02.16 15:32:11 4: RemoteFritzBoxWeb(Huawei-4) HTTP request=http://192.168.178.1/wlan/wlan_settings.lua?sid=44c0c35566a63f53
2015.02.16 15:32:11 4: RemoteFritzBoxWeb(Huawei-1) match found... status=1
2015.02.16 15:32:15 4: RemoteFritzBoxWeb(Huawei-2) was waiting 0 / 7 seconds for previous scan to complete.
2015.02.16 15:32:15 4: RemoteFritzBoxWeb(Huawei-2) HTTP request=http://192.168.178.1/wlan/wlan_settings.lua?sid=ffce77e359d9822a
2015.02.16 15:32:15 4: RemoteFritzBoxWeb(Huawei-4) match found... status=1
2015.02.16 15:32:18 4: RemoteFritzBoxWeb(Huawei-3) was waiting 0 / 10 seconds for previous scan to complete.
2015.02.16 15:32:18 4: RemoteFritzBoxWeb(Huawei-3) HTTP request=http://192.168.178.1/wlan/wlan_settings.lua?sid=2bd15ea11b834f84
2015.02.16 15:32:18 4: RemoteFritzBoxWeb(Huawei-2) match found... status=0
2015.02.16 15:32:21 4: RemoteFritzBoxWeb(Huawei-3) match found... status=1

Außerdem finde ich in der Shell, in der ich fhem neu gestartet habe (unter Debian) folgende Meldungen:

ZitatUse of uninitialized value in numeric gt (>) at fhem.pl line 385.

Vorher gab's die Fehlermeldungen beide nicht - woran kann das liegen? (Die ssl-Module für Perl sind installiert).

Abgesehen von den Fehlermeldungen funktioniert die Abfrage aber.

Danke für's Mitdenken!

Gruß
Joachim

erwin

Hi Joachim,

ein paar Fragen:
1) hast du einen RemoteFritzBoxWeb dummy definiert?
    - gibts da ein reading, dass lastOkSid0 heisst?
2) Telnet / SSL
   - verwendest du SSL (und/oder) Passwort für das TELNET device?
      dann wird's nicht funktionieren. (betrifft nur das caching des login's)
3) dein Log ist etwas zu kurz.... bitte einen kompletten Zyklus ( PRESENCE time), sprich 2 Abfragen vom selben device hätte ich gerne gesehen.

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,...

joachimD

Hallo Erwin,

danke für deinen Hinweis - ich hatte tatsächlich für das telnet-Device in der fhem.cfg SSL und ein Passwort aktiviert.
Jetzt funktionierts - und das auch schneller denn je, den die sid wird jetzt korrekt gecachet.

Gruß
Joachim

erwin

Hi Joachim,
ich arbeite dran, in ein paar Tagen gibts ein update, dann  kannst du den Telnet port wieder mit passwort und SSL verwenden..
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,...

FHEM_Seb

Hallo Erwin,

ich bin absoluter Neuling, wenn ich das mal so sagen darf, deshalb hier nun auch einige Fragen, die für andere ggf. selbstverständlich sind:

Die credentials.cfg habe ich erstellt, indem ich einfach die fhem.cfg unter neuem Namen und mit neuem Inhalt (gemäß Wiki) gespeichert habe.

Mit der 99_RFritzBox.pm hat das leider nicht funktioniert, d.h. diese wird mir in FHEM unter edit files nicht angezeigt.
Bei diesem Befehl (sudo chown fhem:root 99_RFritzBox.pm) auf dem RPI bekomme ich folgende Fehlermeldung: chown: cannot access `99_RFritzBox.pm': No such file or directory

Wie bekomme ich denn die Datei 99_RFritzBox.pm auf meinen RPI??

Bin für jede Hilfe dankbar. Das Thema Anwesenheit in Verbindung mit dem iPhone nervt mich langsam.

Danke und Gruß

Sebastian

FHEM_Seb

Hallo zusammen,

ich habe es inzwischen schon ein Stück weiter gebracht!
Ich bekomme allerdings noch folgende Fehlermeldungen. Die Login Infos für die Fritzbox stimmen aber alle!

Use of uninitialized value $FBmodel in pattern match (m//) at ./FHEM/99_RFritzBox.pm line 186.
Use of uninitialized value $FBmodel in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 187.
2015.02.18 22:14:18 1: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) invalid model  specified, changing to FB
Use of uninitialized value $ipstring in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
Use of uninitialized value $user in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
Use of uninitialized value $pwd in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
Use of uninitialized value $host in concatenation (.) or string at FHEM/FritzBoxUtils.pm line 18.
2015.02.18 22:14:18 1: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) Login to Fritzbox failed
2015.02.18 22:14:18 2: PRESENCE: error while processing device Handy_Sebastian - unexpected function output (expected 0 or 1): Fritzbox login failed

Kann mir bitte jemand helfen?! Vielen Dank!

erwin

Hi Sebastian,
wird ganz schwer, dir zu helfen, nachdem die Zeilennummern nicht zum Fehler passen...
Du hast da offensichtlich beim kopieren (mit cut/paste ? ) irgendwas durcheinander gebracht....

Ich vermute, einen Fehler in der credentials.cfg, nachdem $ipstring,$user,.... nicht initialisiert sind!
Da kommt's auf jedes Hochkomma, Klammer und Strichpunkt an!!!!

Wenn ich dir helfen soll, dann setze bitte:
attr RemoteFritzBoxWeb verbose 5
und poste hier den Log, aber evtl. findest du den Fehler dann selbst!
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,...

FHEM_Seb

Hallo Erwin,

hier erstmal der Inhalt der credentials.cfg:

# PRESENCE credentials (only required for function RemoteFritzBoxWeb)
$credentials{RemoteFritzBox}{ipadress} = '192.168.178.1';              # FB LAN Adress
$credentials{RemoteFritzBox}{username} = 'Pasco';
$credentials{RemoteFritzBox}{password} = '123456';
# $credentials{RemoteFritzBox}{model}    = '7320';                              # optional FB-model: FB (for 7270,7390,7490), 1750E
# only required for a 2nd FB or repeater to be monitored by RemoteFritzBoxWeb - see below
$credentials{RemoteFritzBox1}{ipadress} = '192.168.178.33';      # 2nd FB LAN Adress
$credentials{RemoteFritzBox1}{username} = 'Pasco';                    # optional, else 1st entry will be used
$credentials{RemoteFritzBox1}{password} = '123456';    # optional, else 1st entry will be used
# $credentials{RemoteFritzBox1}{model}    = '7330SL';                              # optional FB-model: FB (for 7270,7390,7490), 1750E


Das ist jetzt der Auszug aus meiner fhem.cfg:

define RemoteFritzBoxWeb dummy                                    # muss RemoteFritzBoxWeb heissen, in diesem dummy wird das Web-login zwischengespeichert!
attr RemoteFritzBoxWeb event-on-update-reading none      # verhindert unnötige notify's
attr RemoteFritzBoxWeb verbose 5                            # optional: debugging on level 4-5

define Handy_Sebastian PRESENCE function {RemoteFritzBoxWeb("50:EA:D6:78:1B:49")} 10 10


Dazu erhalte ich jetzt folgenden Log Eintrag:

Use of uninitialized value $FBmodel in pattern match (m//) at ./FHEM/99_RFritzBox.pm line 186.
Use of uninitialized value $FBmodel in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 187.
2015.02.19 20:32:16 1: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) invalid model  specified, changing to FB
2015.02.19 20:32:16 4: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) FB-number/model set to 0 / FB
Use of uninitialized value $ipstring in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
Use of uninitialized value $user in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
Use of uninitialized value $pwd in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
2015.02.19 20:32:16 5: Login to fb with ,,
Use of uninitialized value $host in concatenation (.) or string at FHEM/FritzBoxUtils.pm line 18.
2015.02.19 20:32:16 4: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) Login SID=0
2015.02.19 20:32:16 1: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) Login to Fritzbox failed
2015.02.19 20:32:16 2: PRESENCE: error while processing device Handy_Sebastian - unexpected function output (expected 0 or 1): Fritzbox login failed


Ich hoffe damit kannst Du mir irgendwie helfen. Ich will das Presence Modul zum Aktivieren/Deaktivieren der Alarmanlage nutzen.

Noch eine Frage: Ist das normal, dass ich die 99_RFritzBox.pm nicht unter edit files angezeigt bekomme?!

Danke und Gruß

Sebastian

joachimD

Hallo Sebastian,

ein paar Fragen kann ich dir auch schon vor Erwin beantworten:

Zitat von: FHEM_Seb am 19 Februar 2015, 20:48:01
# PRESENCE credentials (only required for function RemoteFritzBoxWeb)
$credentials{RemoteFritzBox}{ipadress} = '192.168.178.1';              # FB LAN Adress
$credentials{RemoteFritzBox}{username} = '*****';
$credentials{RemoteFritzBox}{password} = '*****';
# $credentials{RemoteFritzBox}{model}    = '7320';                              # optional FB-model: FB (for 7270,7390,7490), 1750E
# only required for a 2nd FB or repeater to be monitored by RemoteFritzBoxWeb - see below
$credentials{RemoteFritzBox1}{ipadress} = '192.168.178.33';      # 2nd FB LAN Adress
$credentials{RemoteFritzBox1}{username} = '*****';                    # optional, else 1st entry will be used
$credentials{RemoteFritzBox1}{password} = '*****';    # optional, else 1st entry will be used
# $credentials{RemoteFritzBox1}{model}    = '7330SL';                              # optional FB-model: FB (for 7270,7390,7490), 1750E
Wie dem Kommentar zu entnehmen ist, musst du entweder 'FB' oder '1750E' für das FritzBox-Modell eintragen. Keine Sorge, FB funktioniert nicht nur für die drei angegebenen Modelle!
(Übrigens hoffe ich, dass das nicht wirklich dein Benutzername und dein Paswort für die Fritz!Box sind?!)

Zitat
define Handy_Sebastian PRESENCE function {RemoteFritzBoxWeb("50:EA:D6:78:1B:49")} 10 10
Die FritzBox alle 10 Sekunden abzufragen, ist sicherlich nicht geschickt - du erzeugst so relativ viel Last! Und angesichts dessen, dass die Fritz!Box für die Erkennung, dass ein Handy abwesend ist, selbst schon leicht mal 5-15 Minuten benötigt, erscheint diese Abfrage wenig sinnvoll.

Zitat
2015.02.19 20:32:16 1: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) invalid model  specified, changing to FB
2015.02.19 20:32:16 4: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) FB-number/model set to 0 / FB
Wie oben geschrieben: Du hast eine ungültige Modellbezeichnung eingetragen. Das wird in den meisten deiner Logzeilen bemängelt.

Zitat
2015.02.19 20:32:16 5: Login to fb with ,,
Use of uninitialized value $host in concatenation (.) or string at FHEM/FritzBoxUtils.pm line 18.
2015.02.19 20:32:16 4: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) Login SID=0
2015.02.19 20:32:16 1: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) Login to Fritzbox failed
Hast du in der ersten Zeile die Zugangsdaten für das Posten hier entfernt? Falls nicht, dann ist merkwürdig, dass fhem nicht die Daten aus deiner credentials.cfg eingesetzt hat. Ist sie für fhem lesbar (Benutzer fhem, Rechte rw-r--r-- => chown fhem credentials.cfg und chmod 644 credentials.cfg)?

Zitat
Ich hoffe damit kannst Du mir irgendwie helfen. Ich will das Presence Modul zum Aktivieren/Deaktivieren der Alarmanlage nutzen.
Dann hoffe ich für dich, dass du dein Handy weder mal ausschaltest noch dein Akku leer ist... Aber du wirst sicher Alternativen hierfür eingeplant haben?

Gruß
Joachim

FHEM_Seb

Hallo Joachim,

danke für die Hinweise.

Ich habe jetzt FB für das Fritzbox Modell eingetragen. (Passwort und Benutzername sind natürlich für das Forum geändert!!!)

Die 10 Sekunden hatte ich erstmal so definiert um möglichst schnell die Reaktion meiner Änderungen zu sehen. Habe jetzt erstmal auf 60 Sekunden erhöht.

Am LogFile habe ich nichts geändert, das steht da tatsächlich so drin!

Für die Alarmanlage gibt es natürlich noch Taster etc., aber die Handy Erkennung macht es um einiges leichter, zumindest kann man so das Aktivieren nicht vergessen.

Der LogFile sieht jetzt übrigens so aus:

Use of uninitialized value $FBmodel in pattern match (m//) at ./FHEM/99_RFritzBox.pm line 186.
Use of uninitialized value $FBmodel in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 187.
2015.02.19 22:00:51 1: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) invalid model  specified, changing to FB
2015.02.19 22:00:51 4: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) FB-number/model set to 0 / FB
Use of uninitialized value $ipstring in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
Use of uninitialized value $user in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
Use of uninitialized value $pwd in concatenation (.) or string at ./FHEM/99_RFritzBox.pm line 193.
2015.02.19 22:00:51 5: Login to fb with ,,
Use of uninitialized value $host in concatenation (.) or string at FHEM/FritzBoxUtils.pm line 18.
2015.02.19 22:00:51 4: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) Login SID=0
2015.02.19 22:00:51 1: RemoteFritzBoxWeb(50:EA:D6:78:1B:49) Login to Fritzbox failed
2015.02.19 22:00:51 2: PRESENCE: error while processing device Handy_Sebastian - unexpected function output (expected 0 or 1): Fritzbox login failed



Danke und Gruß

Sebastian