wie frizbox internetzugang mit android wlan hotspot automatisch verbinden

Begonnen von frank, 18 Januar 2025, 18:46:08

Vorheriges Thema - Nächstes Thema

frank

moin,

wenn ich am phone den wlan hotspot aktiviere, soll fhem meine fritzbox (7490, fw 7.59) automatisch damit verbinden.

die aktuelle fw der fritzbox merkt sich neuerdings sogar das passwort, wenn ich den manuell verbundenenen hotspot im phone wieder abschalte. allerdings sendet nun das aktuelle android.os 15 beim hotspot immer eine zufällige mac, sodass beim erneuten einschalten des hotspot die fritzbox keinen automatischen reconnect ausführt. eine feste mac für den hotspot gibt es scheinbar auch nicht, nur für "normale" wlan verbindungen.

daher die idee über fhem.

das aktuelle fritzbox modul zeigt mir den hotspot in einem "nbh_" reading an, also kein problem auf die events zu reagieren.
mir fehlt "lediglich" der befehl zum setzen/umschalten.  ;)

in den tr064 commands habe ich noch nichts entdecken können.


hat jemand tips, oder das selber schon probiert?

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JoWiemann

Hallo Frank,

auf welcher Konfigurationsseite der FritzBox nimmst Du die Einstellung vor?

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

frank

hallo jörg,

anbei mal ein screenshot.

die wlan liste ist wahrscheinlich die liste, die mit "set rescanWLANneighbors" erstellt wird, aber ausgeblendet sind die zeilen, die nicht möglich sind (alle fremden 5g netze und meine 2 eigenen: 2,4g und 5 g)

ausgewählt ist gerade der hotspot.

wenn der verbunden ist, gibt es ein zusätzliches wlan-mac-reading.
normalerweise müsste es "aktiv" sein. das macht die fritzbox falsch, nicht dein modul.
mac_pas_7E_DF_79_09_BE_E5 Basisstation [landevice6230] (WLAN: 144 / 138 Mbit/s, RSSI: -65) statIP:off
...
nbh_7E_DF_79_09_BE_E5 Pixel_2351 (Kanal: 1, Band: 2.4 GHz)


gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JoWiemann

Hallo Frank,

schaue ich mir die Tage mal an.

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

JoWiemann

Hallo Frank,

leider habe ich keine FritzBox, mit der ich das testen kann. Die beiden Produktiven scheiden aus und die drei Testboxen haben die Funktion nicht.

Eventuell kannst Du ja hier weiter helfen helfen. Die Frage ist, wie gut Du Dich mit den Entwicklertools der Browser auskennst.

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

frank

Zitat von: JoWiemann am 21 Januar 2025, 13:48:56Eventuell kannst Du ja hier weiter helfen helfen. Die Frage ist, wie gut Du Dich mit den Entwicklertools der Browser auskennst.
Zum Programmieren von Javascript habe ich sie schon häufig genutzt.
Im Zusammenhang mit Fritzbox Funktionen ist es mir neu.

Ich ahne nun aber etwas...


Gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JoWiemann

Ok,

dann brauche ich den Inhalt der data.lua, wenn eine Änderung weggeschrieben wird. Gerne nach zwei, drei Änderungen.

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

frank

hallo jörg,

beim manuellen wechsel des hotspots sieht es wie folgt aus:
################################# seite internet/internet_settings manuell aufrufen

17:42:16.793 XHRPOST
http://192.168.1.1/data.lua
[HTTP/1.1 200 OK 5610ms]

17:42:22.583 XHRGET
http://192.168.1.1/internet/internet_settings.lua?sid=76e7bc6422f4aa9d&no_sidrenew=1&wlanscan=&multiwan_page=dsl&useajax=1&xhr=1&t1737564142575=nocache
[HTTP/1.1 200 OK 5190ms]

################################# hotspot-wechsel => übernehmen => fortschrittsanzeige seite

17:42:41.672 XHRPOST
http://192.168.1.1/data.lua
[HTTP/1.1 200 OK 5720ms]

17:42:47.432 XHRPOST
http://192.168.1.1/data.lua
[HTTP/1.1 200 OK 1260ms]

