The Core APIs facilitate the creation, configuration, and management of WiFi Motion networks via RESTful APIs. It offers interfaces for accessing topologies, events, motion data, and more.
Cognitive Systems App Core API
- Mock serverhttps://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/topology
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/topology?offline=false' \
-H 'Authorization: YOUR_API_KEY_HERE'OK
Device list
Corresponds to the node_id for the device. If a Wi-Fi device is not registered as a node, the topology will use a negative value as the id. If there are multiple Wi-Fi devices on the network, then the next available negative id will be used. For example, -1, -2, -3, etc.
The term Friendly Name, also known as friendly_name, refers to a name that is easy for the end user to understand. For example, if referring to a location, it is easier for an end user to refer to a location as Bedroom rather than the mac address of the device that is located in the bedroom.
Link fixed vs mobile detection state
Keys are leaf macs, value is: "" - automatic sounding "1" - sounding forced enabled "0" - disabled
A link consists of two devices that are connected to each other within a WiFi Motion enabled network. Each link within a WiFi Motion network is provided with a unique name, typically in the format of <unique identifier for device #1>.<unique identifier for device #2>.
{ "ts": 0.1, "devices": [ { … } ], "links": [ { … } ] }
- Mock serverhttps://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/config/update
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/config/update' \
-H 'Authorization: YOUR_API_KEY_HERE'{ "status": 0, "success": 0 }
- Mock serverhttps://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/config/reset
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/config/reset?keepRadar=true&keepGuardian=true&keepMeta=dwm%2C+guardian_env%2C+neuron_env&update=true&keepStatus=true' \
-H 'Authorization: YOUR_API_KEY_HERE'OK.
In a WiFi Motion network, guardian-status messages are transmitted in an approximate 5 minute intervals. Guardian-status messages contain the state information of a WiFi Motion node or network, such as current connected devices, software versions, various metrics, and more.
When expandNodes=true or in a configuration update context, the nodes part of this network are returned in this array.
{ "last_guardian_status": { "leafblower": { … }, "network_id": 0, "shard_id": "string", "radars": { … }, "ts": 0.1, "last_motion": 0, "motion_tripped": 0, "startup": true, "version": { … }, "health": { … }, "capabilities": [ … ], "coverage": { … }, "guardian_id": "string", "dhcp": { … }, "motion_enabled": 0, "armed": 0, "paused": true, "motion_suppressed": 0 }, "radar_config": { "dynamic_sensitivity": "string", "bridge": { … }, "motion80211": { … } }, "guardian_config": { "history_motion": { … }, "device_events": { … }, "live_motion": { … }, "link_events": { … }, "leafblower": { … }, "debug": { … }, "user_priority": [ … ], "motion_events": { … } }, "created_at": 0.1, "updated_at": 0.1, "guardian_id": "string", "last_heard": 0.1, "meta": { "dwm": { … }, "home": { … }, "location": { … }, "neuron_env": "string", "motion_paused": 0, "mqSecureRadarPort": 0, "auto_segment": 0, "guardian_env": "string", "friendly_name": { … }, "new_network_id": 0, "old_network_id": 0, "new_guardian_id": "string", "gatekeeper_redirect": "string", "property1": "string", "property2": "string" }, "master_node_id": 0, "shard_id": 0, "guardian_type": "string", "disconnected_at": 0.1, "nodes": [ { … } ], "id": 0, "connection_status": true, "connection_report": { "_id": "string", "category": "Link", "loc": [ … ], "detail": { … }, "link_dst_name": "string", "network_id": 0, "ts": 0.1, "evt_detected_ts": 0.1, "intensity_window": [ … ], "link_id": "string", "loc_name": "string", "tag": "string", "link_src_name": "string", "guardian_id": "string", "node_id": 0, "deviceId": "string", "node_name": "string", "debug": { … }, "armed": 0, "event": "MotionDetectedEvent", "_consumer": "string", "data": { … } }, "device_info": { "property1": { … }, "property2": { … } } }
Device
A wireless client refers to any device that connects to a network using WiFi technology. For optimal performance with WiFi Sensing, stationary devices such as voice assistants (like Amazon Echo or Google Nest), smart plugs, smart displays, and powered wireless speakers are ideal choices. Wireless clients that are mobile can move around and generally have aggressive sleep modes, less reliable Channel State Information (CSI) data, and are not able to be used to help identify localization, all of which can impact the WiFi Motion performance.
Guardian
Guardian is the name of the application that runs on a device, such as an Access Point, WiFi Extender, or IoT device, within a WiFi Network. It's primary functions are to store configuration settings, communicate with WiFi devices within a network, and communicate with the WiFi Motion infrastructure.
Generic
A webhook is an automated message sent from one app to another when a specific event occurs, like a payment or a code commit. It works by sending an HTTP request containing data (a "payload") to a unique URL provided by the receiving application. This allows for real-time data sharing and communication between applications without constant polling.