The WiFi Motion Core Cloud APIs facilitate the creation, configuration, and management of WiFi Motion networks via RESTful APIs. Additionally, it offers interfaces for accessing topologies, events, and motion data. This documentation outlines the endpoints for engaging with the WiFi Motion cloud and includes specifications for the following APIs:
The live motion API opens a web socket and triggers the network to emit recorded motion at a 500ms interval.
High-level APIs for retrieving the network's topology, last status message, or to view or modify the network's metadata.
The location data APIs expose localized motion data. Localization happens on a per mac, or custom location name base.
A set of APIs to find a network in the WiFi Motion Cloud. Individual, or groups of networks can be queried by their primary identifiers or by MAC.
APIs of the internal Home Insights Microservice. Used for motion-based activity and sleep insights.
Fine-grained network configuration. These APIs give full access to the underlying motion detection controls, but have no safeguards to prevent unwanted side effects. For friendlier configuration management, see the Network Settings APIs.
Interface to manage the access point or mesh nodes of a network. Provides APIs to find, delete or alter the configuration of nodes.
Endpoint used by WiFi Motion agent for the initial cloud connection. This API returns credentials for connecting to the MQTT broker and stores the initial network configuration. We don't recommend using this API directly.
Execute commands directly on the network's access point, or on a mesh node. We recommend using the NOC Management Page for these actions.
https://docs.cognitivesystems.com/_mock/assets/specs/mns/v3-x-x/
https://docs.cognitivesystems.com/_mock/assets/specs/mns/v3-x-x/network/{network_id}/sounding/settings
curl -i -X GET \
'https://docs.cognitivesystems.com/_mock/assets/specs/mns/v3-x-x/network/{network_id}/sounding/settings'
200 - OK
Locations the device selection algorithm will prioritize.
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
. 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.
Global motion detection sensitivity (1.0 - high, 2.0 - medium, 3.0 - low, 7.0 - very-low)
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 }
Locations the device selection algorithm will prioritize. Setting this parameter to [] will turn off prioritization. Updates require the complete array to be included in the request.
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.
Global motion detection sensitivity (1.0 - high, 2.0 - medium, 3.0 - low, 7.0 - very-low)
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.
https://docs.cognitivesystems.com/_mock/assets/specs/mns/v3-x-x/network/{network_id}/sounding/settings
curl -i -X PATCH \
'https://docs.cognitivesystems.com/_mock/assets/specs/mns/v3-x-x/network/{network_id}/sounding/settings?update=false' \
-H 'Content-Type: application/json' \
-d '{
"cooldown": 20,
"leafblower_cutoff": -1.1
}'
{ "status": 0, "success": 0, "details": { "warnings": [], "errors": [] } }
https://docs.cognitivesystems.com/_mock/assets/specs/mns/v3-x-x/network/{network_id}/sounding/clients
curl -i -X GET \
'https://docs.cognitivesystems.com/_mock/assets/specs/mns/v3-x-x/network/{network_id}/sounding/clients'
{ "devices": [ { … } ] }