diff --git a/ubus/wifi.json b/ubus/wifi.json index 26b5588d66f0afaf7fe996c518f7b05fb840ebec..478196b2c61b158e393e1ceaa0b572b03d51c724 100644 --- a/ubus/wifi.json +++ b/ubus/wifi.json @@ -1,175 +1,202 @@ { - "definitions": { - "macaddr_t": { - "title": "MAC Address", - "type": "string", - "minLength": 17, - "maxLength": 17, - "pattern":"^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$" - }, - "noisepower_t": { - "title": "Noise", - "type": "integer", - "minimum": -127, - "maximum": 0 - }, - "channel_2_t": { - "title": "2.4GHz Channel", - "type": "integer", - "minimum": 1, - "maximum": 14 - }, - "channel_5_t": { - "title": "5GHz Channel", - "type": "integer", - "minimum": 32, - "maximum": 200 - }, - "channels_2_t": { - "title": "2.4GHz Channels", - "type": "array", - "items": { "$ref": "#/definitions/channel_2_t"} - }, - "channels_5_t": { - "title": "5GHz Channels", - "type": "array", - "items": { "$ref": "#/definitions/channel_5_t"} - }, - "iface_t": { - "title": "Interface", - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "band_t": { - "title": "WiFi Band", - "type": "string", - "enum": ["2.4GHz", "5GHz"] - }, - "bandwidth_t": { - "title": "Bandwidth", - "type": "integer", - "enum": [ - 20, - 40, - 80, - 160 - ] - }, - "aps_t": { - "type": "array", - "items": { - "type": "object", - "required": [ - "ifname", - "status", - "ssid", - "bssid" - ], - "properties": { - "ifname": { - "type": "string", - "minLength": 1, - "maxLength": 16 - }, - "status": { "type": "string" }, - "ssid": { - "type": "string", - "minLength": 0, - "maxLength": 32 - }, - "bssid": { "$ref": "#/definitions/macaddr_t" } - } - } - } - }, - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://www.iopsys.eu/wifi", - "type": "object", - "properties": { - "output": { - "type":"object", - "properties": { - "status": { - "type": "object", - "required": [ - "radios" - ], - "properties": { - "radios": { - "type": "array", - "items": { - "type": "object", - "required": [ - "name", - "isup", - "standard", - "country", - "band", - "channel", - "bandwidth", - "noise", - "rate", - "channels", - "accesspoints", - "backhauls" - ], - "if": { - "properties": { - "band": { - "const": "2.4GHz" - } - } - }, - "then": { - "properties": { - "channel": { "$ref" : "#/definitions/channel_2_t" }, - "channels": { "$ref" : "#/definitions/channels_2_t" } - } - }, - "else": { - "properties": { - "channel": { "$ref" : "#/definitions/channel_5_t" }, - "channels": { "$ref" : "#/definitions/channels_5_t" } - } - }, - "properties": { - "name": { "$ref" : "#/definitions/iface_t" }, - "isup": { - "type": "boolean" - }, - "standard": { - "type": "string" - }, - "country": { - "type": "string", - "minLength": 2, - "maxLength": 3 - }, - "band": { "$ref" : "#/definitions/band_t" }, - "bandwidth": { "$ref": "#/definitions/bandwidth_t"}, - "noise": { "$ref": "#/definitions/noisepower_t" }, - "rate": { - "type": "integer", - "minimum": 0 - }, - "accesspoints": { "$ref": "#/definitions/aps_t"}, - "backhauls": { "$ref": "#/definitions/aps_t"} - } - } - } - } - } - } - }, - "input": { - "type":"object", - "properties": { - "status": { - "type": "object", - "properties": { } - } - } - } - } -} + "definitions": { + "macaddr_t": { + "title": "MAC Address", + "type": "string", + "minLength": 17, + "maxLength": 17, + "pattern": "^([0-9a-fA-F][0-9a-fA-F]:){5}[0-9a-fA-F][0-9a-fA-F]$" + }, + "noisepower_t": { + "title": "Noise", + "type": "integer", + "minimum": -127, + "maximum": 0 + }, + "channel_2_t": { + "title": "2.4GHz Channel", + "type": "integer", + "minimum": 1, + "maximum": 14 + }, + "channel_5_t": { + "title": "5GHz Channel", + "type": "integer", + "minimum": 32, + "maximum": 200 + }, + "channels_2_t": { + "title": "2.4GHz Channels", + "type": "array", + "items": { + "$ref": "#/definitions/channel_2_t" + } + }, + "channels_5_t": { + "title": "5GHz Channels", + "type": "array", + "items": { + "$ref": "#/definitions/channel_5_t" + } + }, + "iface_t": { + "title": "Interface", + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "band_t": { + "title": "WiFi Band", + "type": "string", + "enum": [ + "2.4GHz", + "5GHz" + ] + }, + "bandwidth_t": { + "title": "Bandwidth", + "type": "integer", + "enum": [ + 20, + 40, + 80, + 160 + ] + }, + "aps_t": { + "type": "array", + "items": { + "type": "object", + "required": [ + "ifname", + "status", + "ssid", + "bssid" + ], + "properties": { + "ifname": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "status": { + "type": "string" + }, + "ssid": { + "type": "string", + "minLength": 0, + "maxLength": 32 + }, + "bssid": { + "$ref": "#/definitions/macaddr_t" + } + } + } + } + }, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://www.iopsys.eu/wifi", + "type": "object", + "title": "Wifi", + "properties": { + "status": { + "type": "object", + "properties": { + "input": { + "type": "object", + "properties": {} + }, + "output": { + "type": "object", + "required": [ + "radios" + ], + "properties": { + "radios": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "isup", + "standard", + "country", + "band", + "channel", + "bandwidth", + "noise", + "rate", + "channels", + "accesspoints", + "backhauls" + ], + "if": { + "properties": { + "band": { + "const": "2.4GHz" + } + } + }, + "then": { + "properties": { + "channel": { + "$ref": "#/definitions/channel_2_t" + }, + "channels": { + "$ref": "#/definitions/channels_2_t" + } + } + }, + "else": { + "properties": { + "channel": { + "$ref": "#/definitions/channel_5_t" + }, + "channels": { + "$ref": "#/definitions/channels_5_t" + } + } + }, + "properties": { + "name": { + "$ref": "#/definitions/iface_t" + }, + "isup": { + "type": "boolean" + }, + "standard": { + "type": "string" + }, + "country": { + "type": "string", + "minLength": 2, + "maxLength": 3 + }, + "band": { + "$ref": "#/definitions/band_t" + }, + "bandwidth": { + "$ref": "#/definitions/bandwidth_t" + }, + "noise": { + "$ref": "#/definitions/noisepower_t" + }, + "rate": { + "type": "integer", + "minimum": 0 + }, + "accesspoints": { + "$ref": "#/definitions/aps_t" + }, + "backhauls": { + "$ref": "#/definitions/aps_t" + } + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/ubus/wifi.radio.json b/ubus/wifi.radio.json index b44d372da2c8394df4fdcde874c1afbeb0e55b22..74751b206fda66ebaedfcb5487eb49377200897d 100644 --- a/ubus/wifi.radio.json +++ b/ubus/wifi.radio.json @@ -105,10 +105,24 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.iopsys.eu/wifi.radio", "properties": { - "output": { + "autochannel": { "type": "object", "properties": { - "autochannel": { + "input": { + "type": "object", + "properties": { + "interval": { + "type": "integer" + }, + "algo": { + "type": "integer" + }, + "scans": { + "type": "integer" + } + } + }, + "output": { "description": "Auto channel selection", "type": "object", "title": "wifi.radio.autochannel", @@ -135,30 +149,48 @@ "type": "string" } } - }, - "get": { - "description": "Get value for a radio parameter", + } + } + }, + "scan": { + "type": "object", + "properties": { + "input": { "type": "object", - "title": "wifi.radio.iface", - "required": [ - "status", - "value_int" - ], "properties": { - "status": { - "type": "integer" + "ssid": { + "$ref": "#/definitions/ssid_t" }, - "value_int": { - "type": "integer" + "bssid": { + "$ref": "#/definitions/macaddr_t" + }, + "channel": { + "oneOf": [ + { + "$ref": "#/definitions/channel_2_t" + }, + { + "$ref": "#/definitions/channel_5_t" + } + ] } } }, - "scan": { + "output": { "description": "Trigger a scan", "type": "object", "properties": {} + } + } + }, + "scanresults": { + "type": "object", + "properties": { + "input": { + "type": "object", + "properties": {} }, - "scanresults": { + "output": { "description": "Show scan results", "type": "object", "title": "wifi.radio.iface", @@ -249,8 +281,17 @@ } } } + } + } + }, + "stats": { + "type": "object", + "properties": { + "input": { + "type": "object", + "properties": {} }, - "stats": { + "output": { "description": "Radio statistics", "type": "object", "title": "wifi.radio.iface", @@ -294,8 +335,17 @@ "$ref": "#/definitions/rxtx_t" } } + } + } + }, + "status": { + "type": "object", + "properties": { + "input": { + "type": "object", + "properties": {} }, - "status": { + "output": { "description": "Radio status", "type": "object", "title": "wifi.radio.iface", @@ -396,18 +446,10 @@ } } }, - "input": { + "get": { "type": "object", "properties": { - "status": { - "type": "object", - "properties": {} - }, - "stats": { - "type": "object", - "properties": {} - }, - "get": { + "input": { "type": "object", "properties": { "param": { @@ -415,41 +457,13 @@ } } }, - "scan": { + "output": { "type": "object", "properties": { - "ssid": { - "$ref": "#/definitions/ssid_t" - }, - "bssid": { - "$ref": "#/definitions/macaddr_t" - }, - "channel": { - "oneOf": [ - { - "$ref": "#/definitions/channel_2_t" - }, - { - "$ref": "#/definitions/channel_5_t" - } - ] - } - } - }, - "scanresults": { - "type": "object", - "properties": {} - }, - "autochannel": { - "type": "object", - "properties": { - "interval": { - "type": "integer" - }, - "algo": { + "status": { "type": "integer" }, - "scans": { + "values": { "type": "integer" } } diff --git a/ubus/wifi.wps.json b/ubus/wifi.wps.json index d08d47bfe50d9d5d52e5278378d82c8ae2192445..d3009a1e97ba784b7072cf4bb66487f37095e754 100644 --- a/ubus/wifi.wps.json +++ b/ubus/wifi.wps.json @@ -17,10 +17,10 @@ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.iopsys.eu/wifi.wps", "properties": { - "output": { + "generate_pin": { "type": "object", "properties": { - "generate_pin": { + "output": { "type": "object", "required": [ "pin" @@ -30,63 +30,58 @@ "$ref": "#/definitions/pin_t" } } - }, - "setpin": { - "type": "object", - "properties": {} - }, - "showpin": { + } + } + }, + "setpin": { + "type": "object", + "properties": { + "input": { "type": "object", "required": [ "pin" ], "properties": { + "vif": { + "$ref": "#/definitions/iface_t" + }, "pin": { "$ref": "#/definitions/pin_t" } } }, - "start": { + "output": { "type": "object", "properties": {} - }, - "status": { + } + } + }, + "showpin": { + "type": "object", + "properties": { + "input": { "type": "object", - "required": [ - "code", - "status" - ], - "properties": { - "code": { - "type": "integer", - "minimum": 0 - }, - "status": { - "type": "string" - } + "vif": { + "$ref": "#/definitions/iface_t" } }, - "stop": { - "type": "object", - "properties": {} - }, - "validate_pin": { + "output": { "type": "object", "required": [ - "valid" + "pin" ], "properties": { - "valid": { - "type": "boolean" + "pin": { + "$ref": "#/definitions/pin_t" } } } } }, - "input": { + "start": { "type": "object", "properties": { - "start": { + "input": { "type": "object", "properties": { "vif": { @@ -103,11 +98,16 @@ } } }, - "stop": { + "output": { "type": "object", "properties": {} - }, - "status": { + } + } + }, + "status": { + "type": "object", + "properties": { + "input": { "type": "object", "properties": { "vif": { @@ -115,11 +115,41 @@ } } }, - "generate_pin": { + "output": { + "type": "object", + "required": [ + "code", + "status" + ], + "properties": { + "code": { + "type": "integer", + "minimum": 0 + }, + "status": { + "type": "string" + } + } + } + } + }, + "stop": { + "type": "object", + "properties": { + "input": { "type": "object", "properties": {} }, - "validate_pin": { + "output": { + "type": "object", + "properties": {} + } + } + }, + "validate_pin": { + "type": "object", + "properties": { + "input": { "type": "object", "required": [ "pin" @@ -130,23 +160,14 @@ } } }, - "showpin": { - "type": "object", - "vif": { - "$ref": "#/definitions/iface_t" - } - }, - "setpin": { + "output": { "type": "object", "required": [ - "pin" + "valid" ], "properties": { - "vif": { - "$ref": "#/definitions/iface_t" - }, - "pin": { - "$ref": "#/definitions/pin_t" + "valid": { + "type": "boolean" } } }