PRESENCE-RemoteFritzbox

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

Vorheriges Thema - Nächstes Thema

alex885

Hi erwin!

merci für Dein schnelles reply.
ich hab (glaub ich) sowas ähnliches installiert Homebrew und pidof

http://brew.sh

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brew install pidof



im terminal klappts im Modul RFritzbox wurde -x als falscher Parameter moniert, hab ich rausgemacht, klappt aber trotzdem nicht

Meine Vermutung als Unix und auch Perl Neuling: das klappt im Terminal aber nicht zwingend in einem Perl Modul.

in Deinem Link von oben gibts ziemlich weit unten eine Perl Lösung:

#!/usr/bin/perl
$search=$ARGV[0];
@procs = `ps -cxa`;
for $proc (@procs ) {
if( $proc =~ /\s+(\d+)\s+\S+\s+\S+\s+\S+\s+(\S+)/ ) {
$pid = $1;
$name = $2;
if( $name =~ /^$search$/ ) {
print "$pid ";
}
}
}

print "\n";


Das alleine vermute ich wird nicht klappen, da ich ja kein print sondern einen rückgabewert brauche, auch weiss ich nicht genau wie ich das aufrufen soll,
vermute aber dies könnte man irgendwie als eine weitere Funktion ins RFritzBox packen.
Pack ich aber ohne Hilfestellung nicht.

alternative
pidof kommt nur 2 x vor:

my ($serverstatus) = qx(pidof -x $serverbin);

doch irgendwie durch das:

ps axc|awk "{if (\$5==\"$1\") print \$1}";

ersetzen?

Falls Du, Erwin oder jemand anders weiterhelfen kann: MERCI im voraus
schönen Abend Euch.
Alex
FHEM auf Hackintosh-NUC, 5 x Rpi mit Fhem2Fhem & Shairport-Sync , FB7390, CUL, HMLAN, ZWave, Zigbee, RfxTrx, Rollotron, mySensors, Xiaomi mi, div Zeuchs..

erwin

Hi Alex,