17:42:49.822 XHRGET
http://192.168.1.1/query.lua?sid=76e7bc6422f4aa9d&restarting=box:status/ctlmgr_restarting&useajax=1&xhr=1&t1737564169814=nocache
[HTTP/1.1 200 OK 520ms]

################################# ok drücken => automatischer wiederaufbau der seite internet/internet_settings

17:44:05.361 XHRPOST
http://192.168.1.1/data.lua
[HTTP/1.1 200 OK 5040ms]

17:44:10.571 XHRGET
http://192.168.1.1/internet/internet_settings.lua?sid=76e7bc6422f4aa9d&no_sidrenew=1&wlanscan=&multiwan_page=dsl&useajax=1&xhr=1&t1737564250568=nocache
[HTTP/1.1 200 OK 6576ms]

die ersten 2 requests erfolgen beim aufruf der seite internet/internet_settings, wobei das get nur für die tabelle der verfügbaren wlans (scanlist) aufgerufen wird.
wenn ich dann das "neue" wlan mit mit der geänderten mac auswähle und auf den übernehmen button drücke, erfolgen 3 weitere requests (3,4,5), die eine neue seite aufbauen, die eine fortschrittsanzeige mit ok button darstellt.
sind die 3 requests durch, wird der ok button aktiv.
nach dem drücken des ok buttons wird mit den letzten 2 requests (6,7) wieder die internet/internet_settings seite aufgebaut. also eine wiederholung der ersten beiden requests.


