[Gelöst] Fritzbox remote über Lan2an kopplung steuern

Begonnen von Jamo, 06 Juli 2021, 10:31:53

Vorheriges Thema - Nächstes Thema

Jamo

Hi Rudi,
ich habe meine Fritzbox wie folgt definiert:
defmod 7590ax FRITZBOX 192.168.0.1 Ein
{ FRITZBOX_readPassword($defs {7590ax})} ergibt einen Fehler:  syntax error at (eval 94626) line 1, near "7590ax"
Wenn ich das device z.B. FB7590ax nenne, funktioniert das lesen des Passwortes. Ich habe allerdings nirgendwo gelesen, das ein device nicht mit einer Zahl anfangen darf, das define und alle weiteren Funktionen haben problemlos geklappt.

PS: Kannst Du evtl auch noch die 'deleteattr -silent' Option eingebauen, damit diese Befehle nicht in die "save -?" Liste eingetragen werden?
Das wäre äquivalent zu attr - silent, für deleteattr gibts das leider nicht.

Danke schonmal
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

rudolfkoenig

#1 FRITZBOX samt FRITZBOX_readPassword ist nicht meine Baustelle (siehe MAINTAINER.txt)
#2 $defs{7590ax} schreibt man als $defs{"7590ax"}, daran kann selbst der FritzBox Maintainer wenig aendern.
#3 deleteattr -silent: Habs eingebaut.



Jamo

Hallo Rudi,
danke, ich wende mich an den Maintainer.

Hintergrund ist, das ich mit dem device Namen "7590ax" immer einen  "TR064-Transport-Error: 401 Unauthorized" erhalte.
Wenn ich das device "FB7590ax" nenne, tritt der Fehler nicht auf.

Danke für das einbauen vom -silent für deletattr. Grüsse!
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

JoWiemann

Zitat von: Jamo am 06 Juli 2021, 11:05:47
Hintergrund ist, das ich mit dem device Namen "7590ax" immer einen  "TR064-Transport-Error: 401 Unauthorized" erhalte.
Wenn ich das device "FB7590ax" nenne, tritt der Fehler nicht auf.

Hm, ich kann den Fehler so nicht bestätigen. Poste doch bitte ein list von 7590ax.

Grüße Jörg
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

Jamo

Hallo Joerg,
ja Du hast recht, daran liegt es nicht - hatte Rudi ja auch schon festgestellt. Mein Fehler, fehlende Gänsefüsschen. Was möchte ich machen:

Ich möchte eine remote FritzBox (aka FB7590ax) über eine Lan2Lan VPN Kopplung in mein lokales fhem einbinden (zusätzlich zu meiner lokalen Fritzbox aka FritzBox). Das fremde remote-Netz ist dann ganz normal in meinem fhem sichtbar, ich kann die remote FB7590ax auch über das lokale fritzbox-device auslesen (also alle Readings im FB modul für die remote FB7590ax werden gelesen und regelmässig ge-updated).

Wenn ich aber z.B. ein "set FB7590ax guestWlan on" mache, funktioniert es erstmal initial (initial heisst anfangs, z.B. nach einem fhem re-start, oder eben wo ich jetzt den Namen von 7590ax auf FB7590ax geändert hatte, und box-user und passwort neu eingebe). Nach einiger Zeit, wenn ich die VPN Lan2Lan kopplung unterbreche, und neu aufbaue, funktioniert eben das "set FB7590ax guestWlan on" nicht mehr, dann kommt besagter "TR064-Transport-Error: 401 Unauthorized" error. Die Readings im device werden aber weiterhin aktualisiert.
Ich habe schon den NTP Server in der remote FB7590ax auf die gleiche NTP domain wie in meiner lokalen FB gesetzt, am Zeitstempel kann es nicht liegen.
Hast Du eine Idee wo ich sonst noch suchen kann?

Danke.

PS: Ich habe das Subjekt für diesen Thread jetzt geändert.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

JoWiemann

