98_FBREMOTE.pm - Anwesenheitserkennung mit entkoppelter remoter Fritzbox Abfrage

Begonnen von frankbeckers, 07 April 2014, 21:13:54

Vorheriges Thema - Nächstes Thema

frankbeckers

Zitat von: LotharRappsilber am 22 November 2014, 17:47:48
Hallo Frank,

komme leider nicht weiter. Es kommen nur diese Bilder. Was muss ich weiter machen?

Gruß Lothar

Ich sehe bei Deinen Screenshots eine sid=000....000. Das könnte darauf hinweise, dass eine Anmeldung nicht möglich ist. User und/oder Passwort falsch?

Ansonsten schalte mal

verbose auf 5

Und schau dann ins Log. Das Modul ist dann recht geschwätzig... Wenn Du dann immer noch nicht weiterkommst, poste das entsprechende Log gerne hier.

Gruß
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

bgewehr

Hallo!

Hab alles soweit hinbekommen, aber ich scheitere hier:

fhem-Log:

sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")
sh: 1: Syntax error: word unexpected (expecting ")")


Das ist erst nach dem Einbau des Moduls aufgetreten, vorher hatte ich diesen Fehler nicht!

Was kann ich tun?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

Im Log steht immer dies hier:

2015.01.10 12:03:02 4: HttpUtils url=http://fritz.box/login_sid.lua?sid=0000000000000000
2015.01.10 12:03:02 3: FBREMOTE: fbremote_network GetSID() got error in callback: http://fritz.box/login_sid.lua?sid=0000000000000000: empty answer received
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

bgewehr

Nun habe ich manuell eine gültige SID spendiert, Ergebnis weiterhin "empty answer received".
Wenn ich die url mit der sid im browser aufrufe, geht das ohne Probleme!
Was kann ich tun?
httputil ist aktuell...

Edit: Ein wget mit derselben url auf dem Pi ergibt eine gültige Antwort als Datei... Was kann das nur sein?
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

frankbeckers

Zitat von: bgewehr am 10 Januar 2015, 12:50:13
Was kann das nur sein?

Mit so wenigen Infos kann man nur in die Glaskugel schauen.

Bitte den entsprechenden Teil Deiner fhem.cfg posten und einen Versuch mit verbose 5 durchführen und dann den entsprechenden Teil des Log hier posten.

Gruß
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

bgewehr

Also, dann versuche ich es mal gründlich:


define fbremote_network FBREMOTE http://fritz.box/net/network_user_devices.lua 120
attr fbremote_network event-on-update-reading iphone.*,samsung.*,imac.*,.*_Handy
attr fbremote_network fb_password fhem-FB-1496
attr fbremote_network fb_user fhem
attr fbremote_network readingsExprPre $val =~ s/\s//g;;;; $val
attr fbremote_network readingsName10_data data
attr fbremote_network readingsName20_Bernd FBR_Bernd_Handy
attr fbremote_network readingsName20_Kerstin FBR_Kerstin_Handy
attr fbremote_network readingsName20_Laura FBR_Laura_Handy
attr fbremote_network readingsName20_Max FBR_Maximilian_Handy
attr fbremote_network readingsRegex10_data (.*)
attr fbremote_network readingsRegex20_Bernd ([^\{]+48:43:7C:5B:15:86[^\}]+)
attr fbremote_network readingsRegex20_Kerstin ([^\{]+F0:DC:E2:BE:A5:DB[^\}]+)
attr fbremote_network readingsRegex20_Laura ([^\{]+E0:B5:2D:88:7B:CE[^\}]+)
attr fbremote_network readingsRegex20_Max ([^\{]+78:4B:87:77:5D:18[^\}]+)
attr fbremote_network readingsRegexPre \<pre\>([\s\S]+)\<\/pre\>
attr fbremote_network room Anwesenheit
attr fbremote_network verbose 5

