Connection

API for communication with ZBOS by Zora Robotics.

Channels

zbos/connection/status/get

PUB Get the connection status

Requesting the connection information for the WiFi, access point and cablesee zbos/connection/status/response/\{key} for response

Channel tags
  • Connection

KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/connection/status/response/\{key}

SUB response: Get the connection status

Response with the status information for the WiFi, access point and cable

Channel tags
  • Connection

ConnectionStatus
Payload

Name

Type

Description

Accepted values

wifi

array (object)

Any

wifi. ssid

string

Any

wifi. encryption

string

* UNSECURE * SHARE * WEP * WPA * WPA_PSK * WPA_OR_WPA2 * WPA_OR_WPA2_PSK * WPA2 * WPA2_PSK * WPA2_EAP * WAI_CERT * WAI_PSK

wifi. ip4

string

Any

wifi. ip6

string

Any

wifi. dhcp

boolean

Any

wifi. subnetmask

string

Any

wifi. gateway

string

Any

wifi. dns

object

Any

wifi.dns. dns1

string

Any

wifi.dns. dns2

string

Any

wifi.dns. adapterName

string

Any

wifi. macAddress

string

Any

wifi. connectionStatus

string

* CONNECTING * CONNECTED * DISCONNECTED

wifi. hasInternet

boolean

Any

wifi. adapterName

string

Any

wifi. frequency

integer

Expressed in MHz

Any

cable

array (object)

Any

cable. ip4

string

Any

cable. ip6

string

Any

cable. dhcp

boolean

Any

cable. subnetmask

string

Any

cable. gateway

string

Any

cable. dns

object

Any

cable.dns. dns1

string

Any

cable.dns. dns2

string

Any

cable.dns. adapterName

string

Any

cable. hasConnection

boolean

Any

cable. hasInternet

boolean

Any

cable. macAddress

string

Any

cable. adapterName

string

Any

ap

array (object)

Any

ap. ssid

string

Any

ap. ip

string

Any

ap. encryption

string

* UNSECURE * SHARE * WEP * WPA * WPA_PSK * WPA_OR_WPA2 * WPA_OR_WPA2_PSK * WPA2 * WPA2_PSK * WPA2_EAP * WAI_CERT * WAI_PSK

ap. hasConnection

boolean

Any

ap. hasInternet

boolean

Any

ap. adapterName

string

Any

ap. frequency

integer

Expressed in MHz

Any

cellular

array (object)

Any

cellular. hasConnection

boolean

Any

cellular. hasInternet

boolean

Any

cellular. macAddress

string

Any

cellular. adapterName

string

Any

