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}/sounding/settings
- 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}/sounding/settings' \
-H 'Authorization: YOUR_API_KEY_HERE'200 - OK
The zone_priority_list is a list of locations within a WiFi Motion network that is configured by the end user. The list indicates which rooms are within the user's dwelling and can be used to map WiFi devices with the rooms that they are located in. The zone_priority_list is used to help determine which devices to be used for placement when the Default Sounding Mode is enabled. The order of the list identifies the user's priorities, with the locations at the top of the list being considered the top priority.
Enable motion events. On detected motion, the network emits a MotionDetectedEvent.
Enable Device Connection Events.
Requires global sounding_mode to equal deny and individual devices' sounding_mode to equal allow. When the connection state of device changes, an event is emitted. Possible events are: DeviceConnectedEvent, DeviceDisconnectedEvent and DeviceTimedOutEvent
Enable historical motion data from the network. The data can be queried through the Motion History APIs.
Mesh nodes that are disabled for motion detection. To alter this array, set sounding_mesh on the clients API or enable mesh_auto_disable
Enable storage of motion events. Requires motion_events_enabled to be enabled. The stored events can be queried through the Events APIs.
Pauses all motion detection. While paused, the network can't receive setting changes.
Advanced - Minimum score for device selection algorithm. -1.1 ignores the device's quality, and always uses them for motion detection. This feature should be used in conjunction with the sounding_mode features.
When enabled, pet motion is less likely to generate a MotionDetectedEvent. Is expected to be used when global sensitivity is set to high (1.0). While it is possible to bypass this configuration, alterations to individual client devices or to other global values may yield reduced event performance.
0- Disable Pet-mode1- Enable Pet-mode
Represents the duration of inactivity following a MotionDetectedEvent, that the network keeps monitoring for motion. Once inactivity is observed, the network emits a MotionStoppedEvent and concludes the event window.
Below is a chart that provides a description of the different Sensitivity Levels that are available:
| Sensitivity Level | Description | Numerical Representation |
|---|---|---|
| High | Motion levels of all sizes will trigger detection. Provides optimal coverage for most single family / detached dwellings. | 1 |
| Medium | Motion levels that are moderate or greater will trigger detection. Provides optimal coverage for most dwellings that share one or more walls with a neighbor. | 2 |
| Low | Only motion levels that are large to intense will trigger detection. Low and Very Low sensitivity may result in missed motion and are only recommended if too much motion is being reported at a higher setting. | 3 |
| Very Low | Only motion levels that are large to intense will trigger detection. This setting is typically only used in scenarios such as a small accommodation with shared walls. Low and Very Low sensitivity may result in missed motion and are only recommended if too much motion is being reported at a higher setting. | 7 |
This parameter controls the default device selection policy for the network, the two policy modes are allow and deny.
Allow mode: devices will be selected as best determined by the device selection algorithm. Devices can be blocked from selection by setting txenble=0 for that leaf(s).
Deny mode: devices that are not explicitly listed via a whitelist will be disallowed from sounding.
Note switching this mode will clear any existing device device availability settings and all devices will revert to available for allow mode or unavailable for deny mode.
{ "motion_paused": 0, "motion_events_enabled": 1, "motion_events_armed": 1, "motion_history_enabled": 1, "mesh_auto_disable": 0, "mesh_sounding_disabled": [], "sounding_mode": "allow", "leafblower_cutoff": 0, "zone_priority_list": [ "Kitchen" ], "sensitivity": 1, "pet_mode": 0, "cooldown": 120 }
The zone_priority_list is a list of locations within a WiFi Motion network that is configured by the end user. The list indicates which rooms are within the user's dwelling and can be used to map WiFi devices with the rooms that they are located in. The zone_priority_list is used to help determine which devices to be used for placement when the Default Sounding Mode is enabled. The order of the list identifies the user's priorities, with the locations at the top of the list being considered the top priority.
Enable motion events. On detected motion, the network emits a MotionDetectedEvent.
Enable Device Connection Events.
Requires global sounding_mode to equal deny and individual devices' sounding_mode to equal allow. When the connection state of device changes, an event is emitted. Possible events are: DeviceConnectedEvent, DeviceDisconnectedEvent and DeviceTimedOutEvent
Enable historical motion data from the network. The data can be queried through the Motion History APIs.
Enable storage of motion events. Requires motion_events_enabled to be enabled. The stored events can be queried through the Events APIs.
Pauses all motion detection. While paused, the network can't receive setting changes.
Advanced - Minimum score for device selection algorithm. Set to -1.1 to ignore device quality, and always use them for motion detection. This feature should be used in conjunction with the sounding_mode features.
When enabled, pet motion is less likely to generate a MotionDetectedEvent. Can only be used when global sensitivity is set to high (1.0) and all clients' sensitivity_mode is global.
Represents the duration of inactivity following a MotionDetectedEvent, that the network keeps monitoring for motion. Once inactivity is observed, the network emits a MotionStoppedEvent and concludes the event window.
Below is a chart that provides a description of the different Sensitivity Levels that are available:
| Sensitivity Level | Description | Numerical Representation |
|---|---|---|
| High | Motion levels of all sizes will trigger detection. Provides optimal coverage for most single family / detached dwellings. | 1 |
| Medium | Motion levels that are moderate or greater will trigger detection. Provides optimal coverage for most dwellings that share one or more walls with a neighbor. | 2 |
| Low | Only motion levels that are large to intense will trigger detection. Low and Very Low sensitivity may result in missed motion and are only recommended if too much motion is being reported at a higher setting. | 3 |
| Very Low | Only motion levels that are large to intense will trigger detection. This setting is typically only used in scenarios such as a small accommodation with shared walls. Low and Very Low sensitivity may result in missed motion and are only recommended if too much motion is being reported at a higher setting. | 7 |
This parameter controls the default leaf selection policy for the network, the two policy modes are allow and deny.
Allow mode: leafs will be selected as best determined by leaf blower. Leaf(s) can be blocked from selection by setting txenble=0 for that leaf(s).
Deny mode: leafs that are not explicitly listed via a whitelist will be disallowed from sounding.
Note switching this mode will clear any existing device device availability settings and all devices will revert to available for allow mode or unavailable for deny mode.
- Mock serverhttps://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/sounding/settings
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X PATCH \
'https://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/sounding/settings?update=false' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"cooldown": 20,
"leafblower_cutoff": -1.1
}'{ "status": 0, "success": 0, "details": { "warnings": [], "errors": [] } }
- Mock serverhttps://docs.cognitivesystems.com/_mock/assets/specs/api/core/network/{network_id}/sounding/clients
- 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}/sounding/clients' \
-H 'Authorization: YOUR_API_KEY_HERE'{ "devices": [ { … } ] }
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.