define n_FBR_Bernd_Handy notify fbremote_network:FBR_Bernd_Handy.* {\
\
my $landevice = $EVENT;;\
my $speed = "";;\
my $active = "";;\
\
fhem("setreading FBR_Bernd_Handy landevice $landevice");;\
\
if ( $landevice =~ /speed\"\]\s*=\s*\"([0-9]+)/ ) { $speed=$1;; fhem("setreading FBR_Bernd_Handy speed $1");; }\
if ( $landevice =~ /active\"\]\s*=\s*\"([0-9]+)/ ) { $active=$1;; fhem("setreading FBR_Bernd_Handy active $1");; }\
\
if ( $landevice =~ /\[\"name\"\]\s*=\s*\"([a-zA-Z0-9-]+)\"/ ) { fhem("setreading FBR_Bernd_Handy name $1");; }\
if ( $landevice =~ /\[\"ip\"\]\s*=\s*\"([0-9.]+)\"/ ) { fhem("setreading FBR_Bernd_Handy ip $1");; }\
\
my $status = "off";;\
if ( $speed > 0 ) { $status = "on";; } else { if ( $active == 1 ) { $status = "on";; } }\
\
fhem("set FBR_Bernd_Handy $status");;\
\
}
attr n_FBR_Bernd_Handy room Anwesenheit

define FBR_Bernd_Handy dummy
attr FBR_Bernd_Handy eventMap 1
attr FBR_Bernd_Handy icon it_smartphone
attr FBR_Bernd_Handy room Anwesenheit

define FBR_Bernd_Handy_Watchdog watchdog FBR_Bernd_Handy:off.* 00:05 FBR_Bernd_Handy:on.* trigger Pushover FBR_Bernd_Handy abwesend
attr FBR_Bernd_Handy_Watchdog regexp1WontReactivate 1
attr FBR_Bernd_Handy_Watchdog room Anwesenheit

define FBR_Kerstin_Handy dummy
attr FBR_Kerstin_Handy eventMap 1
attr FBR_Kerstin_Handy icon it_smartphone
attr FBR_Kerstin_Handy room Anwesenheit

define FBR_Kerstin_Handy_Watchdog watchdog FBR_Kerstin_Handy:off.* 00:05 FBR_Kerstin_Handy:on.* trigger Pushover FBR_Kerstin_Handy abwesend
attr FBR_Kerstin_Handy_Watchdog regexp1WontReactivate 1
attr FBR_Kerstin_Handy_Watchdog room Anwesenheit

define FBR_Maximilian_Handy dummy
attr FBR_Maximilian_Handy eventMap 1
attr FBR_Maximilian_Handy icon it_smartphone
attr FBR_Maximilian_Handy room Anwesenheit

define FBR_Maximilian_Handy_Watchdog watchdog FBR_Maximilian_Handy:off.* 00:05 FBR_Maximilian_Handy:on.* trigger Pushover FBR_Maximilian_Handy abwesend
attr FBR_Maximilian_Handy_Watchdog regexp1WontReactivate 1
attr FBR_Maximilian_Handy_Watchdog room Anwesenheit

define FBR_Laura_Handy dummy
attr FBR_Laura_Handy eventMap 1
attr FBR_Laura_Handy icon it_smartphone
attr FBR_Laura_Handy room Anwesenheit

define FBR_Laura_Handy_Watchdog watchdog FBR_Laura_Handy:off.* 00:05 FBR_Laura_Handy:on.* trigger Pushover FBR_Laura_Handy abwesend
attr FBR_Laura_Handy_Watchdog regexp1WontReactivate 1
attr FBR_Laura_Handy_Watchdog room Anwesenheit


Und das log


2015.01.12 20:55:37 5: FBREMOTE: fbremote_network CheckSID() fritzbox domain: fritz.box
2015.01.12 20:55:37 4: FBREMOTE: fbremote_network CheckSID() next getting http://fritz.box/login_sid.lua?sid=66f215bec41bc493
2015.01.12 20:55:37 4: FBREMOTE: fbremote_network: HASH(0x29dea08)
2015.01.12 20:55:37 4: HttpUtils url=http://fritz.box/login_sid.lua?sid=66f215bec41bc493
2015.01.12 20:55:37 3: FBREMOTE: fbremote_network GetSID() got error in callback: http://fritz.box/login_sid.lua?sid=66f215bec41bc493: empty answer received


Bananapi mit Raspian ist meine Grundlage, FritzBox 7390 OS 6.20


Gesendet von iPhone mit Tapatalk
FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

frankbeckers

FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

bgewehr

FritzBox 7590, Synology DS216+II mit Docker
Docker: FHEM mit hmlan, Homebridge, node-red, mosquitto, ems-collector für Buderus EMS mit AVR Net-IO
Gartenwasser über MQTT auf R/Pi A+
Volkszaehler.org auf R/Pi 2B mit Pi_Erweiterung
Raspberrymatic auf R/Pi 4B mit RPI-RF-MOD u. CUL868

frankbeckers

FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

dk3572

Hallo,
bei mir wurde das Reading ein mal eingelesen, dann geschieht nichts mehr.
Im Log habe ich das gefunden:
FBREMOTE: fbremote_network got error in callback: read from http://fritz.box:80 timed out

Was kann ich ändern?

Danke schon mal und Gruß
Dieter

frankbeckers

Zitat von: dk3572 am 16 Januar 2015, 18:13:31
Was kann ich ändern?

Hallo Dieter,

Das sind viel zu wenig Informationen um etwas zu Deinem Fehler zu sagen.

Lese Dir bitte mal die letzten Posting in diesem Thread durch und mache auch die dort beschriebenen Anpassungen.

Bitte den entsprechenden Teil Deiner fhem.cfg posten und einen Versuch mit verbose 5 durchführen und dann den entsprechenden Teil des Log hier posten.

Gruß
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

dk3572

Danke für die schnelle Antwort.

Die Anpassungen habe ich bereits alle probiert, ohne Erfolg.

define fbremote_network FBREMOTE http://fritz.box/net/network_user_devices.lua 120
attr fbremote_network event-on-update-reading HandyDieter
attr fbremote_network fb_password meinpasswort
attr fbremote_network fb_user meinuser
attr fbremote_network noshutdown 1
attr fbremote_network readingsExprPre $val =~ s/\s//g;;;; $val
attr fbremote_network readingsName10_data data
attr fbremote_network readingsName20_HandyDieter HandyDieter
attr fbremote_network readingsName20_HandyKerstin HandyKerstin
attr fbremote_network readingsRegex10_data (.*)
attr fbremote_network readingsRegex20_HandyDieter ([^\{]+00:00:00:00:00:00[^\}]+)
attr fbremote_network readingsRegex20_HandyKerstin ([^\{]+00:00:00:00:00:00[^\}]+)
attr fbremote_network readingsRegexPre \<pre\>([\s\S]+)\<\/pre\>
attr fbremote_network room Anwesenheit
define HandyDieterfbremote notify fbremote_network:HandyDieter.* {\ \ my $landevice = $EVENT;;\ my $speed = "";;\ my $active = "";;\ \ fhem("setreading HandyDieter landevice $landevice");;\ \ if ( $landevice =~ /speed\"\]\s*=\s*\"([0-9]+)/ ) { $speed=$1;; fhem("setreading HandyDieter speed $1");; }\ if ( $landevice =~ /active\"\]\s*=\s*\"([0-9]+)/ ) { $active=$1;; fhem("setreading HandyDieter active $1");; }\ \ if ( $landevice =~ /\[\"name\"\]\s*=\s*\"([a-zA-Z0-9-]+)\"/ ) { fhem("setreading HandyDieter name $1");; }\ if ( $landevice =~ /\[\"ip\"\]\s*=\s*\"([0-9.]+)\"/ ) { fhem("setreading HandyDieter ip $1");; }\ \ my $status = "off";;\ if ( $speed > 0 ) { $status = "on";; } else { if ( $active == 1 ) { $status = "on";; } }\ \ fhem("set HandyDieter $status");;\ \ }
attr HandyDieterfbremote room Anwesenheit
define HandyDieter dummy
attr HandyDieter eventMap 1
attr HandyDieter icon it_smartphone
attr HandyDieter room Anwesenheit


2015.01.16 18:33:20.062 5: FBREMOTE: fbremote_network CheckSID() fritzbox domain: fritz.box
2015.01.16 18:33:20.063 4: FBREMOTE: fbremote_network CheckSID() next getting http://fritz.box/login_sid.lua?sid=xxxxxxxxxxxxxxxx
2015.01.16 18:33:20.064 4: HttpUtils url=http://fritz.box/login_sid.lua?sid=xxxxxxxxxxxxxxxx
2015.01.16 18:33:20.363 4: http://fritz.box/login_sid.lua?sid=xxxxxxxxxxxxxxxx: HTTP response code 200
2015.01.16 18:33:20.364 4: HttpUtils http://fritz.box/login_sid.lua?sid=xxxxxxxxxxxxxxxx: Got data, length: 348
2015.01.16 18:33:20.365 5: FBREMOTE: fbremote_network GetSID() Callback called: Hash: HASH(0x2413a50), buffer: <?xml version="1.0" encoding="utf-8"?><SessionInfo><SID>xxxxxxxxxxxxxxxx</SID><Challenge>3f188762</Challenge><BlockTime>0</BlockTime><Rights><Name>Dial</Name><Access>2</Access><Name>HomeAuto</Name><Access>2</Access><Name>BoxAdmin</Name><Access>2</Access><Name>Phone</Name><Access>2</Access><Name>NAS</Name><Access>2</Access></Rights></SessionInfo>
2015.01.16 18:33:20.366 4: FBREMOTE: fbremote_network GetSID() next getting http://fritz.box/net/network_user_devices.lua?sid=xxxxxxxxxxxxxxxx
2015.01.16 18:33:20.367 4: HttpUtils url=http://fritz.box/net/network_user_devices.lua?sid=xxxxxxxxxxxxxxxx
2015.01.16 18:33:25.381 3: FBREMOTE: fbremote_network got error in callback: read from http://fritz.box:80 timed out



JoWiemann

Hallo,

habe in FBREMOTE die Passwort-Logik von 72_FRITZBOX und 72_FB_CALLMONITOR eingebaut. Ich würde außerdem vorschlagen 98_FBREMOTE nach 72_FBREMOTE umzubenennen, dann liegen die Module schön beieinander.

Grüße Jörg

Anbei nun zum Testen.
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

frankbeckers

Zitat von: dk3572 am 16 Januar 2015, 18:39:55
Danke für die schnelle Antwort.

Die Anpassungen habe ich bereits alle probiert, ohne Erfolg.


Hallo Dieter,

ehrlich gesagt sehe ich im Moment keinen Fehler bei Deinen Definitionen.

Welche Fritzbox mit welcher Firmware setzt Du denn ein?
Hat denn der genutze FritzBox Benutzer alle Rechte? Hake doch mal testweise alle an.
Was passiert denn, wenn du http://fritz.box/net/network_user_devices.lua?sid=xxxxxxxxxxxxxxxx in einem Browser eingibst.

Grüße
Frank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200

frankbeckers

Zitat von: JoWiemann am 18 Januar 2015, 17:10:33
Hallo,

habe in FBREMOTE die Passwort-Logik von 72_FRITZBOX und 72_FB_CALLMONITOR eingebaut. Ich würde außerdem vorschlagen 98_FBREMOTE nach 72_FBREMOTE umzubenennen, dann liegen die Module schön beieinander.

Grüße Jörg

Anbei nun zum Testen.

Hallo Jörg,

Was hast Du denn wo gemacht? Ich sehe in 72_xxx keine Änderungen zu 98_xxx.... und der Name ist doch Schall und Rauch.

Grüße
FRank
FHEM 5.7 auf Raspberry Pi 2 Jessy 4.1.16-v7+
CCU2 --> hm2mqtt --> MQTT --> Fhem
ehz361z5 --> RPi --> MQTT --> Fhem
Lightify
Fritz!DECT 200