luaData von request #3 sieht so aus:
xhr=1&sid=cb45ec33626f6415&superprovider=more&superprovider2=oma_wlan&provider=oma_wlan&activename=&tonlinenummer%3Atonline=&pwd%3Atonline=&anschlusskennung%3Atonline=&mitbenutzersuffix%3Atonline=&user%3Atelekom_zs=&pwd%3Atelekom_zs=&tonlinenummer%3Atelekom_ftth=&pwd%3Atelekom_ftth=&anschlusskennung%3Atelekom_ftth=&mitbenutzersuffix%3Atelekom_ftth=&user%3A1und1=&pwd%3A1und1=&user%3Adrillisch=&pwd%3Adrillisch=&user%3Avodafone2_adsl=&pwd%3Avodafone2_adsl=&user%3Avodafone2_ftth=&pwd%3Avodafone2_ftth=&user%3Aotwored=&pwd%3Aotwored=&user%3Aotwored_ftth=&pwd%3Aotwored_ftth=&check16=02%3A08%3A36%3A05%3ACB%3ADC%C2%A76%C2%A7wpa2mixed%C2%A7Pixel_2351&wpamode%3Aoma_wlan=wpa2mixed&pskvalue%3Aoma_wlan=xxxxxxxxxxxxxxx&stamac%3Aoma_wlan=02%3A08%3A36%3A05%3ACB%3ADC&stassid%3Aoma_wlan=Pixel_2351&staenc%3Aoma_wlan=wpa2mixed&user%3Acongstar=&pwd%3Acongstar=&user%3Acongstar_vdsl=&pwd%3Acongstar_vdsl=&user%3Aeasybell_adsl=&pwd%3Aeasybell_adsl=&user%3Aewetel_allip2=cpemgmt.ngn4%23100%40tk-e.de&pwd%3Aewetel_allip2=****&user%3Aewetel=&pwd%3Aewetel=&user%3Afreenet=freenet&pwd%3Afreenet=****&user%3Ahtp_allip=htpallip&pwd%3Ahtp_allip=****&user%3Ahtp_allip_fiber=htpallip&pwd%3Ahtp_allip_fiber=****&user%3Ahtpdsl_adsl=&pwd%3Ahtpdsl_adsl=&user%3Ahtpngn_adsl=htp&pwd%3Ahtpngn_adsl=****&user%3Ahtpngn_fiber=htp&pwd%3Ahtpngn_fiber=****&user%3Ainexio_dsl=.net&pwd%3Ainexio_dsl=****&user%3Ainexio_fiber=.net&pwd%3Ainexio_fiber=****&user%3Amnet=&pwd%3Amnet=&user%3Amnet_fttc=&pwd%3Amnet_fttc=&user%3Amnet_ftth=&pwd%3Amnet_ftth=&user%3Anetcologne_netaachen_vdsl2=nc%40nc&pwd%3Anetcologne_netaachen_vdsl2=****&user%3Anetcologne_netaachen_dsl2=nc%40nc&pwd%3Anetcologne_netaachen_dsl2=****&user%3Anetcologne_netaachen_dsl1=nc%40nc&pwd%3Anetcologne_netaachen_dsl1=****&user%3Aqsc=&pwd%3Aqsc=&user%3Aqsc_adsl=&pwd%3Aqsc_adsl=&user%3Aqsc_ftth=&pwd%3Aqsc_ftth=&user%3Awobcom=&pwd%3Awobcom=&medium%3Aother=dsl&optype%3Aother=router&subprovider%3Aother=auth&user%3Aother%3Aauth=&pwd%3Aother%3Aauth=&downstream%3Aother=1000&upstream%3Aother=1000&connmode%3Aother=always_online&useprevention%3Aother=on&prevention%3Aother=1&exists_usevlan%3Aother=&autodetect%3Aother=1&noauthdsl_vpi%3Aother=1&noauthdsl_vci%3Aother=32&noauthdsl_encap%3Aother=dslencap_ether&noauthdsl_dhcp%3Aother=on&noauthdsl_hostname%3Aother=fritz.box&router_dhcp%3Aother=1&router_hostname%3Aother=fritz.box&client_dhcp%3Aother=1&client_hostname%3Aother=fritz.box&mac%3Aother0=&mac%3Aother1=&mac%3Aother2=&mac%3Aother3=&mac%3Aother4=&mac%3Aother5=&conncheck=on&apply=&lang=de&page=cred
json formatiert mit anmerkungen:
{
  #block1
    "xhr": "1",
    "sid": "cb45ec33626f6415",
    "superprovider": "more",
    "superprovider2": "oma_wlan",
    "provider": "oma_wlan",
    "activename": "",
 
  #block2
    "tonlinenummer:tonline": "",
    "pwd:tonline": "",
    "anschlusskennung:tonline": "",
    "mitbenutzersuffix:tonline": "",
    "user:telekom_zs": "",
    "pwd:telekom_zs": "",
    "tonlinenummer:telekom_ftth": "",
    "pwd:telekom_ftth": "",
    "anschlusskennung:telekom_ftth": "",
    "mitbenutzersuffix:telekom_ftth": "",
    "user:1und1": "",
    "pwd:1und1": "",
    "user:drillisch": "",
    "pwd:drillisch": "",
    "user:vodafone2_adsl": "",
    "pwd:vodafone2_adsl": "",
    "user:vodafone2_ftth": "",
    "pwd:vodafone2_ftth": "",
    "user:otwored": "",
    "pwd:otwored": "",
    "user:otwored_ftth": "",
    "pwd:otwored_ftth": "",
 
  #block3
    "check16": "02:08:36:05:CB:DC§6§wpa2mixed§Pixel_2351",
    "wpamode:oma_wlan": "wpa2mixed",
    "pskvalue:oma_wlan": "xxxxxxxxxxxxxxx",
    "stamac:oma_wlan": "02:08:36:05:CB:DC",
    "stassid:oma_wlan": "Pixel_2351",
    "staenc:oma_wlan": "wpa2mixed",
 
  #block4
    "user:congstar": "",
    "pwd:congstar": "",
    "user:congstar_vdsl": "",
    "pwd:congstar_vdsl": "",
    "user:easybell_adsl": "",
    "pwd:easybell_adsl": "",
    "user:ewetel_allip2": "cpemgmt.ngn4#100@tk-e.de",
    "pwd:ewetel_allip2": "****",
    "user:ewetel": "",
    "pwd:ewetel": "",
    "user:freenet": "freenet",
    "pwd:freenet": "****",
    "user:htp_allip": "htpallip",
    "pwd:htp_allip": "****",
    "user:htp_allip_fiber": "htpallip",
    "pwd:htp_allip_fiber": "****",
    "user:htpdsl_adsl": "",
    "pwd:htpdsl_adsl": "",
    "user:htpngn_adsl": "htp",
    "pwd:htpngn_adsl": "****",
    "user:htpngn_fiber": "htp",
    "pwd:htpngn_fiber": "****",
    "user:inexio_dsl": ".net",
    "pwd:inexio_dsl": "****",
    "user:inexio_fiber": ".net",
    "pwd:inexio_fiber": "****",
    "user:mnet": "",
    "pwd:mnet": "",
    "user:mnet_fttc": "",
    "pwd:mnet_fttc": "",
    "user:mnet_ftth": "",
    "pwd:mnet_ftth": "",
    "user:netcologne_netaachen_vdsl2": "nc@nc",
    "pwd:netcologne_netaachen_vdsl2": "****",
    "user:netcologne_netaachen_dsl2": "nc@nc",
    "pwd:netcologne_netaachen_dsl2": "****",
    "user:netcologne_netaachen_dsl1": "nc@nc",
    "pwd:netcologne_netaachen_dsl1": "****",
    "user:qsc": "",
    "pwd:qsc": "",
    "user:qsc_adsl": "",
    "pwd:qsc_adsl": "",
    "user:qsc_ftth": "",
    "pwd:qsc_ftth": "",
    "user:wobcom": "",
    "pwd:wobcom": "",
    "medium:other": "dsl",
    "optype:other": "router",
    "subprovider:other": "auth",
    "user:other:auth": "",
    "pwd:other:auth": "",
    "downstream:other": "1000",
    "upstream:other": "1000",
    "connmode:other": "always_online",
    "useprevention:other": "on",
    "prevention:other": "1",
    "exists_usevlan:other": "",
    "autodetect:other": "1",
    "noauthdsl_vpi:other": "1",
    "noauthdsl_vci:other": "32",
    "noauthdsl_encap:other": "dslencap_ether",
    "noauthdsl_dhcp:other": "on",
    "noauthdsl_hostname:other": "fritz.box",
    "router_dhcp:other": "1",
    "router_hostname:other": "fritz.box",
    "client_dhcp:other": "1",
    "client_hostname:other": "fritz.box",
    "mac:other0": "",
    "mac:other1": "",
    "mac:other2": "",
    "mac:other3": "",
    "mac:other4": "",
    "mac:other5": "",

        #block5
    "conncheck": "on",
    "apply": "",
    "lang": "de",
    "page": "cred"
}

