Table Of Contents

Previous topic

Lan

Next topic

DHCP

Freeplug

The freeplug API allow you to list the freeplugs on the Freebox network and get stats

Freeplug Errors

When attempting to access the freeplug API, you may encounter the following errors:

error_code Description
inval Invalid request
nomem Internal error
nosta No freeplug with this id
nopeer No freeplug with this id

Freeplug Network

FreeplugNetwork has the following attributes:

FreeplugNetwork
id string Read-only

Network unique id

members[] array of Freeplug Read-only

List of freeplugs member of this network

Freeplug Object

Freeplug has the following attributes:

Freeplug
id string Read-only

Freeplug unique id

local bool Read-only

if true the Freeplug is connected directly to the Freebox

net_role enum Read-only
Freeplug network role
Type Description
sta Freeplug Station
pco Freeplug proxy coordinator
cco Central coordinator
model string Read-only

Freebox Server netbios name

eth_port_status enum Read-only
Type Description
up The ethernet port is up
down The ethernet port is down
unknown The ethernet port state is unknown
eth_full_duplex bool Read-only

ethernet link is full duplex

has_network bool Read-only

is connected to the network

eth_speed int Read-only

ethernet port speed

inactive int Read-only

seconds since last activity

net_id string Read-only

network id

rx_rate int Read-only

rx rate (from the freeplugs to the “cco” freeplug) (in Mb/s) -1 if not available

tx_rate int Read-only

tx rate (from the “cco” freeplug to the freeplugs) (in Mb/s) -1 if not available

Freeplug API

Get the current Freeplugs networks

GET /api/v3/freeplug/

Returns the list of FreeplugNetwork

Example request:

GET /api/v3/freeplug/ HTTP/1.1
Host: mafreebox.freebox.fr

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
    "success": true,
    "result": [
        {
            "id": "c8:f7:b9:83:f5:10:01",
            "members": [
                {
                    "id": "00:24:D4:36:4C:CF",
                    "tx_rate": 148,
                    "eth_port_status": "up",
                    "rx_rate": 148,
                    "net_role": "sta",
                    "inactive": 1,
                    "net_id": "c8:f7:b9:83:f5:10:01",
                    "model": "int6400",
                    "eth_speed": 100,
                    "local": true,
                    "eth_full_duplex": true,
                    "has_network": true
                },
                {
                    "id": "F4:CA:E5:1D:46:AE",
                    "tx_rate": 149,
                    "eth_port_status": "up",
                    "rx_rate": 148,
                    "net_role": "sta",
                    "inactive": 1,
                    "net_id": "c8:f7:b9:83:f5:10:01",
                    "model": "int6400",
                    "eth_speed": 100,
                    "local": true,
                    "eth_full_duplex": true,
                    "has_network": true
                },
                {
                    "id": "00:24:D4:1B:15:D0",
                    "tx_rate": -1,
                    "eth_port_status": "up",
                    "rx_rate": -1,
                    "net_role": "cco",
                    "inactive": 1,
                    "net_id": "c8:f7:b9:83:f5:10:01",
                    "model": "int6400",
                    "eth_speed": 100,
                    "local": false,
                    "eth_full_duplex": true,
                    "has_network": true
                }
            ]
        }
    ]
}

Get a particular Freeplug information

GET /api/v3/freeplug/{id}/

Returns the list of Freeplug

Example request:

GET /api/v3/freeplug/F4:CA:E5:1D:46:AE/ HTTP/1.1
Host: mafreebox.freebox.fr

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
    "success": true,
    "result": {
        "id": "00:24:D4:36:4C:CF",
        "tx_rate": -1,
        "eth_port_status": "up",
        "rx_rate": -1,
        "net_role": "sta",
        "inactive": 1,
        "net_id": "c8:f7:b9:83:f5:10:01",
        "model": "int6400",
        "eth_speed": 100,
        "local": true,
        "eth_full_duplex": true,
        "has_network": true
    }
}

Reset a Freeplug

POST /api/v3/freeplug/{id}/reset/

reset the given Freeplug

Example request:

POST /api/v3/freeplug/F4:CA:E5:1D:46:AE/reset/ HTTP/1.1
Host: mafreebox.freebox.fr

Example response:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
   "success":true,
}