Examples of payload
{
  "wifi": [
    {
      "ssid": "ZoraBotsNetwork",
      "encryption": "WPA2_PSK",
      "ip4": "192.168.0.5",
      "ip6": "2a02:1811:b282:ae00:5850:a744:3c37:711b",
      "dhcp": true,
      "subnetmask": "255.255.254.0",
      "gateway": "192.168.0.1",
      "dns": {
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4",
        "valid": true
      },
      "macAddress": "76:EA:A5:27:6B:B6",
      "connectionStatus": "CONNECTED",
      "hasInternet": true,
      "adapterName": "wlan0",
      "frequency": 2400
    }
  ],
  "cable": [
    {
      "ip4": "192.168.0.4",
      "ip6": "2a02:1811:b282:ae00:5850:a744:3c37:711a",
      "dhcp": true,
      "subnetmask": "255.255.254.0",
      "gateway": "192.168.0.1",
      "dns": {
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4",
        "valid": true
      },
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "eth0"
    }
  ],
  "ap": [
    {
      "ssid": "ZoraBotsHotspot",
      "ip": "192.168.60.1",
      "encryption": "WPA2_PSK",
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "teth0",
      "frequency": 2400
    }
  ],
  "cellular": [
    {
      "hasConnection": true,
      "hasInternet": true,
      "macAddress": "some-mac-address",
      "adapterName": "ccmni0"
    }
  ]
}
{
  "cable": [
    {
      "ip4": "192.168.0.4",
      "ip6": "2a02:1811:b282:ae00:5850:a744:3c37:711a",
      "dhcp": true,
      "subnetmask": "255.255.254.0",
      "gateway": "192.168.0.1",
      "dns": {
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4",
        "valid": true
      },
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "eth0"
    }
  ]
}
{
  "wifi": [
    {
      "ssid": "ZoraBotsNetwork",
      "encryption": "WPA2_PSK",
      "ip4": "192.168.0.5",
      "ip6": "2a02:1811:b282:ae00:5850:a744:3c37:711b",
      "dhcp": true,
      "subnetmask": "255.255.254.0",
      "gateway": "192.168.0.1",
      "dns": {
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4",
        "valid": true
      },
      "macAddress": "76:EA:A5:27:6B:B6",
      "connectionStatus": "CONNECTED",
      "hasInternet": true,
      "adapterName": "wlan0",
      "frequency": 2400
    }
  ]
}
{
  "ap": [
    {
      "ssid": "ZoraBotsHotspot",
      "ip": "192.168.60.1",
      "encryption": "WPA2_PSK",
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "teth0",
      "frequency": 2400
    },
    {
      "ssid": "ZoraBotsHotspot5GHz",
      "ip": "192.168.60.1",
      "encryption": "WPA2_PSK",
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "teth1",
      "frequency": 5000
    }
  ]
}
{
  "cellular": [
    {
      "hasConnection": true,
      "hasInternet": true,
      "macAddress": "some-mac-address",
      "adapterName": "ccmni0"
    }
  ]
}

zbos/connection/status/event

SUB event: Connection status

Periodic status information for the WiFi, access point and cable

Channel tags
  • Connection

ConnectionStatus
Payload

Name

Type

Description

Accepted values

wifi

array (object)

Any

wifi. ssid

string

Any

wifi. encryption

string

* UNSECURE * SHARE * WEP * WPA * WPA_PSK * WPA_OR_WPA2 * WPA_OR_WPA2_PSK * WPA2 * WPA2_PSK * WPA2_EAP * WAI_CERT * WAI_PSK

wifi. ip4

string

Any

wifi. ip6

string

Any

wifi. dhcp

boolean

Any

wifi. subnetmask

string

Any

wifi. gateway

string

Any

wifi. dns

object

Any

wifi.dns. dns1

string

Any

wifi.dns. dns2

string

Any

wifi.dns. adapterName

string

Any

wifi. macAddress

string

Any

wifi. connectionStatus

string

* CONNECTING * CONNECTED * DISCONNECTED

wifi. hasInternet

boolean

Any

wifi. adapterName

string

Any

wifi. frequency

integer

Expressed in MHz

Any

cable

array (object)

Any

cable. ip4

string

Any

cable. ip6

string

Any

cable. dhcp

boolean

Any

cable. subnetmask

string

Any

cable. gateway

string

Any

cable. dns

object

Any

cable.dns. dns1

string

Any

cable.dns. dns2

string

Any

cable.dns. adapterName

string

Any

cable. hasConnection

boolean

Any

cable. hasInternet

boolean

Any

cable. macAddress

string

Any

cable. adapterName

string

Any

ap

array (object)

Any

ap. ssid

string

Any

ap. ip

string

Any

ap. encryption

string

* UNSECURE * SHARE * WEP * WPA * WPA_PSK * WPA_OR_WPA2 * WPA_OR_WPA2_PSK * WPA2 * WPA2_PSK * WPA2_EAP * WAI_CERT * WAI_PSK

ap. hasConnection

boolean

Any

ap. hasInternet

boolean

Any

ap. adapterName

string

Any

ap. frequency

integer

Expressed in MHz

Any

cellular

array (object)

Any

cellular. hasConnection

boolean

Any

cellular. hasInternet

boolean

Any

cellular. macAddress

string

Any

cellular. adapterName

string

Any