Zitat von: Jamo am 06 Juli 2021, 14:04:10
Wenn ich aber z.B. ein "set FB7590ax guestWlan on" mache, funktioniert es erstmal initial (initial heisst anfangs, z.B. nach einem fhem re-start, oder eben wo ich jetzt den Namen von 7590ax auf FB7590ax geändert hatte, und box-user und passwort neu eingebe). Nach einiger Zeit, wenn ich die VPN Lan2Lan kopplung unterbreche, und neu aufbaue, funktioniert eben das "set FB7590ax guestWlan on" nicht mehr, dann kommt besagter "TR064-Transport-Error: 401 Unauthorized" error. Die Readings im device werden aber weiterhin aktualisiert.
Ich habe schon den NTP Server in der remote FB7590ax auf die gleiche NTP domain wie in meiner lokalen FB gesetzt, am Zeitstempel kann es nicht liegen.
Hast Du eine Idee wo ich sonst noch suchen kann?

Eine Vermutung. Das Modul ermittelt beim Start den TR064-Port. Meine Vermutung ist, dass durch das Lösen und neu verbinden der VPN Verbindung der Port nicht mehr gültig ist. Probier doch mal ein "set 7590ax checkAPIs". Hier ermittelt das Modul den Port neu. Wenn dann wieder alles Ok -> Lösung gefunden, ansonsten -> weiter suchen ;-)

Grüße Jörg
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

Jamo

Zitat von: JoWiemann am 06 Juli 2021, 14:40:15
Eine Vermutung. Das Modul ermittelt beim Start den TR064-Port. Meine Vermutung ist, dass durch das Lösen und neu verbinden der VPN Verbindung der Port nicht mehr gültig ist. Probier doch mal ein "set 7590ax checkAPIs". Hier ermittelt das Modul den Port neu. Wenn dann wieder alles Ok -> Lösung gefunden, ansonsten -> weiter suchen ;-)

Grüße Jörg
Hallo Jörg, danke für deinen input.
Auch nach mehrmaligen "set 7590ax checkAPIs", kommt nach einem "set FB7590ax guestWlan on/off" der Fehler: TR064_Cmd.4887 TR064-Transport-Error: 401 Unauthorized. Die readings werden weiterhin immer schön aktualisiert, wie man es erwartet.

-> weiter suchen :(
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

JoWiemann

Zitat von: Jamo am 06 Juli 2021, 14:59:52
Hallo Jörg, danke für deinen input.
Auch nach mehrmaligen "set 7590ax checkAPIs", kommt nach einem "set FB7590ax guestWlan on/off" der Fehler: TR064_Cmd.4887 TR064-Transport-Error: 401 Unauthorized. Die readings werden weiterhin immer schön aktualisiert, wie man es erwartet.

-> weiter suchen :(

Hallo Jamo,

setze doch bitte verbose einmal auf 5 und mach dann ein checkAPIs und ein guestWlan on/off und poste bitte den Protokollauszug.

Grüße Jörg
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

Jamo

#8
Hallo Joerg,
den ganzen Log mag ich nicht teilen, da steht ja alles drin. Hier mal der relevante Teil:
Ich habe alles so weit verfälscht, auch die IP-adressen, 168 ist die lokale, 169 die remote box.
Reicht das?

       }, 'SOAP::SOM' )

