I would push this pull request to add a connection module to get WAN and xDSL status.
It works for me and my FreeboxV6 with V6 API.
from freepybox import Freepybox
# Instantiate Freepybox class using default application descriptor
# and default token_file location
fbx = Freepybox()
# Connect to the freebox with default http protocol
# and default port 80
# Be ready to authorize the application on the Freebox if you use this
# example for the first time
fbx.open('mafreebox.freebox.fr', 80)
# Extract WAN interface status (GET /api/v6/connection/full) using connection API
fbx_connection_status_details = fbx.connection.get_status_details()
print(fbx_connection_status_details)
print('WAN ipv4 address: {0}'.format(fbx_connection_status_details['ipv4']))
print('WAN ipv6 address: {0}'.format(fbx_connection_status_details['ipv6']))
print('WAN status: {0}'.format(fbx_connection_status_details['state']))
print('WAN down bandwidth: {0}'.format(fbx_connection_status_details['bandwidth_down']))
print('WAN up bandwidth: {0}'.format(fbx_connection_status_details['bandwidth_up']))
print('WAN type: {0}'.format(fbx_connection_status_details['type']))
print('WAN media: {0}'.format(fbx_connection_status_details['media']))
print('xDSL down maxrate: {0}'.format(fbx_connection_xdsl_details['down']['maxrate']))
print('xDSL down attn: {0} dB'.format(fbx_connection_xdsl_details['down']['attn_10']/10))
print('xDSL down snr: {0} dB'.format(fbx_connection_xdsl_details['down']['snr_10']/10))
print('xDSL down crc: {0}'.format(fbx_connection_xdsl_details['down']['crc']))
print('xDSL down fec: {0}'.format(fbx_connection_xdsl_details['down']['fec']))
print('xDSL up maxrate: {0}'.format(fbx_connection_xdsl_details['up']['maxrate']))
print('xDSL up attn: {0} dB'.format(fbx_connection_xdsl_details['up']['attn_10']/10))
print('xDSL up snr: {0} dB'.format(fbx_connection_xdsl_details['up']['snr_10']/10))
print('xDSL up crc: {0}'.format(fbx_connection_xdsl_details['up']['crc']))
print('xDSL up fec: {0}'.format(fbx_connection_xdsl_details['up']['fec']))
print('xDSL modulation : {0}'.format(fbx_connection_xdsl_details['status']['modulation']))
print('xDSL protocol : {0}'.format(fbx_connection_xdsl_details['status']['protocol']))
print('xDSL uptime : {0} h'.format(fbx_connection_xdsl_details['status']['uptime']/3600))
# Close the freebox session
fbx.close()
$ python3 ./freepybox/freeboxV6-wan.py
{ 'bandwidth_down': 14820000,
'bandwidth_up': 1020000,
'bytes_down': 276225021,
'bytes_up': 48628438,
'ipv4': '78.197.C.D',
'ipv4_port_range': [0, 65535],
'ipv6': '2a01:e34:abcd:abcd::1',
'media': 'xdsl',
'rate_down': 4870,
'rate_up': 2810,
'state': 'up',
'type': 'rfc2684'}
{ 'bandwidth_down': 14820000,
'bandwidth_up': 1020000,
'bytes_down': 276225021,
'bytes_up': 48628438,
'ftth': { 'has_sfp': True,
'link': False,
'sfp_alim_ok': True,
'sfp_has_power_report': False,
'sfp_has_signal': False,
'sfp_present': False},
'ipv4': '78.197.C.D',
'ipv4_port_range': [0, 65535],
'ipv6': '2a01:e34:abcd:abcd::1',
'media': 'xdsl',
'rate_down': 4870,
'rate_up': 2810,
'state': 'up',
'type': 'rfc2684',
'xdsl': { 'modulation': 'adsl',
'protocol': 'adsl2plus_a',
'status': 'showtime',
'uptime': 6602}}
WAN ipv4 address: 78.197.C.D
WAN ipv6 address: 2a01:e34:abcd:abcd::1
WAN status: up
WAN down bandwidth: 14820000
WAN up bandwidth: 1020000
WAN type: rfc2684
WAN media: xdsl
xDSL down maxrate: 17396
xDSL down attn: 29.5 dB
xDSL down snr: 5.1 dB
xDSL down crc: 0
xDSL down fec: 145
xDSL up maxrate: 1152
xDSL up attn: 15.0 dB
xDSL up snr: 7.5 dB
xDSL up crc: 0
xDSL up fec: 0
xDSL modulation : adsl
xDSL protocol : adsl2plus_a
xDSL uptime : 1.9908333333333332 h
Hello,
I would push this pull request to add a connection module to get WAN and xDSL status. It works for me and my FreeboxV6 with V6 API.
Regards