ersetze bitte die folgenden zeilen:


   my $serverstatus = qx(ps -ef | grep -v grep | grep -c RFritzBoxScan);
   chomp $serverstatus;
   if ($serverstatus > 0) {

das ganze kommt 2mal vor!
Falls das funktioniert, werde ich das in die nächste version einbauen.
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,...

Mad22

Hallo Erwin und die anderen Mitleser ,

Erst mal Danke für dieses super Modul !

Ich habe es auch schon ein paar Tage installiert , verzweifle aber so langsam .

Vielleicht hat ja jemand eine Idee .

Grundsätzlich funktioniert das Modul.

Ich habe zwei Fritzboxen , eine 7490 ( IP: 192.168.0.99 und Firmware 6.24 ) und eine 7390 ( IP: 192.168.0.98 und Firmware 6.23 )
Die Fritzboxen sind einfach per Kabel verbunden und im gleichen Netzwerk . DHCP ist auf der 7390 ausgeschaltet.

Fhem läuft auf einem Raspi2 .

Ich benutze die Variante 2 , also ohne Telnet .

Ich habe beide Fritzboxen in die credentials.cfg eingetragen .

# PRESENCE credentials (only required for function RemoteFritzBoxWeb)
$credentials{RemoteFritzBox}{ipadress} = '192.168.0.99'; # FB LAN Adress
$credentials{RemoteFritzBox}{username} = 'xxxxxx';
$credentials{RemoteFritzBox}{password} = 'xxxx';
$credentials{RemoteFritzBox}{model}    = 'FB';                  # 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.0.98'; # 2nd FB LAN Adress
$credentials{RemoteFritzBox1}{username} = 'xxxxxx'; # optional, else 1st entry will be used
$credentials{RemoteFritzBox1}{password} = 'xxxx'; # optional, else 1st entry will be used
$credentials{RemoteFritzBox1}{model}    = 'FB';              # optional FB-model: FB (for 7270,7390,7490), 1750E


und auch in Fhem definiert .

folgende Einträge habe ich in der Fhem Config


define PR_EG_Martin PRESENCE function {RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx", 1)} 120 120
define PR_Martin PRESENCE function {RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx")} 120 120
define PR_Kathrin PRESENCE function {RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx")} 120 120
define PR_EG_Kathrin PRESENCE function {RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx", 1)} 120 120
define PR_Steffi PRESENCE function{RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx")} 120 120
define PR_EG_Steffi PRESENCE function {RemoteFritzBoxWeb("xx:xx:xx:xx:xx:xx", 1)} 120 120



Leider bekomme ich bei der FB 7490 nur Error zurück, bei der Fritzbox im EG , der 7390,  funktioniert es.

Liegt es an der Firmware ? Oder kann man hier sonst irgend etwas erkennen ?

Ich hänge noch mal ein Log Auszug mit an .

2015.03.20 17:49:52.198 5: Login to fb with 192.168.0.98,xxxx,xxxxxxxxxx
2015.03.20 17:49:52.216 5: RemoteFritzBoxWeb access FB 1 using sid from cache xxxxxxxxxxxxxxxxx
2015.03.20 17:49:52.216 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) Login SID=xxxxxxxxxxxxx
2015.03.20 17:49:52.217 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) was waiting 0 / 0 seconds for previous scan to complete.
2015.03.20 17:49:52.218 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) HTTP request=http://192.168.0.98/wlan/wlan_settings.lua?sid=xxxxxxxxxxxxxxx
2015.03.20 17:49:54.526 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) match found... status=1
2015.03.20 17:50:04.651 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) FB-number/model set to 0 / FB
2015.03.20 17:50:04.652 5: Login to fb with 192.168.0.99,xxxxx,xxxxxxxxxx
2015.03.20 17:50:04.675 5: RemoteFritzBoxWeb access FB 0 using sid from cache xxxxxxxxxxxxxxxxx
2015.03.20 17:50:04.675 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) Login SID=xxxxxxxxxxxxx
2015.03.20 17:50:04.676 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) was waiting 0 / 0 seconds for previous scan to complete.
2015.03.20 17:50:04.677 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) HTTP request=http://192.168.0.99/wlan/wlan_settings.lua?sid=xxxxxxxxxxxxxxx
2015.03.20 17:50:06.253 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) device not found
2015.03.20 17:50:06.268 2: PRESENCE (PR_Martin) - error while processing check: unexpected function output (expected 0 or 1): RemoteFritzBoxWeb device=F0:F6:1C:2F:19:B6 not found
2015.03.20 17:51:40.790 4: RemoteFritzBoxWeb(F0:F6:1C:2F:19:B6) FB-number/model set to 1 / FB



Ach ja , das Handy war mal an der 7490 und mal an der 7390 im WLan angemeldet . Es ist beides mal das selbe Ergebnis .


Vielleicht gibt es ja eine Einfache Lösung :-)

Gruß Martin


Raspberry Pi2 Model B, Add-On Board mit 1.8" TFT LCD, FHEM V5.6, CULFW V1.61, JeeLink Clone, HMUsb,  FS20, Homematic , LaCrosse, 1-Wire (10x DS1820)

anfichtn

Moin!

Wird wohl an der fw liegen, der logeintrag sagt klar dass er das Gerät nicht gefunden hat...  Erwin wird sich sicher auch in Kürze dazu melden...

Grüße

anfichtn
FHEM 5.6 + Pilight + Pimatic auf BananaPro mit Bananian 15.04 r01
FB7270 v2 & FB7412
LDA382A mit WifiLight
MAX-Cube (aculfw), 6 Fensterkonstakte, 5 HK-Thermostate, 3 WandThermostate
[...]

alex885

Hallo erwin!

merci für Deinen tollen Support!

Bin erst jetzt dazu gekommen es zu testen - es funktioniert!

(musste zwar erst noch meine Perl Installationen wieder aufräumen und Net::Telnet nachinstallieren; ist aber ein Mac Problem..
http://www.fhemwiki.de/wiki/FHEM_auf_Mac_OS_X)

Gruss & Dank, Alex
FHEM auf Hackintosh-NUC, 5 x Rpi mit Fhem2Fhem & Shairport-Sync , FB7390, CUL, HMLAN, ZWave, Zigbee, RfxTrx, Rollotron, mySensors, Xiaomi mi, div Zeuchs..

Mad22

Hallo,

Zitat von: anfichtn am 20 März 2015, 19:29:10

Wird wohl an der fw liegen, der logeintrag sagt klar dass er das Gerät nicht gefunden ht...  Erwin wird sich sicher auch in Kürze dazu melden...

Grüße

anfichtn

Na dann lag ich ja nicht so falsch . Mal sehen ob Erwin etwas retten kann :-) Sonst funktioniert das ja auch erst mal , so wie es aussieht brauche ich eh nur eine Fritzbox abfragen, weil , egal in welcher Fritzbox man angemeldt ist, die Abfrage ein present meldet .

