Fix internet access switch for Fritz Wi-Fi guest devices (#63407)

This commit is contained in:
Simone Chemelli 2022-01-05 12:47:47 +01:00 committed by GitHub
parent c1967abfca
commit cd5bd2ff8b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -110,7 +110,7 @@ class Device:
ip_address: str ip_address: str
name: str name: str
ssid: str | None ssid: str | None
wan_access: bool wan_access: bool = True
class Interface(TypedDict): class Interface(TypedDict):
@ -118,6 +118,7 @@ class Interface(TypedDict):
device: str device: str
mac: str mac: str
op_mode: str
ssid: str | None ssid: str | None
type: str type: str
@ -331,6 +332,7 @@ class FritzBoxTools(update_coordinator.DataUpdateCoordinator):
mesh_intf[interf["uid"]] = Interface( mesh_intf[interf["uid"]] = Interface(
device=node["device_name"], device=node["device_name"],
mac=int_mac, mac=int_mac,
op_mode=interf.get("op_mode", ""),
ssid=interf.get("ssid", ""), ssid=interf.get("ssid", ""),
type=interf["type"], type=interf["type"],
) )
@ -352,6 +354,7 @@ class FritzBoxTools(update_coordinator.DataUpdateCoordinator):
and dev_mac in hosts and dev_mac in hosts
): ):
dev_info: Device = hosts[dev_mac] dev_info: Device = hosts[dev_mac]
if intf["op_mode"] != "AP_GUEST":
dev_info.wan_access = not self.connection.call_action( dev_info.wan_access = not self.connection.call_action(
"X_AVM-DE_HostFilter:1", "X_AVM-DE_HostFilter:1",
"GetWANAccessByIP", "GetWANAccessByIP",