diff --git a/wifi.ap/wifi.ap.add_neighbor.json b/wifi.ap/wifi.ap.add_neighbor.json new file mode 100644 index 0000000000000000000000000000000000000000..292a672c28e7045a079e36b939bfd644cddf6f58 --- /dev/null +++ b/wifi.ap/wifi.ap.add_neighbor.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.add_neighbor", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.add_vendor_ie.json b/wifi.ap/wifi.ap.add_vendor_ie.json new file mode 100644 index 0000000000000000000000000000000000000000..e267b132e29f167f8b97217e60cb2057e217da45 --- /dev/null +++ b/wifi.ap/wifi.ap.add_vendor_ie.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.add_vendor_ie", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.assoclist.json b/wifi.ap/wifi.ap.assoclist.json new file mode 100644 index 0000000000000000000000000000000000000000..8c7130ea10bd49383167a35ba76ab95a79bb56ff --- /dev/null +++ b/wifi.ap/wifi.ap.assoclist.json @@ -0,0 +1,32 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.assoclist", + "$id": "iopsys", + "type": "object", + "required": [ + "assoclist" + ], + "properties": { + "assoclist": { + "type": "array", + "items": { + "type": "object", + "required": [ + "wdev", + "macaddr" + ], + "properties": { + "wdev": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "macaddr": { + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + } + } + } + } + } + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.del_neighbor.json b/wifi.ap/wifi.ap.del_neighbor.json new file mode 100644 index 0000000000000000000000000000000000000000..b17603d363942e2ab372e32e32154fed94d80cc0 --- /dev/null +++ b/wifi.ap/wifi.ap.del_neighbor.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.del_neighbor", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.del_vendor_ie.json b/wifi.ap/wifi.ap.del_vendor_ie.json new file mode 100644 index 0000000000000000000000000000000000000000..e267b132e29f167f8b97217e60cb2057e217da45 --- /dev/null +++ b/wifi.ap/wifi.ap.del_vendor_ie.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.add_vendor_ie", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.disconnect.json b/wifi.ap/wifi.ap.disconnect.json new file mode 100644 index 0000000000000000000000000000000000000000..f946560fcc0829b0e3ea90ccba9d56e85b3cc831 --- /dev/null +++ b/wifi.ap/wifi.ap.disconnect.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.disconnect", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.list_neighbor.json b/wifi.ap/wifi.ap.list_neighbor.json new file mode 100644 index 0000000000000000000000000000000000000000..c8ee2879e3ad3dcaa0d8502b476883d9773c4db9 --- /dev/null +++ b/wifi.ap/wifi.ap.list_neighbor.json @@ -0,0 +1,49 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.list_neighbor", + "$id": "iopsys", + "type": "object", + "required": [ + "neighbors" + ], + "properties": { + "neighbors": { + "type": "array", + "items": { + "type": "object", + "required": [ + "bssid", + "bss_info", + "regulatory", + "channel", + "phy" + ], + "properties": { + "bssid": { + "type": "string", + "default": "", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + }, + "bss_info": { + "type": "integer", + "minimum": 0 + }, + "regulatory": { + "type": "integer", + "minimum": 0 + }, + "channel": { + "type": "integer", + "minimum": 1, + "maximum": 200 + }, + "phy": { + "type": "integer", + "minimum": 0, + "maximum": 9 + } + } + } + } + } + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.monitor.json b/wifi.ap/wifi.ap.monitor.json new file mode 100644 index 0000000000000000000000000000000000000000..0eef09e8cd5248d78c9d9adb2b12c98f71f486a8 --- /dev/null +++ b/wifi.ap/wifi.ap.monitor.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.monitor", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.request_neighbor.json b/wifi.ap/wifi.ap.request_neighbor.json new file mode 100644 index 0000000000000000000000000000000000000000..1174f544d83fc32b0b9f52b36e3722c196714ab8 --- /dev/null +++ b/wifi.ap/wifi.ap.request_neighbor.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.request_neighbor", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.request_transition.json b/wifi.ap/wifi.ap.request_transition.json new file mode 100644 index 0000000000000000000000000000000000000000..29bdf7a89f0b5e95d5f1b8383f03b4f55447724e --- /dev/null +++ b/wifi.ap/wifi.ap.request_transition.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.request_transition", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.stations.json b/wifi.ap/wifi.ap.stations.json new file mode 100644 index 0000000000000000000000000000000000000000..75ad8e483f94707d5a076277a5673f4717042067 --- /dev/null +++ b/wifi.ap/wifi.ap.stations.json @@ -0,0 +1,330 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.stations", + "$id": "iopsys", + "type": "object", + "required": [ + "stations" + ], + "properties": { + "stations": { + "type": "array", + "items": { + "type": "object", + "required": [ + "macaddr", + "wdev", + "frequency", + "rssi", + "snr", + "idle", + "in_network", + "tx_airtime", + "rx_airtime", + "airtime", + "max_rate", + "status", + "capabilities", + "stats", + "rssi_per_antenna" + ], + "properties": { + "macaddr": { + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + }, + "wdev": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "frequency": { + "type": "string", + "enum": ["5GHz", "2.4GHz"] + }, + "rssi": { + "type": "integer", + "minimum": -128, + "maximum": 0 + }, + "snr": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "idle": { + "type": "integer", + "minimum": 0 + }, + "in_network": { + "type": "integer", + "minimum": 0 + }, + "tx_airtime": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "rx_airtime": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "airtime": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "max_rate": { + "type": "integer", + "minimum": 0 + }, + "status": { + "type": "object", + "required": [ + "wmm", + "ps" + ], + "properties": { + "wmm": { + "type": "boolean" + }, + "ps": { + "type": "boolean" + } + } + }, + "capabilities": { + "type": "object", + "required": [ + "wmm", + "apsd", + "shortslot", + "dot11h", + "dot11k", + "2040coex", + "psmp", + "proxy_arp", + "dot11v_btm", + "dot11n", + "dot11n_ldpc", + "dot11n_40", + "dot11n_ps", + "dot11n_sgi20", + "dot11n_sgi40", + "dot11n_tx_stbc", + "dot11n_rx_stbc", + "dot11ac", + "dot11ac_160", + "dot11ac_8080", + "dot11ac_mpdu_max", + "dot11ac_sgi80", + "dot11ac_sgi160", + "dot11ac_rx_ldpc", + "dot11ac_tx_stbc", + "dot11ac_rx_stbc_1ss", + "dot11ac_rx_stbc_2ss", + "dot11ac_rx_stbc_3ss", + "dot11ac_rx_stbc_4ss", + "dot11ac_su_beamformer", + "dot11ac_su_beamformee", + "dot11ac_mu_beamformer", + "dot11ac_mu_beamformee", + "dot11k_link_meas", + "dot11k_nbr_report", + "dot11k_bcn_passive", + "dot11k_bcn_active", + "dot11k_bcn_table", + "dot11k_rcpi", + "dot11k_rsni" + ], + "properties": { + "wmm": { + "type": "boolean" + }, + "apsd": { + "type": "boolean" + }, + "shortslot": { + "type": "boolean" + }, + "dot11h": { + "type": "boolean" + }, + "dot11k": { + "type": "boolean" + }, + "2040coex": { + "type": "boolean" + }, + "psmp": { + "type": "boolean" + }, + "proxy_arp": { + "type": "boolean" + }, + "dot11v_btm": { + "type": "boolean" + }, + "dot11n": { + "type": "boolean" + }, + "dot11n_ldpc": { + "type": "boolean" + }, + "dot11n_40": { + "type": "boolean" + }, + "dot11n_ps": { + "type": "boolean" + }, + "dot11n_sgi20": { + "type": "boolean" + }, + "dot11n_sgi40": { + "type": "boolean" + }, + "dot11n_tx_stbc": { + "type": "boolean" + }, + "dot11n_rx_stbc": { + "type": "boolean" + }, + "dot11ac": { + "type": "boolean" + }, + "dot11ac_160": { + "type": "boolean" + }, + "dot11ac_8080": { + "type": "boolean" + }, + "dot11ac_mpdu_max": { + "type": "integer", + "minimum": 0, + "maximum": 65535 + }, + "dot11ac_sgi80": { + "type": "boolean" + }, + "dot11ac_sgi160": { + "type": "boolean" + }, + "dot11ac_rx_ldpc": { + "type": "boolean" + }, + "dot11ac_tx_stbc": { + "type": "boolean" + }, + "dot11ac_rx_stbc_1ss": { + "type": "boolean" + }, + "dot11ac_rx_stbc_2ss": { + "type": "boolean" + }, + "dot11ac_rx_stbc_3ss": { + "type": "boolean" + }, + "dot11ac_rx_stbc_4ss": { + "type": "boolean" + }, + "dot11ac_su_beamformer": { + "type": "boolean" + }, + "dot11ac_su_beamformee": { + "type": "boolean" + }, + "dot11ac_mu_beamformer": { + "type": "boolean" + }, + "dot11ac_mu_beamformee": { + "type": "boolean" + }, + "dot11k_link_meas": { + "type": "boolean" + }, + "dot11k_nbr_report": { + "type": "boolean" + }, + "dot11k_bcn_passive": { + "type": "boolean" + }, + "dot11k_bcn_active": { + "type": "boolean" + }, + "dot11k_bcn_table": { + "type": "boolean" + }, + "dot11k_rcpi": { + "type": "boolean" + }, + "dot11k_rsni": { + "type": "boolean" + } + } + }, + "stats": { + "type": "object", + "required": [ + "tx_total_pkts", + "tx_total_bytes", + "tx_failures", + "tx_pkts_retries", + "rx_data_pkts", + "rx_data_bytes", + "rx_failures", + "rate_of_last_tx_pkt", + "rate_of_last_rx_pkt" + ], + "properties": { + "tx_total_pkts": { + "type": "integer", + "minimum": 0 + }, + "tx_total_bytes": { + "type": "integer", + "minimum": 0 + }, + "tx_failures": { + "type": "integer", + "minimum": 0 + }, + "tx_pkts_retries": { + "type": "integer", + "minimum": 0 + }, + "rx_data_pkts": { + "type": "integer", + "minimum": 0 + }, + "rx_data_bytes": { + "type": "integer", + "minimum": 0 + }, + "rx_failures": { + "type": "integer", + "minimum": 0 + }, + "rate_of_last_tx_pkt": { + "type": "integer", + "minimum": 0 + }, + "rate_of_last_rx_pkt": { + "type": "integer", + "minimum": 0 + } + } + }, + "rssi_per_antenna": { + "type": "array", + "items": { + "type": "integer", + "minimum": -128, + "maximum": 0 + } + } + } + } + } + } + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.stats.json b/wifi.ap/wifi.ap.stats.json new file mode 100644 index 0000000000000000000000000000000000000000..b6d97f2342fbb9e66b9be9c95a5f006c31cc54bd --- /dev/null +++ b/wifi.ap/wifi.ap.stats.json @@ -0,0 +1,115 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.stats.json", + "$id": "iopsys", + "type": "object", + "required": [ + "tx_bytes", + "tx_packets", + "tx_unicast_packets", + "tx_multicast_packets", + "tx_broadcast_packets", + "tx_error_packets", + "tx_retrans_packets", + "tx_retrans_fail_packets", + "tx_retry_packets", + "tx_multi_retry_packets", + "tx_dropped_packets", + "ack_fail_packets", + "aggregate_packets", + "rx_bytes", + "rx_packets", + "rx_unicast_packets", + "rx_multicast_packets", + "rx_broadcast_packets", + "rx_error_packets", + "rx_dropped_packets", + "rx_unknown_packets" + ], + "properties": { + "tx_bytes": { + "type": "integer", + "minimum": 0 + }, + "tx_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_unicast_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_multicast_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_broadcast_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_error_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_retrans_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_retrans_fail_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_retry_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_multi_retry_packets": { + "type": "integer", + "minimum": 0 + }, + "tx_dropped_packets": { + "type": "integer", + "minimum": 0 + }, + "ack_fail_packets": { + "type": "integer", + "minimum": 0 + }, + "aggregate_packets": { + "type": "integer", + "minimum": 0 + }, + "rx_bytes": { + "type": "integer", + "minimum": 0 + }, + "rx_packets": { + "type": "integer", + "minimum": 0 + }, + "rx_unicast_packets": { + "type": "integer", + "minimum": 0 + }, + "rx_multicast_packets": { + "type": "integer", + "minimum": 0 + }, + "rx_broadcast_packets": { + "type": "integer", + "minimum": 0 + }, + "rx_error_packets": { + "type": "integer", + "minimum": 0 + }, + "rx_dropped_packets": { + "type": "integer", + "minimum": 0 + }, + "rx_unknown_packets": { + "type": "integer", + "minimum": 0 + } + } + } \ No newline at end of file diff --git a/wifi.ap/wifi.ap.status.json b/wifi.ap/wifi.ap.status.json new file mode 100644 index 0000000000000000000000000000000000000000..69b55c5224c70fee1fe69a6f3405011fad210b09 --- /dev/null +++ b/wifi.ap/wifi.ap.status.json @@ -0,0 +1,197 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.iface.status", + "$id": "iopsys", + "type": "object", + "required": [ + "ifname", + "status", + "ssid", + "bssid", + "encryption", + "bandwidth", + "standard", + "num_stations", + "utilization", + "adm_capacity", + "hidden", + "max_stations", + "capabilities" + ], + "properties": { + "ifname": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "status": { + "type": "string" + }, + "ssid": { + "type": "string", + "minLength": 0, + "maxLength": 32 + }, + "bssid": { + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + }, + "encryption": { + "type": "string" + }, + "bandwidth": { + "type": "integer", + "default": 0, + "enum": [20, 40, 80, 160] + }, + "standard": { + "type": "string" + }, + "num_stations": { + "type": "integer", + "minimum": 0, + "maximum": 2007 + }, + "utilization": { + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "adm_capacity": { + "type": "integer" + }, + "hidden": { + "type": "boolean" + }, + "max_stations": { + "type": "integer", + "minimum": 0, + "maximum": 2007 + }, + "capabilities": { + "type": "object", + "required": [ + "wmm", + "apsd", + "shortslot", + "dot11h", + "dot11k", + "dot11n", + "dot11n_ldpc", + "dot11n_40", + "dot11n_ps", + "dot11n_sgi20", + "dot11n_sgi40", + "dot11n_tx_stbc", + "dot11n_rx_stbc", + "dot11ac", + "dot11ac_160", + "dot11ac_8080", + "dot11ac_mpdu_max", + "dot11ac_sgi80", + "dot11ac_sgi160", + "dot11ac_rx_ldpc", + "dot11ac_tx_stbc", + "dot11ac_rx_stbc_1ss", + "dot11ac_rx_stbc_2ss", + "dot11ac_rx_stbc_3ss", + "dot11ac_rx_stbc_4ss", + "dot11ac_su_beamformer", + "dot11ac_su_beamformee", + "dot11ac_mu_beamformer", + "dot11ac_mu_beamformee" + ], + "properties": { + "wmm": { + "type": "boolean" + }, + "apsd": { + "type": "boolean" + }, + "shortslot": { + "type": "boolean" + }, + "dot11h": { + "type": "boolean" + }, + "dot11k": { + "type": "boolean" + }, + "dot11n": { + "type": "boolean" + }, + "dot11n_ldpc": { + "type": "boolean" + }, + "dot11n_40": { + "type": "boolean" + }, + "dot11n_ps": { + "type": "boolean" + }, + "dot11n_sgi20": { + "type": "boolean" + }, + "dot11n_sgi40": { + "type": "boolean" + }, + "dot11n_tx_stbc": { + "type": "boolean" + }, + "dot11n_rx_stbc": { + "type": "boolean" + }, + "dot11ac": { + "type": "boolean" + }, + "dot11ac_160": { + "type": "boolean" + }, + "dot11ac_8080": { + "type": "boolean" + }, + "dot11ac_mpdu_max": { + "type": "integer", + "minimum": 0, + "maximum": 65535 + }, + "dot11ac_sgi80": { + "type": "boolean" + }, + "dot11ac_sgi160": { + "type": "boolean" + }, + "dot11ac_rx_ldpc": { + "type": "boolean" + }, + "dot11ac_tx_stbc": { + "type": "boolean" + }, + "dot11ac_rx_stbc_1ss": { + "type": "boolean" + }, + "dot11ac_rx_stbc_2ss": { + "type": "boolean" + }, + "dot11ac_rx_stbc_3ss": { + "type": "boolean" + }, + "dot11ac_rx_stbc_4ss": { + "type": "boolean" + }, + "dot11ac_su_beamformer": { + "type": "boolean" + }, + "dot11ac_su_beamformee": { + "type": "boolean" + }, + "dot11ac_mu_beamformer": { + "type": "boolean" + }, + "dot11ac_mu_beamformee": { + "type": "boolean" + } + } + } + } +} \ No newline at end of file diff --git a/wifi.radio/wifi.radio.autochannel.json b/wifi.radio/wifi.radio.autochannel.json new file mode 100644 index 0000000000000000000000000000000000000000..f687d9d18066fb5655ab3c09841b34119487dfcf --- /dev/null +++ b/wifi.radio/wifi.radio.autochannel.json @@ -0,0 +1,25 @@ +{ + "definitions": {}, + "$schema": "wifi.radio.autochannel", + "$id": "iopsys", + "type": "object", + "title": "wifi.radio.autochannel", + "required": [ + "code", + "new_channel", + "status" + ], + "properties": { + "code": { + "type": "integer" + }, + "new_channel": { + "type": "integer", + "minimum": 1, + "maximum": 200 + }, + "status": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/wifi.radio/wifi.radio.get.json b/wifi.radio/wifi.radio.get.json new file mode 100644 index 0000000000000000000000000000000000000000..bca0eab04572d3bf9a2fdb96f7044748d117238a --- /dev/null +++ b/wifi.radio/wifi.radio.get.json @@ -0,0 +1,19 @@ +{ + "definitions": {}, + "$schema": "wifi.radio.iface", + "$id": "iopsys", + "type": "object", + "title": "wifi.radio.iface", + "required": [ + "status", + "value_int" + ], + "properties": { + "status": { + "type": "integer" + }, + "value_int": { + "type": "integer" + } + } +} \ No newline at end of file diff --git a/wifi.radio/wifi.radio.scan.json b/wifi.radio/wifi.radio.scan.json new file mode 100644 index 0000000000000000000000000000000000000000..72488404593b3eecbf13983e87773c7f0f97d5f1 --- /dev/null +++ b/wifi.radio/wifi.radio.scan.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.radio.iface", + "$id": "iopsys" +} \ No newline at end of file diff --git a/wifi.radio/wifi.radio.scanresults.ifelse.json b/wifi.radio/wifi.radio.scanresults.ifelse.json new file mode 100644 index 0000000000000000000000000000000000000000..bd585cd5c9911fa0a6b2ad26bc438e0e450baf88 --- /dev/null +++ b/wifi.radio/wifi.radio.scanresults.ifelse.json @@ -0,0 +1,95 @@ +{ + "definitions": {}, + "$schema": "wifi.radio.iface", + "$id": "iopsys", + "type": "object", + "title": "wifi.radio.iface", + "required": [ + "accesspoints" + ], + "properties": { + "accesspoints": { + "required": true, + "type": "array", + "items": { + "type": "object", + "properties": { + "ssid": { + "required": true, + "type": "string" + }, + "bssid": { + "required": true, + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + }, + "if": { + "properties": { + "band": { + "const": "2.4GHz" + } + } + }, + "then": { + "properties": { + "channel": { + "required": true, + "type": "integer", + "minimum": 1, + "maximum": 14 + } + } + }, + "else": { + "channel": { + "required": true, + "type": "integer", + "minimum": 32, + "maximum": 173 + } + }, + "bandwidth": { + "required": true, + "type": "integer", + "default": 0, + "enum": [10, 20, 40, 80, 160] + }, + "encryption": { + "required": true, + "type": "string" + }, + "band": { + "required": true, + "type": "string", + "enum": ["2.4GHz", "5GHz"] + }, + "rssi": { + "required": true, + "type": "integer", + "maximum": 0 + }, + "standard": { + "required": true, + "type": "string", + "enum": ["802.11a"] + }, + "load_stas": { + "required": true, + "type": "integer", + "minimum": 0 + }, + "load_utilization": { + "required": true, + "type": "integer", + "minimum": 0 + }, + "load_available": { + "required": true, + "type": "integer", + "minimum": 0 + } + } + } + } + } +} \ No newline at end of file diff --git a/wifi.radio/wifi.radio.scanresults.json b/wifi.radio/wifi.radio.scanresults.json new file mode 100644 index 0000000000000000000000000000000000000000..5d33e41e8c08291fb3c4b73739a86bfc0dcaf99b --- /dev/null +++ b/wifi.radio/wifi.radio.scanresults.json @@ -0,0 +1,79 @@ +{ + "definitions": {}, + "$schema": "wifi.radio.iface", + "$id": "iopsys", + "type": "object", + "title": "wifi.radio.iface", + "required": [ + "accesspoints" + ], + "properties": { + "accesspoints": { + "required": true, + "type": "array", + "items": { + "type": "object", + "properties": { + "ssid": { + "required": true, + "type": "string", + "minLength": 0, + "maxLength": 32 + }, + "bssid": { + "required": true, + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + }, + "channel": { + "required": true, + "type": "integer", + "minimum": 1, + "maximum": 200 + }, + "bandwidth": { + "required": true, + "type": "integer", + "default": 0, + "enum": [20, 40, 80, 160] + }, + "encryption": { + "required": true, + "type": "string" + }, + "band": { + "required": true, + "type": "string", + "enum": ["2.4GHz", "5GHz"] + }, + "rssi": { + "required": true, + "type": "integer", + "maximum": 0, + "minimum": -127 + }, + "standard": { + "required": true, + "type": "string" + }, + "load_stas": { + "required": true, + "type": "integer", + "minimum": 0 + }, + "load_utilization": { + "required": true, + "type": "integer", + "minimum": 0, + "maximum": 100 + }, + "load_available": { + "required": true, + "type": "integer", + "minimum": 0 + } + } + } + } + } +} \ No newline at end of file diff --git a/wifi.radio/wifi.radio.stats.json b/wifi.radio/wifi.radio.stats.json new file mode 100644 index 0000000000000000000000000000000000000000..fe92e3c5e1058f69abc88189edbd11f4c9bc25a6 --- /dev/null +++ b/wifi.radio/wifi.radio.stats.json @@ -0,0 +1,74 @@ +{ + "definitions": {}, + "$schema": "wifi.radio.iface", + "$id": "iopsys", + "type": "object", + "title": "wifi.radio.iface", + "required": [ + "tx_bytes", + "tx_packets", + "tx_error_packets", + "tx_dropped_packets", + "rx_bytes", + "rx_packets", + "rx_error_packets", + "rx_dropped_packets", + "rx_fcs_error_packets" + ], + "properties": { + "tx_bytes": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "tx_packets": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "tx_error_packets": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "tx_dropped_packets": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "rx_bytes": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "rx_packets": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "rx_error_packets": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "rx_dropped_packets": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "rx_fcs_error_packets": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + } + } +} \ No newline at end of file diff --git a/wifi.radio/wifi.radio.status.ifelse.json b/wifi.radio/wifi.radio.status.ifelse.json new file mode 100644 index 0000000000000000000000000000000000000000..c42dce500af5218c58c29059b7a18dfa3614d040 --- /dev/null +++ b/wifi.radio/wifi.radio.status.ifelse.json @@ -0,0 +1,109 @@ +{ + "definitions": {}, + "$schema": "wifi.radio.iface", + "$id": "iopsys", + "type": "object", + "title": "wifi.radio.iface", + "required": [ + "radio", + "isup", + "band", + "channel", + "bandwidth", + "noise", + "rate", + "beacon_int", + "dtim_period", + "short_retry_limit", + "long_retry_limit", + "frag_threshold", + "rts_threshold" + ], + "properties": { + "radio": { + "required": true, + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "isup": { + "required": true, + "type": "boolean", + "default": 0, + "minimum": 0 + }, + "band": { + "required": true, + "type": "integer", + "enum": [2, 5] + }, + "if": { + "properties": { + "band": { + "const": 2 + } + } + }, + "then": { + "properties": { + "channel": { + "required": true, + "type": "integer", + "minimum": 1, + "maximum": 14 + } + } + }, + "else": { + "channel": { + "required": true, + "type": "integer", + "minimum": 32, + "maximum": 173 + } + }, + "bandwidth": { + "required": true, + "type": "integer", + "default": 0, + "enum": [10, 20, 40, 80, 160] + }, + "noise": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "rate": { + "required": true, + "type": "integer", + "minimum": 0 + }, + "beacon_int": { + "required": true, + "type": "integer", + "default": 0, + "minimum": 0 + }, + "dtim_period": { + "required": true, + "type": "integer" + }, + "short_retry_limit": { + "required": true, + "type": "integer" + }, + "long_retry_limit": { + "required": true, + "type": "integer" + }, + "frag_threshold": { + "required": true, + "type": "integer" + }, + "rts_threshold": { + "required": true, + "type": "integer" + } + } +} \ No newline at end of file diff --git a/wifi.radio/wifi.radio.status.json b/wifi.radio/wifi.radio.status.json new file mode 100644 index 0000000000000000000000000000000000000000..a13cfe058dd32c39117410e2d61beeb323939f3a --- /dev/null +++ b/wifi.radio/wifi.radio.status.json @@ -0,0 +1,88 @@ +{ + "definitions": {}, + "$schema": "wifi.radio.iface", + "$id": "iopsys", + "type": "object", + "title": "wifi.radio.iface", + "required": [ + "radio", + "isup", + "band", + "channel", + "bandwidth", + "noise", + "rate", + "beacon_int", + "dtim_period", + "short_retry_limit", + "long_retry_limit", + "frag_threshold", + "rts_threshold" + ], + "properties": { + "radio": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "isup": { + "type": "boolean" + }, + "band": { + "type": "integer", + "enum": [2, 5] + }, + "channel": { + "type": "integer", + "minimum": 1, + "maximum": 200 + }, + "bandwidth": { + "type": "integer", + "enum": [20, 40, 80, 160] + }, + "noise": { + "type": "integer", + "maximum": 0, + "minimum": -128 + }, + "rate": { + "type": "integer", + "minimum": 0 + }, + "beacon_int": { + "type": "integer", + "default": 100, + "minimum": 1, + "maximum": 65535 + }, + "dtim_period": { + "type": "integer", + "default": 1, + "minimum": 1, + "maximum": 255 + }, + "short_retry_limit": { + "type": "integer", + "minimum": 1, + "maximum": 255 + }, + "long_retry_limit": { + "type": "integer", + "minimum": 1, + "maximum": 255 + }, + "frag_threshold": { + "type": "integer", + "default": 2346, + "minimum": 256, + "maximum": 65535 + }, + "rts_threshold": { + "type": "integer", + "default": 2347, + "minimum": 0, + "maximum": 65535 + } + } +} \ No newline at end of file diff --git a/wifi.wps/wifi.wps.generate_pin.json b/wifi.wps/wifi.wps.generate_pin.json new file mode 100644 index 0000000000000000000000000000000000000000..4450de4cfb326fee32ed29a096a583ca99b65c4b --- /dev/null +++ b/wifi.wps/wifi.wps.generate_pin.json @@ -0,0 +1,16 @@ +{ + "definitions": {}, + "$schema": "wifi.wps.generate_pin", + "$id": "iopsys", + "type": "object", + "required": [ + "pin" + ], + "properties": { + "pin": { + "type": "string", + "minLength": 8, + "maxLength": 8 + } + } +} \ No newline at end of file diff --git a/wifi.wps/wifi.wps.setpin.json b/wifi.wps/wifi.wps.setpin.json new file mode 100644 index 0000000000000000000000000000000000000000..85b9bb7ce8e6a98d96a8317d77857fbde942e82d --- /dev/null +++ b/wifi.wps/wifi.wps.setpin.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.setpin", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.wps/wifi.wps.showpin.json b/wifi.wps/wifi.wps.showpin.json new file mode 100644 index 0000000000000000000000000000000000000000..8c81270e4be06e0f898332d0317b93ba4be347f6 --- /dev/null +++ b/wifi.wps/wifi.wps.showpin.json @@ -0,0 +1,16 @@ +{ + "definitions": {}, + "$schema": "wifi.wps.showpin", + "$id": "iopsys", + "type": "object", + "required": [ + "pin" + ], + "properties": { + "pin": { + "type": "string", + "minLength": 8, + "maxLength": 8 + } + } + } \ No newline at end of file diff --git a/wifi.wps/wifi.wps.start.json b/wifi.wps/wifi.wps.start.json new file mode 100644 index 0000000000000000000000000000000000000000..84deb7c32b5abca0836b1d79d5be41446f7530fd --- /dev/null +++ b/wifi.wps/wifi.wps.start.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.start", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.wps/wifi.wps.status.json b/wifi.wps/wifi.wps.status.json new file mode 100644 index 0000000000000000000000000000000000000000..ea00bd23c1e50d43cfd7d032b01d979bda5093e2 --- /dev/null +++ b/wifi.wps/wifi.wps.status.json @@ -0,0 +1,19 @@ +{ + "definitions": {}, + "$schema": "wifi.wps.status", + "$id": "iopsys", + "type": "object", + "required": [ + "code", + "status" + ], + "properties": { + "code": { + "type": "integer", + "minimum": 0 + }, + "status": { + "type": "string" + } + } +} \ No newline at end of file diff --git a/wifi.wps/wifi.wps.stop.json b/wifi.wps/wifi.wps.stop.json new file mode 100644 index 0000000000000000000000000000000000000000..5b46fb1c718f71e1fa2b0b0d758e314e7c8a729c --- /dev/null +++ b/wifi.wps/wifi.wps.stop.json @@ -0,0 +1,5 @@ +{ + "definitions": {}, + "$schema": "wifi.ap.stop", + "$id": "iopsys" + } \ No newline at end of file diff --git a/wifi.wps/wifi.wps.validate_pin.json b/wifi.wps/wifi.wps.validate_pin.json new file mode 100644 index 0000000000000000000000000000000000000000..eb56f54ab1adc414c044eda7ef2c1d7bcb8673ea --- /dev/null +++ b/wifi.wps/wifi.wps.validate_pin.json @@ -0,0 +1,14 @@ +{ + "definitions": {}, + "$schema": "wifi.wps.validate_pin", + "$id": "iopsys", + "type": "object", + "required": [ + "valid" + ], + "properties": { + "valid": { + "type": "boolean" + } + } + } \ No newline at end of file diff --git a/wifi/wifi.status.ifelse.json b/wifi/wifi.status.ifelse.json new file mode 100644 index 0000000000000000000000000000000000000000..7bf0df81eceba759b6b6ff400a79a8c2dc4315c8 --- /dev/null +++ b/wifi/wifi.status.ifelse.json @@ -0,0 +1,163 @@ +{ + "definitions": {}, + "$schema": "wifi.status", + "$id": "iopsys", + "type": "object", + "required": [ + "radios" + ], + "properties": { + "radios": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "isup", + "standard", + "country", + "band", + "channel", + "bandwidth", + "noise", + "rate", + "channels", + "accesspoints", + "backhauls" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "isup": { + "type": "boolean", + }, + "standard": { + "type": "string", + "enum": [ + "b,g,n", + ], + }, + "country": { + "type": "string", + "enum": [ + "DE", + ] + }, + "band": { + "type": "integer", + "enum": [2, 5] + }, + "if": { + "properties": { + "band": { + "const": 2 + } + } + }, + "then": { + "properties": { + "channel": { + "required": true, + "type": "integer", + "minimum": 1, + "maximum": 14 + } + } + }, + "else": { + "channel": { + "required": true, + "type": "integer", + "minimum": 32, + "maximum": 173 + } + }, + "bandwidth": { + "type": "integer", + "default": 0, + "enum": [10, 20, 40, 80, 160] + }, + "noise": { + "type": "integer" + }, + "rate": { + "type": "integer" + }, + "channels": { + "type": "array", + "items": { + "type": "integer" + } + }, + "accesspoints": { + "type": "array", + "items": { + "type": "object", + "required": [ + "ifname", + "status", + "ssid", + "bssid" + ], + "properties": { + "ifname": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "status": { + "type": "string", + "enum": [ "running", ] + }, + "ssid": { + "type": "string", + "minLength": 0, + "maxLength": 32 + }, + "bssid": { + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + } + } + } + }, + "backhauls": { + "type": "array", + "items": { + "type": "object", + "required": [ + "ifname", + "status", + "ssid", + "bssid" + ], + "properties": { + "ifname": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "status": { + "type": "string", + "enum": [ "running", ] + }, + "ssid": { + "type": "string", + "minLength": 0, + "maxLength": 32 + }, + "bssid": { + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + } + } + } + } + } + } + } + } + } \ No newline at end of file diff --git a/wifi/wifi.status.json b/wifi/wifi.status.json new file mode 100644 index 0000000000000000000000000000000000000000..15a83eaf512ee81b0e1b41d3ee83eaff78f8aa3c --- /dev/null +++ b/wifi/wifi.status.json @@ -0,0 +1,141 @@ +{ + "definitions": {}, + "$schema": "wifi.status", + "$id": "iopsys", + "type": "object", + "required": [ + "radios" + ], + "properties": { + "radios": { + "type": "array", + "items": { + "type": "object", + "required": [ + "name", + "isup", + "standard", + "country", + "band", + "channel", + "bandwidth", + "noise", + "rate", + "channels", + "accesspoints", + "backhauls" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 16 + }, + "isup": { + "type": "boolean" + }, + "standard": { + "type": "string" + }, + "country": { + "type": "string", + "minLength": 2, + "maxLength": 3 + }, + "band": { + "type": "integer", + "enum": [2, 5] + }, + "channel": { + "type": "integer", + "minimum": 1, + "maximum": 200 + }, + "bandwidth": { + "type": "integer", + "enum": [20, 40, 80, 160] + }, + "noise": { + "type": "integer", + "minimum": -127, + "maximum": 0 + }, + "rate": { + "type": "integer", + "minimum": 0 + }, + "channels": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1, + "maximum": 200 + } + }, + "accesspoints": { + "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": { + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + } + } + } + }, + "backhauls": { + "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": { + "type": "string", + "pattern": "^([0-9A-Fa-f]{2}[:]){5}([0-9A-Fa-f]{2})$" + } + } + } + } + } + } + } + } + } \ No newline at end of file