Add listing of open uPnP port mappings in router

The async_upnp_client used to fetch router status and statistics in the upnp integration is also capable of fetching active port mappings in router.
Add support for displaying current mappings and status

It is crucial to know if the number of mapped ports were changed, especially when users use UPnP/IGD for their router.
I am working on it, I just need to get a proper test environment…
I changed the last line on “async_get_data” method in “homeassistant\components\upnp\device.py”

    async def async_get_data(self) -> dict[str, str | datetime | int | float | None]:
        """Get all data from device."""
        _LOGGER.debug("Getting data for device: %s", self)
        igd_state = await self._igd_device.async_get_traffic_and_status_data()
        igd_mapped_ports = await self._igd_device.async_get_port_mapping_number_of_entries()

It is just the first step, I will then try to print an array with ports and destinations.

My router uses WANIPv6FirewallControl service that is not supported in async_upnp_client used in UPnP/IGD component in Home Assistant.
Please, upvote my issue at Add WANIPv6FirewallControl service · Issue #225 · StevenLooman/async_upnp_client (github.com). For sure, I will try to propose an implementation to StevenLooman (Steven Looman) (github.com).

@dala318, problem was partially solved (Add retrieving of port_mapping_number_of_entries for IGDs. by StevenLooman · Pull Request #234 · StevenLooman/async_upnp_client (github.com)).
The owner of IGD/UPnP router implementation just added to display the number of mapped port.

Is this working for anyone else?
I tried to reload the integration with debug logging activated and got the following error.

2024-07-10 11:07:41.876 DEBUG (MainThread) [async_upnp_client.profiles.igd] Could not find action ['WANIPC', 'WANPPP']/GetPortMappingNumberOfEntries
2024-07-10 11:07:41.931 DEBUG (MainThread) [async_upnp_client.traffic.upnp] Got response from POST http://[fdf3:75ed:8f2::1]:5000/ctl/CmnIfCfg:
200
Content-Type: text/xml; charset="utf-8"
Connection: close
Content-Length: 353
Server: OpenWrt/5.15.137 UPnP/1.1 MiniUPnPd/2.3.3
Ext: 

The other sensors activate as before.

I run OpenWRT 23.05 and also have tried a stand-alone tool like UPnP Wizard which is able to retrieve the mappings.