2021.07.06 15:29:48 4: FRITZBOX FB7590ax: TR064_Init.5051 SecPort-Result '1443'
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Add_Reading.2621 ->SECPORT: 1443
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1276 TR-064-SecurePort is 1443.
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1298 Created m3u file './www/images/FB7590ax.m3u'.
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Add_Reading.2621 ->M3U_LOCAL: ./www/images/FB7590ax.m3u
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1306 Try to get my IP address.
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1313 Try to get a FHEMWEB port.
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1325 Try to get 'http://192.168.0.55:53973/fhem/images/FB7590ax.m3u'
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1328 Failed to get 'http://192.168.0.55:53973/fhem/images/FB7590ax.m3u': 500 Can't connect to 192.168.0.55:53973 (Connection refused)
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Add_Reading.2621 ->M3U_URL: unknown
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: API_Check_Run.1340 Read 'jason_boxinfo'
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Add_Reading.2621 box_model: FRITZ!Box 7590 AX
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Add_Reading.2621 box_oem: avm
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Add_Reading.2621 box_fwVersion: 256.07.27-89546
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Add_Reading.2621 ->TELNET: 0
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1396 Could not open telnet connection to 192.169.0.1: Connection refused
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Add_Reading.2621 ->APICHECKED: 1
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1410 Captured 14 values
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: API_Check_Run.1411 Handover to main process (226): ->REMOTE|1|->WEBCM|0|->LUAQUERY|1|->TR064|1|->SECPORT|1443|->M3U_LOCAL|./www/images/FB7590ax.m3u|->M3U_URL|unknown|box_model|FRITZ!Box 7590 AX|box_oem|avm|box_fwVersion|256.07.27-89546|->TELNET|0|->APICHECKED|1|readoutTime|0.88
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: Readout_Done.2346 Back at main process
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: Readout_Process.2368 Processing 13 readouts.
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Process.2443 SET box_fwVersion = '256.07.27-89546'
2021.07.06 15:29:48 5: FRITZBOX FB7590ax: Readout_Process.2443 SET box_model = 'FRITZ!Box 7590 AX [avm]'
2021.07.06 15:29:48 4: FRITZBOX FB7590ax: Readout_Process.2493 13 values captured in 0.88 s
2021.07.06 15:29:56 3: FRITZBOX: set FB7590ax guestWlan on
2021.07.06 15:29:56 4: FRITZBOX FB7590ax: Set_Cmd_Start.2719 Fork process FRITZBOX_GuestWlan_Run_Web
2021.07.06 15:29:56 4: FRITZBOX FB7590ax: TR064_Cmd.4877 Perform TR-064 call - service='WLANConfiguration:2', control='wlanconfig2', action='SetEnable', parameter1='NewEnable' => '1'
2021.07.06 15:29:56 2: FRITZBOX FB7590ax: TR064_Cmd.4887 TR064-Transport-Error: 401 Unauthorized
2021.07.06 15:29:56 4: FRITZBOX FB7590ax: TR064_Cmd.4877 Perform TR-064 call - service='WLANConfiguration:1', control='wlanconfig1', action='SetEnable', parameter1='NewEnable' => '1'
2021.07.06 15:29:57 2: FRITZBOX FB7590ax: TR064_Cmd.4887 TR064-Transport-Error: 401 Unauthorized
2021.07.06 15:29:57 4: FRITZBOX FB7590ax: TR064_Cmd.4877 Perform TR-064 call - service='WLANConfiguration:3', control='wlanconfig3', action='SetEnable', parameter1='NewEnable' => '1'
2021.07.06 15:29:57 2: FRITZBOX FB7590ax: TR064_Cmd.4887 TR064-Transport-Error: 401 Unauthorized
2021.07.06 15:29:57 5: FRITZBOX FB7590ax: readPassword.5854 Read FritzBox password from file
2021.07.06 15:29:57 4: FRITZBOX FB7590ax: Web_OpenCon.5101 Open Web connection to 192.169.0.1
2021.07.06 15:29:57 4: FRITZBOX FB7590ax: Readout_Start.1178 Fork process FRITZBOX_Readout_Run_Web
2021.07.06 15:29:57 4: FRITZBOX FB7590ax: Readout_Run_Web.1762 Prepare query string for luaQuery.
2021.07.06 15:29:57 5: FRITZBOX FB7590ax: readPassword.5854 Read FritzBox password from file
2021.07.06 15:29:57 4: FRITZBOX FB7590ax: Web_OpenCon.5101 Open Web connection to 192.169.0.1
2021.07.06 15:29:57 4: FRITZBOX FB7590ax: Web_OpenCon.5105 Web session opened with sid 2ds4495586244955
2021.07.06 15:29:57 5: FRITZBOX FB7590ax: Web_Query.5228 Request data via API luaQuery
2021.07.06 15:29:57 5: FRITZBOX FB7590ax: Web_Query.5246 get -> URL: http://192.169.0.1/query.lua?sid=2ds4495586244955&box_wlan_24GHz=wlan:settings/ap_enabled&box_wlan_5GHz=wlan:settings/ap_enabled_scnd&box_guestWlan=wlan:settings/guest_ap_enabled&box_guestWlanRemain=wlan:settings/guest_time_remain
2021.07.06 15:29:57 5: FRITZBOX FB7590ax: Web_Query.5250 Response: 200 OK
{"box_guestWlanRemain":"0","box_wlan_24GHz":"1","box_guestWlan":"0","box_wlan_5GHz":"1"}