Danke,

Gruß Martin
Raspberry Pi2 Model B, Add-On Board mit 1.8" TFT LCD, FHEM V5.6, CULFW V1.61, JeeLink Clone, HMUsb,  FS20, Homematic , LaCrosse, 1-Wire (10x DS1820)

erwin

Hi Mad22 & All

Ich möchte anfang nächster Woche eine neue version online stellen. Könntest du dann bitte nochmal testen mit der FW6.24 ??
Falls es mit der neuen Version nicht funktioniert, würde ich dich bitten, mir die html-seite zu mailen. (mit FF: echte Maustaste - aktuelle Frame - Frame speichern unter)...

Die neue Version wird auch die Möglichkeit haben, die "Heimnetz-Netzwerk" Seite der FB abzufragen, damit sollten alle devices im lokalen Netz sichbar sein...

Die grundsätzliche Frage ist aber: warum verwendest du nicht die Telnet Variante, die ist wesentliche perfomanter und nicht von Änderungen der HTML seiten von AVM abhängig.
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,
neue version 1.9 ist verfügbar, im 1.post diese threads.
im wesentlichen sind alle fixes in diesem thread protokolliert.
bitte um FB.
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,...

Mad22

Moin Erwin,

Zitat von: erwin am 22 März 2015, 07:40:41
Hi Mad22 & All

Ich möchte anfang nächster Woche eine neue version online stellen. Könntest du dann bitte nochmal testen mit der FW6.24 ??
Falls es mit der neuen Version nicht funktioniert, würde ich dich bitten, mir die html-seite zu mailen. (mit FF: echte Maustaste - aktuelle Frame - Frame speichern unter)...

Ich habe gerade die 1.9 ausprobiert.  Die FB mit 6.24 funktioniert noch nicht . im Anhang die HTML Datei .Es ist allerdings jetzt der Loginscreen , oder soll ich mich anmelden und dann die HTML Seite schicken ?

Zitat

Die grundsätzliche Frage ist aber: warum verwendest du nicht die Telnet Variante, die ist wesentliche perfomanter und nicht von Änderungen der HTML seiten von AVM abhängig.
l.g. erwin

Ich wollte halt an der Fritzbox bzw. den Fritzboxen nichts änderen . Werde ich aber wohl dann doch mal machen, ist ja auch nicht weiter schlimm.
Bleibt das Script Rpresence.sh nach einem Firmwareupdate der Fritzbox erhalten ? Oder muss man dass dann jedes mal neu auf die Box spielen ?

Wobei das auch egal ist, ob man nun jedes mal wenn AVM die HTML Seite ändert den Code veränderen muss oder einmal das Rpresence.sh neu kopieren muss ist dann auch egal .

Danke erst mal für die schnelle Hilfe !

Gruß Martin
Raspberry Pi2 Model B, Add-On Board mit 1.8" TFT LCD, FHEM V5.6, CULFW V1.61, JeeLink Clone, HMUsb,  FS20, Homematic , LaCrosse, 1-Wire (10x DS1820)

erwin

Hi Martin,
ZitatEs ist allerdings jetzt der Loginscreen , oder soll ich mich anmelden und dann die HTML Seite schicken ?
Ja, bitte, ganz normal anmelden, und dann den frame speichern...
Zu Rpresence.sh:
blieb bei den bisherigen updates immer erhalten. Man könnte es auch auf einem USB-stick laufen lassen, das hab ich früher (7270) gemacht, die (offiziell) keinen Internen Speicher für den user hatte....
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,...

Mad22

Hallo Erwin,

im Anhang noch mal die HTML Seite nach dem Login .

ZitatZu Rpresence.sh:
blieb bei den bisherigen updates immer erhalten. Man könnte es auch auf einem USB-stick laufen lassen, das hab ich früher (7270) gemacht, die (offiziell) keinen Internen Speicher für den user hatte....
l.g. erwin