Examples of payload
{
  "wifi": [
    {
      "ssid": "ZoraBotsNetwork",
      "encryption": "WPA2_PSK",
      "ip4": "192.168.0.5",
      "ip6": "2a02:1811:b282:ae00:5850:a744:3c37:711b",
      "dhcp": true,
      "subnetmask": "255.255.254.0",
      "gateway": "192.168.0.1",
      "dns": {
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4",
        "valid": true
      },
      "macAddress": "76:EA:A5:27:6B:B6",
      "connectionStatus": "CONNECTED",
      "hasInternet": true,
      "adapterName": "wlan0",
      "frequency": 2400
    }
  ],
  "cable": [
    {
      "ip4": "192.168.0.4",
      "ip6": "2a02:1811:b282:ae00:5850:a744:3c37:711a",
      "dhcp": true,
      "subnetmask": "255.255.254.0",
      "gateway": "192.168.0.1",
      "dns": {
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4",
        "valid": true
      },
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "eth0"
    }
  ],
  "ap": [
    {
      "ssid": "ZoraBotsHotspot",
      "ip": "192.168.60.1",
      "encryption": "WPA2_PSK",
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "teth0",
      "frequency": 2400
    }
  ],
  "cellular": [
    {
      "hasConnection": true,
      "hasInternet": true,
      "macAddress": "some-mac-address",
      "adapterName": "ccmni0"
    }
  ]
}
{
  "cable": [
    {
      "ip4": "192.168.0.4",
      "ip6": "2a02:1811:b282:ae00:5850:a744:3c37:711a",
      "dhcp": true,
      "subnetmask": "255.255.254.0",
      "gateway": "192.168.0.1",
      "dns": {
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4",
        "valid": true
      },
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "eth0"
    }
  ]
}
{
  "wifi": [
    {
      "ssid": "ZoraBotsNetwork",
      "encryption": "WPA2_PSK",
      "ip4": "192.168.0.5",
      "ip6": "2a02:1811:b282:ae00:5850:a744:3c37:711b",
      "dhcp": true,
      "subnetmask": "255.255.254.0",
      "gateway": "192.168.0.1",
      "dns": {
        "dns1": "8.8.8.8",
        "dns2": "8.8.4.4",
        "valid": true
      },
      "macAddress": "76:EA:A5:27:6B:B6",
      "connectionStatus": "CONNECTED",
      "hasInternet": true,
      "adapterName": "wlan0",
      "frequency": 2400
    }
  ]
}
{
  "ap": [
    {
      "ssid": "ZoraBotsHotspot",
      "ip": "192.168.60.1",
      "encryption": "WPA2_PSK",
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "teth0",
      "frequency": 2400
    },
    {
      "ssid": "ZoraBotsHotspot5GHz",
      "ip": "192.168.60.1",
      "encryption": "WPA2_PSK",
      "hasConnection": true,
      "hasInternet": true,
      "adapterName": "teth1",
      "frequency": 5000
    }
  ]
}
{
  "cellular": [
    {
      "hasConnection": true,
      "hasInternet": true,
      "macAddress": "some-mac-address",
      "adapterName": "ccmni0"
    }
  ]
}

zbos/connection/wifi/scan

PUB Scan for WiFi networks

Start scanning for WiFi networks

Channel tags
  • Connection

EmptyMessage

Empty message

zbos/connection/wifi/scan/event

SUB response: Scan for WiFi networks

A list of all the scanned WiFi networks the robot can connect to

Channel tags
  • Connection

Array<ScannedNetwork>
Payload

Name

Type

Description

Accepted values

Message Payload

array (object)

Any

Message Payload. ssid

string

Any

Message Payload. encryption

string

* UNSECURE * SHARE * WEP * WPA * WPA_PSK * WPA_OR_WPA2 * WPA_OR_WPA2_PSK * WPA2 * WPA2_PSK * WPA2_EAP * WAI_CERT * WAI_PSK

Message Payload. signal

integer

Any

Message Payload. isSaved

boolean

Any

Message Payload. macAddress

string

Any

Message Payload. channel

integer

Any

Message Payload. frequency