2021.07.06 15:29:57 5: FRITZBOX FB7590ax: Web_Query.5259 Response: {"box_guestWlanRemain":"0","box_wlan_24GHz":"1","box_guestWlan":"0","box_wlan_5GHz":"1"}

2021.07.06 15:29:57 5: FRITZBOX FB7590ax: Process_JSON.5369 Decode JSON string.
2021.07.06 15:29:57 5: FRITZBOX FB7590ax: Process_JSON.5385 JSON: {
  'box_guestWlanRemain' => '0',
  'box_guestWlan' => '0',
  'box_wlan_24GHz' => '1',
  'box_wlan_5GHz' => '1'
}
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

amenomade

#9
Also.... ich habe den ganzen Thread nicht in Details gelesen und analysiert, aber:

192.168.0.0 - 192.168.255.255 (auch 192.168.0.0/16 genannt) ist ein privater IP-Bereich (daher brauchst Du auch hier die IP Adressen nicht zu verfälschen, die sind ausserhalb deines Netzwerks sowieso nicht erreichbar)

192.169.0.0/16 dagegen nicht. Und wird von verschiedenen Firewalls und auch von Fhem blockiert. Das erklärt vielleicht das
Zitat2021.07.06 15:29:48 4: FRITZBOX FB7590ax: API_Check_Run.1396 Could not open telnet connection to 192.169.0.1: Connection refused
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Jamo

Zitat von: amenomade am 06 Juli 2021, 17:39:55
Also.... ich habe den ganzen Thread nicht in Details gelesen und analysiert, aber:

192.168.0.0 - 192.168.255.255 (auch 192.168.0.0/16 genannt) ist ein privater IP-Bereich (daher brauchst Du auch hier die IP Adressen nicht zu verfälschen, die sind ausserhalb deines Netzwerks sowieso nicht erreichbar)

192.169.0.0/16 dagegen nicht. Und wird von verschiedenen Firewalls und auch von Fhem blockiert. Das erklärt vielleicht das
Nein, hat damit nichts zu tun, die 169 hatte ich unnötigerweise auch gefaked. Habe jetzt noch in meiner FHEM WEB instanz unter "attr allowfrom" die IP adresse der remote FB7590 eingetragen (ich habe dort eine lange liste mit adressen die auf mein fhemWeb connecten dürfen), jetzt geht es im Moment erstmal. Ich beobachte weiter.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Jamo

#11
Hallo Joerg,
so ich bin ein Stück weiter. Es verhält sich reproduzierbar so, das die remote Steuerung der 7590ax, also z.B. ein "set FB7590ax guestWlan on" über Lan2Lan VPN, bei mir immer nur für einige Zeit nach einem fhem re-start funktioniert. Dann nach einiger Zeit aber nicht mehr (und ich kann es nicht genau an irgendwas festmachen ab wann es nicht mehr geht. Auch kann ich die Lan2Lan VPN Kopplung einige Male neu aufbauen, dann funktionierts immer noch, irgendwann gehts es aber nicht mehr bis zu einem neuen fhem neustart).

Hast Du eine Ahnung, was / wo es dann auseinanderläuft, also was nach einem fhem re-start im fritzbox modul passiert und was sich später ändert?
Ich habe noch in den Ereignissen der remote FB nachgeschaut, immer wenn der Fehler "TR064-Transport-Error: 401 Unauthorized" "kommt,
steht in der Ereignis liste folgendes "Anmeldung einer App mit unbekanntem Anmeldenamen von IP-Adresse xx.xx.xx.xx gescheitert"

Bei funktionierender Steuerung steht da "Anmeldung einer App des Benutzers jamo von IP-Adresse xx.xx.xx.xx".