das werde ich noch mal testen . Aktuell kämpfe ich damit vernünftigen FTP Zugriff auf die Box zu bekommen , bisher habe ich den nur auf die NAS Verzeichnisse . Ich möchte aber das root Verzeichniss sehen .
Aber das bekomme ich noch hin  8)

Gruß Martin

Raspberry Pi2 Model B, Add-On Board mit 1.8" TFT LCD, FHEM V5.6, CULFW V1.61, JeeLink Clone, HMUsb,  FS20, Homematic , LaCrosse, 1-Wire (10x DS1820)

Mad22

Hallo Erwin,

Zitat von: erwin am 22 März 2015, 09:37:34
Zu Rpresence.sh:
blieb bei den bisherigen updates immer erhalten. Man könnte es auch auf einem USB-stick laufen lassen, das hab ich früher (7270) gemacht, die (offiziell) keinen Internen Speicher für den user hatte....
l.g. erwin

Ich habe gerade mal umgestellt auf die Telnet Variante. Das hat auf Anhieb funktioniert .

Ich habe Telnet nur auf der 7490 Box offen und frage auch nur diese Box ab .
Selbst wenn das Handy per WLAn an der zweiten Box angemeldet ist wird es bei der Abfrage erkannt .

Alles bestens so .  ;)

Ich kann aber gern auch noch mal die HTML Version testen, falls Du etwas geändert hast . Ich werde aber bei der Telnet Version bleiben denke ich.

Danke für Deine Hilfe .

Gruß Martin
Raspberry Pi2 Model B, Add-On Board mit 1.8" TFT LCD, FHEM V5.6, CULFW V1.61, JeeLink Clone, HMUsb,  FS20, Homematic , LaCrosse, 1-Wire (10x DS1820)

erwin

Hi, Martin,
danke fürs Feedback.

Die html-Seite ist allerdings die Übersichtsseite, ich brauch die WLAN-Seite, also diese:
http://fritz.box/wlan/wlan_settings.lua
zu finden unter: WLAN-Funknetz

ist aber nicht ganz so wichtig, allerdings wird wohl demnächst der nächste Kollege auf diese FW updaten, und ich hab selbst keine 7490 zum testen....

ZitatIch habe Telnet nur auf der 7490 Box offen und frage auch nur diese Box ab .
Ja, das war die Idee, nur eine Box abzufragen, und zwar die, die auch DHCP Server ist. Damit sollten alle devices (LAN/WLAN) abfragbar sein!

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

Mad22

Hallo Erwin,

So jetzt sollte die richtige Seite mitkommen  ;)

Ich teste das gern noch mal , dann ist es für die 6.24 auch fertig .

Gruß Martin
Raspberry Pi2 Model B, Add-On Board mit 1.8" TFT LCD, FHEM V5.6, CULFW V1.61, JeeLink Clone, HMUsb,  FS20, Homematic , LaCrosse, 1-Wire (10x DS1820)

caldir65

#164
Hallo Erwin,

also gerade habe ich Dein neues Modul v1.9 eingespielt, und es scheint zu funktionieren mit fb7490 FW6.24. Vorher habe ich eine Zeitlang Dein Beta-Modul getestet.
Bei beiden Modulen erhalte ich die Meldung

2015.03.23 08:55:05 1: RemoteFritzBoxWeb(Samsung-GS5-Christoph) invalid model FBLAN specified, changing to FB
2015.03.23 08:55:05 4: RemoteFritzBoxWeb(Samsung-GS5-Christoph) FB-number/model set to 0 / FB


Jedoch wird in meiner Umgebung (s. weiter oben) anscheinend trotzdem jetzt eine Anwesenheit erkannt:
2015.03.23 08:57:14 4: RemoteFritzBoxWeb(Samsung-GS5-Christoph) match found... status=1
Zu diesem Zeitpunkt war das S5 an der 7240 eingebucht, Abfrage über LAN-Seite an der 7490
Gruß, Christoph
Alte Techniker-Regel: "kaum macht man es richtig, funktioniert es auch"
------
Dell Wyse5070 ThinClient 16GBRam, 128GB SSD, Lubuntu 24.04.01LTS, fhem (aktuell), debmatic, Homematic-Devs, ConBee II und deConz, viele Shellys, Rademacher, NextCloud-Anbindung, FullyKioskBrowser+FUIP uvm.