integer

Expressed in MHz

Any

Examples of payload
{
  "ssid": "ZoraBotsNetwork",
  "encryption": "WPA2_PSK",
  "signal": -60,
  "macAddress": "83:E0:F9:55:95:AF",
  "frequency": 2400,
  "saved": false
}
{
  "ssid": "ZoraBotsNetworkEnterprise",
  "encryption": "WPA2_EAP",
  "signal": -55,
  "macAddress": "83:E0:F9:55:95:AF",
  "frequency": 5000,
  "saved": false
}
{
  "ssid": "ZoraBotsNetworkOpen",
  "encryption": "UNSECURE",
  "signal": -50,
  "macAddress": "83:E0:F9:55:95:AF",
  "frequency": 900,
  "saved": false
}
{
  "ssid": "ZoraBotsNetworkWEP",
  "encryption": "WEP",
  "signal": -70,
  "macAddress": "83:E0:F9:55:95:AF",
  "frequency": 3650,
  "saved": false
}

zbos/connection/wifi/connect

PUB Connect to a network

Connect to a specific WiFi network

Channel tags
  • Connection

ConnectToNetwork
Payload

Name

Type

Description

Accepted values

ssid

string

Any

encryption

string

* UNSECURE * SHARE * WEP * WPA * WPA_PSK * WPA_OR_WPA2 * WPA_OR_WPA2_PSK * WPA2 * WPA2_PSK * WPA2_EAP * WAI_CERT * WAI_PSK

password

string

Any

username

string

Any

macAddress

string

Any

isSaved

boolean

Any

hidden

boolean

Any

channel

integer

Any

adapterName

string

Any

Examples of payload
{
  "ssid": "ZoraNetwork1",
  "encryption": "WPA2_PSK",
  "password": "Nice_try123",
  "macAddress": "83:E0:F9:55:95:AF",
  "hidden": false,
  "adapterName": "wlan0",
  "enterpriseNetwork": false,
  "saved": false,
  "valid": true
}

zbos/connection/wifi/connect/event

SUB event: Connect to a network

A (json) message is published when the connection request was successful or not

Channel tags
  • Connection

ConnectionResponse
Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Any

Examples of payload
{
  "success": true,
  "message": "ZoraBotsNetwork"
}
{
  "success": true,
  "message": ""
}
{
  "success": false,
  "message": "INVALID_CREDENTIALS"
}

zbos/connection/wifi/forget

PUB Forget a network

Forget a network. If the robot is connected to the given network, it will disconnect

Channel tags
  • Connection

ForgetNetwork
Payload

Name

Type

Description

Accepted values

ssid

string

Any

macAddress

string

Any

adapterName

string

Any

Examples of payload
{
  "ssid": "ZoraBotsNetworkEnterprise",
  "macAddress": "wifi_wxvze5651",
  "adapterName": "wlan0",
  "valid": true
}

zbos/connection/wifi/forget/event

SUB event: Forget a network

A (json) message is published when the forget request was successful or not

Channel tags
  • Connection

ConnectionResponse
Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Any

Examples of payload
{
  "success": true,
  "message": "ZoraBotsNetwork"
}
{
  "success": true,
  "message": ""
}
{
  "success": false,
  "message": "INVALID_CREDENTIALS"
}

zbos/connection/wifi/list/saved/get

PUB Get the saved networks

Get an overview of all the networks that are saved on the robotsee zbos/connection/wifi/list/saved/response/\{key} for response

Channel tags
  • Connection

KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/connection/wifi/list/saved/response/\{key}

SUB response: Get the saved networks

A list of all the saved networks that are stored on the robot

Channel tags
  • Connection

Array<SavedNetwork>
Payload

Name

Type

Description

Accepted values

Message Payload

array (object)

Any

Message Payload. ssid

string

Any

Message Payload. encryption

string

* UNSECURE * SHARE * WEP * WPA * WPA_PSK * WPA_OR_WPA2 * WPA_OR_WPA2_PSK * WPA2 * WPA2_PSK * WPA2_EAP * WAI_CERT * WAI_PSK