Also irgendwas mit dem Anmeldenamen . . . . Hast Du eine Idee, wo ich noch suchen kann?

Danke!

PS: Hat es vielleicht mit der Gültigkeit der session-ID zu tun?

Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

JoWiemann

Hallo Jamo,

wird im Moment schwierig und ich komme wohl erst am Wochenende dazu. Vermutlich werde ich Deine Installation wohl nachstellen müssen. Das wird dann aber dauern.

Grüße Jörg
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

Jamo

Vermutlich werde ich Deine Installation wohl nachstellen müssen
Hallo Jörg,
nein, das musst Du nicht machen. Ist wahrscheinlich zu speziell und ausser mir machts ja auch keiner.
Ausserdem ist es ein nicht deterministisches Problem- gestern ging es über 6 Stunden gut, heute von kurz nach mitternacht bis kurz vor 12 Uhr für 11 Stunden, dann gerade wieder nur 3 Stunden, bis der Fehler auftritt (jeweils nach einem fhem re-boot, und zwischendurch kann ich beliebig oft die lan2lan kopplung an und aus machen). Und wahrscheinlich wirst Du es nicht reproduzieren können. Evtl liegt es ja auch an der Beta von der Firmware.

Falls ich irgendwann was find sage ich Dir Bescheid, ansonsten würde ich hier erstmal den Schlusstrich ziehen, ich glaube nicht das es am Modul liegt, sondern eher am Netzwerk. Was mich nur wundert ist das es immer ein fhem re-boot braucht.
Nur ein "reload 72_FRITZBOX.pm" hilft nicht.

Bis dahin, danke auf jeden Fall.
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack

Jamo

Hallo Joerg,
ich bin einen Schritt weiter. Um den Fehler einzugrenzen, habe ich das Modul 72_FRITZBOX.pm nach 72_FRITZBOX2.pm kopiert,
und dann im Modul überall FRITZBOX -> FRITZBOX2 ersetzt. Also quasi ein 2-tes FRITZBOX Modul gemacht, um meine remote FB an ein eigened modul zu definieren. Danach FHEM restart.

Die lokale Fritzbox ist wie folgt definiert define FritzBox FRITZBOX  EI.NE.IP.AD
Die remote Fritzbox ist so definiert define FBax7590 FRITZBOX2 RE.MO.TE.IP
(vergiss mal die IP Adressen, hat damit nichts zu tun).

Jetzt ist es so:
Es lässt sich jeweils nur die eine ODER die andere Fritzbox steuern, aber nicht beide gleichzeitig.
Nach einem reload 72_FRITZBOX.pm kann ich die FritzBox steuern, also set FritzBox guestWlan on. Wenn ich aber ein set FBax7590 guestWlan on mache, kommt der Fehler "FRITZBOX2 FBax7590: TR064_Cmd.4888 TR064-Transport-Error: 401 Unauthorized "
Nach einem reload 72_FRITZBOX2.pm kann ich die FBax7590 steuern, also set FBax7590 guestWlan on. Wenn ich aber ein set FritzBox guestWlan on mache, kommt der Fehler "FRITZBOX FritzBox: TR064_Cmd.4888 TR064-Transport-Error: 401 Unauthorized"

ALso ich kann immer die FB steuern, deren Modul ich zuletzt geladen habe.
Kann es am TR064 UDP Port liegen, der SecPort ist bei beiden FB der gleiche?

Oder ist das Unsinn mit dem 2-ten 72_FRITZBOX2.pm Modul? Aber die Feststellung ist, das der 'unauthorized' Fehler, sowohl lokal als auch für die remote FB auftritt.

PS: Das die lokale FB auch die Fehlermeldung hat, hatte ich initial übersehen da ich ja (anderer Thread, wegen dem langen Logeintrag nach dem get... befehl) verbose auf 0 gesetzt hatte.

Grüsse
Bullseye auf iNUC, Homematic + HMIP(UART/HMUSB), Debmatic, HUEBridge, Zigbee/ConbeeII, FB, Alexa (fhem-lazy), Livetracking, LaCrosse JeeLink, LoRaWan / TTN / Chirpstack