block2 und block4 sind die vordefinierten einträge der 2 dropdown inputelemente (superprovider, superprovider2) auf der seite internet/internet_settings. sie sind hoffentlich nicht notwendig, sonst müsste man wohl bei jedem fw update anpassungen vornehmen.

block3 enthält die daten des neuen wlan hotspots.
hier ist hoffentlich die erste zeile unnötig, sonst muss die nummer von "checkxx" aus der "scanlist" vom request #2 ermittelt werden.


zum weiteren testen habe ich versucht die daten über "get fritzbox luaData" zu senden.
dabei habe ich allerdings das problem "NULL" werte einzugeben ("activename": "").
als trennzeichen werden ja leerzeichen benutzt. bei einem null wert bekomme ich dann also 2 leerzeichen. damit erhalte ich eine falsche zuordung und folgenden fehler:
Result of data = 'xhr' => '1'
'superprovider' => 'more'
'superprovider2' => 'oma_wlan'
'provider' => 'oma_wlan'
'activename' => 'wpamode%3Aoma_wlan'
'wpa2mixed' => 'pskvalue%3Aoma_wlan'
'xxxxxxxxxxxxxxx' => 'stamac%3Aoma_wlan'
'2E%3A5A%3A50%3AA0%3ACF%3A16' => 'stassid%3Aoma_wlan'
'Pixel_2351' => 'staenc%3Aoma_wlan'
'wpa2mixed' => 'conncheck'
'on' => 'apply'
'lang' => 'de'
'page' => 'cred'

----------------------------------------------------------------------
ERROR: no HASH from JSON returned

1. frage: gibt es dazu eine lösung?


2. frage: wie kann ich den request #2 über das fritzbox modul senden?
http://192.168.1.1/internet/internet_settings.lua?sid=76e7bc6422f4aa9d&no_sidrenew=1&wlanscan=&multiwan_page=dsl&useajax=1&xhr=1&t1737564142575=nocache

gruss frank
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

JoWiemann

Hallo Frank,

Nullwerte maskierst Du durch nop.

zb: conncheck on apply nop lang de page cred

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

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html