Message Payload. password

string

Any

Message Payload. username

string

Any

Message Payload. hidden

boolean

Any

Message Payload. networkConfig

object

Any

Message Payload.networkConfig. dhcp

boolean

Any

Message Payload.networkConfig. fixedIp4

string

Any

Message Payload.networkConfig. fixedIp6

string

Any

Message Payload.networkConfig. subnetmask

string

Any

Message Payload.networkConfig. gateway

string

Any

Message Payload.networkConfig. adapterName

string

Any

Message Payload. dns

object

Any

Message Payload.dns. dns1

string

Any

Message Payload.dns. dns2

string

Any

Message Payload.dns. adapterName

string

Any

Examples of payload
{
  "ssid": "ZoraBotsNetwork",
  "encryption": "WPA2_PSK",
  "password": "Nice_try123",
  "hidden": false,
  "networkConfig": {
    "dhcp": false,
    "fixedIp4": "192.168.5.2",
    "subnetmask": "255.255.255.0",
    "gateway": "192.168.5.1",
    "valid": true
  },
  "dns": {
    "dns1": "8.8.8.8",
    "dns2": "8.8.4.4",
    "valid": true
  }
}
{
  "ssid": "ZoraBotsNetworkEnterprise",
  "encryption": "WPA2_EAP",
  "password": "Nice_try123",
  "username": "let_me_see",
  "hidden": false
}
{
  "ssid": "ZoraBotsNetworkOpen",
  "encryption": "UNSECURE",
  "hidden": false
}
{
  "ssid": "ZoraBotsNetworkHidden",
  "encryption": "WEP",
  "password": "Nice_try123",
  "hidden": true
}

zbos/connection/wifi/network/configure/set

PUB Set network configuration

Set specific WiFi network configuration (DHCP, IPv4, IPv6, subnetmask, default gateway).see zbos/connection/wifi/network/configure/response/\{key} for response

Channel tags
  • Connection

NetworkConfig
Payload

Name

Type

Description

Accepted values

dhcp

boolean

Any

fixedIp4

string

Any

fixedIp6

string

Any

subnetmask

string

Any

gateway

string

Any

adapterName

string

Any

Examples of payload
{
  "dhcp": false,
  "fixedIp4": "192.168.0.101",
  "subnetmask": "255.255.254.0",
  "gateway": "192.168.0.2",
  "adapterName": "wlan0",
  "valid": true
}
{
  "dhcp": false,
  "fixedIp4": "192.168.0.101",
  "fixedIp6": "2a02:1811:b282:ae00:5850:a744:3c37:711b",
  "subnetmask": "255.255.254.0",
  "gateway": "192.168.0.2",
  "adapterName": "wlan1",
  "valid": true
}
{
  "dhcp": true,
  "valid": true
}

zbos/connection/wifi/network/configure/response/\{key}

SUB response: Set network configuration

A (json) message is published when saving the configuration was successful or not

Channel tags
  • Connection

ConnectionResponse
Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Any

Examples of payload
{
  "success": true,
  "message": "ZoraBotsNetwork"
}
{
  "success": true,
  "message": ""
}
{
  "success": false,
  "message": "INVALID_CREDENTIALS"
}

zbos/connection/wifi/dns/get

PUB Get DNS configuration

Get the DNS configuration of the network the robot is connected tosee zbos/connection/wifi/dns/get/response/\{key} for response

Channel tags
  • Connection

KeyResult

Random key

Payload

Name

Type

Description

Accepted values

key

string

Required random key

Any

Examples of payload
{
  "key": "ABCxyz"
}

zbos/connection/wifi/dns/get/response/\{key}

SUB response: Get DNS configuration

Response with the DNS configuration of the connected network

Channel tags
  • Connection

DNSConfig
Payload

Name

Type

Description

Accepted values

dns1

string

Any

dns2

string

Any

adapterName

string

Any

Examples of payload
{
  "dns1": "8.8.8.8",
  "dns2": "8.8.4.4",
  "adapterName": "wlan0",
  "valid": true
}

zbos/connection/wifi/dns/set

PUB Set DNS configuration

Set the DNS configuration of the network the robot is connected to.see zbos/connection/wifi/dns/set/response/\{key} for response

Channel tags
  • Connection

DNSConfig
Payload

Name

Type

Description

Accepted values

dns1

string

Any

dns2

string

Any

adapterName

string

Any

Examples of payload
{
  "dns1": "1.1.1.1",
  "dns2": "1.0.0.1",
  "adapterName": "wlan0",
  "valid": true
}

zbos/connection/wifi/dns/set/response/\{key}

SUB response: Set DNS configuration

A (json) message is published when saving the DNS configuration was successful or not

Channel tags
  • Connection

ConnectionResponse
Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Any

Examples of payload
{
  "success": true,
  "message": "ZoraBotsNetwork"
}
{
  "success": true,
  "message": ""
}
{
  "success": false,
  "message": "INVALID_CREDENTIALS"
}

zbos/connection/ap/config/get

PUB Get access point configuration

Get the access point configuration of the network that the robot is broadcastingsee zbos/connection/ap/config/get/response/\{key} for response

Channel tags
  • Connection

APConfigRequest
Payload

Name

Type

Description

Accepted values

key

string

Any

adapterName

string

Optional. The name of the adapter to retrieve

Any

Examples of payload
{
  "key": "some_key"
}
{
  "key": "some_key",
  "adapterName": "teth1"
}

zbos/connection/ap/config/get/response/\{key}

SUB response: Get access point configuration

Response about the access point that the robot is broadcasting

Channel tags
  • Connection

APConfig
Payload

Name

Type

Description

Accepted values

key

string

Any

enabled

boolean

Any

ssid

string

Any

password

string

Any

adapterName

string

Any

frequency

integer

Expressed in MHz

Any

Examples of payload
{
  "enabled": true,
  "ssid": "ZoraBotsHotspot",
  "password": "hotspot_123",
  "frequency": 2400
}
{
  "enabled": false,
  "ssid": "ZoraBotsHotspot",
  "password": "hotspot_123",
  "adapterName": "teth1",
  "frequency": 5000
}

zbos/connection/ap/config/set

PUB Set access point configuration

Set the access point configuration of the network that the robot is broadcasting.see zbos/connection/ap/config/set/response/\{key} for response

Channel tags
  • Connection

APConfig
Payload

Name

Type

Description

Accepted values

key

string

Any

enabled

boolean

Any

ssid

string

Any

password

string

Any

adapterName

string

Any

frequency

integer

Expressed in MHz

Any

Examples of payload
{
  "key": "some_key",
  "enabled": true,
  "ssid": "ZoraBotsHotspot",
  "password": "hotspot_123"
}
{
  "key": "some_key",
  "enabled": false,
  "ssid": "ZoraBotsHotspot",
  "password": "hotspot_123",
  "adapterName": "teth1"
}

zbos/connection/ap/config/set/response/\{key}

SUB response: Set access point configuration

A (json) message is published when saving the access point configuration was successful or not

Channel tags
  • Connection

ConnectionResponse
Payload

Name

Type

Description

Accepted values

success

boolean

Any

message

string

Any

Examples of payload
{
  "success": true,
  "message": "ZoraBotsNetwork"
}
{
  "success": true,
  "message": ""
}
{
  "success": false,
  "message": "INVALID_CREDENTIALS"
}

zbos/connection/ap/enable/event

SUB event: Access point enabled

Triggered when the access point/hotspot is turned on

Channel tags
  • Connection

EmptyMessage

Empty message

zbos/connection/ap/disable/event

SUB event: Access point disabled

Triggered when the access point/hotspot is turned off

Channel tags
  • Connection

EmptyMessage

Empty message

zbos/connection/usb/config/start

PUB Start connecting to a wifi config

Look for a wifi config on the robot and attempt to connect to it

Channel tags
  • Connection

EmptyMessage

Empty message