Содержание
Команды Wear Tracker
Термины
Место - местонахождение объекта, идентифицируемое с помощью видимых устройством точек доступа Wi-Fi.
Известная точка доступа Wi-Fi - точка доступа, к которой смартфон когда-либо подключался.
Видимая точка доступа Wi-Fi - точка доступа, видимая смартфоном в том месте, к которому нужна привязка.
lock
Команда lock N переводит трекер в непрерывный режим на N минут.
get log/msglog
Недоступно при использовании UDP-транспорта!
Запрашивает с устройства журнал Wear Tracker (log) или Wear Messages (msglog) в zip-архиве. Команда без параметров передаёт текущий журнал, get log N - упакованный архив, где N может быть от 0 до 9, 0 - самый свежий архив.
Результат запроса доступен через API.
get config
Запрашивает текущие параметры конфигурации. Рузультат передаётся в ответе команды в виде списка ключ=значение.
Пример ответа на команду:
get_config is_watch=false device_id=akwt-c629-c20c-4924-dca2 device_version=1.1.09.M service_enabled=true continuously_tracking=true use_places=true tracking_period=300 tracking_fast_period=60 tracking_server=udps://rosnavi.pro:8080 block_incoming_calls=false ok
set config
Изменение одного или нескольких параметров конфигурации. Внутри пары ключ=значение не должно быть пробелов.
set config continuously_tracking=false
get places
Запрашивает с устройства список Мест, известных и видимых точек доступа Wi-Fi.
Команда возвращает список строк вида ключ=значение, где значение - json-объект.
Ключи ответа
Ключ | Описание |
---|---|
wifi_N | Известная точка доступа. |
vifi_N | Видимая (на момент выполнения команды) точка доступа. |
place_N | Место. |
wifi_place_N_W | Точки доступа Места N, если они заданы для Места с BSSID-ами. |
Ключи JSON-объекта place
Ключ | Описание |
---|---|
name | Название Места. |
ssid | Массив идентификаторов (SSID) точек доступа, видимых в данном месте. |
wifi | Массив объектов wifi. |
Ключи JSON-объекта wifi
Применимо к объектам wifi_XX, vifi_XX, wifi_place_XXX.
Ключ | Описание |
---|---|
ssid | Идентификатор точки доступа. |
bssid | Адрес точки доступа. |
std | Стандарт точки доступа: 0=unknown, 1=legacy, 4=WiFi4(.11n), 5=WiFi5(.11ac), 6=WiFi6(.11ax), 7=WiGi(.11ad), 8=WiFi7(.11be) |
lvl | Уровень сигнала (на момент последнего наблюдения). |
upd | Время обновления. |
Пример ответа
get_places wifi_0={"ssid":"texx5","bssid":"50:ff:20:5e:a8:56","lvl":-49,"std":4,"upd":1726115258906} vifi_0={"ssid":"bb-f0f5bdfbc454","bssid":"f0:f5:bd:fb:c4:55","lvl":-43,"std":4,"upd":1726115257237} vifi_1={"ssid":"texx2","bssid":"50:ff:20:5e:a8:54","lvl":-21,"std":4,"upd":1726115257253} vifi_3={"ssid":"B880-5304","bssid":"fc:8b:97:58:ec:36","lvl":-52,"std":4,"upd":1726115257274} place_0={"name":"Маяк-C454","ssid":["bb-f0f5bdfbc454"]} place_1={"name":"Дом","ssid":["ALK2","ALK0"]} wifi_place_1_0={"ssid":"ALK2","bssid":"50:ff:20:8d:e7:a2","lvl":0,"std":0,"upd":0} wifi_place_1_1={"ssid":"ALK2","bssid":"50:ff:20:9c:46:42","lvl":0,"std":0,"upd":0} wifi_place_1_2={"ssid":"ALK0","bssid":"52:ff:20:1d:e7:a2","lvl":0,"std":0,"upd":0} wifi_place_1_3={"ssid":"ALK0","bssid":"52:ff:20:9c:46:42","lvl":0,"std":0,"upd":0} ok
set places
Установка списка Мест для объекта. Полностью переписывает старый набор Мест.
Параметры команды - набор пар ключ=значение, где ключ должен начинаться со слова place. Значение команды - JSON-объект place.
Внутри пары ключ=значение не должно быть пробелов.
Если для Места задан только набор ssid, трекер ищет их адреса в своей локальной базе известных и видимых точек доступа, если не находит ни одного - Место не сохраняется. Если задан набор wifi, содержащий ssid и bssid поля, то Место сохраняется без поиска этих точек в локальной базе.
Пример команды
set places place0={ "name":"Маяк-C454", "ssid":[ "bb-f0f5bdfbc454" ] } place1={ "name":"Маяк-C2A2", "wifi":[ {"ssid":"bb-f0f5bdfbc2a2","bssid":"f0:f5:bd:fb:c2:a2"} ] }
add places
Команда добавляет на устройство Места, не стирая ранее созданные. Места добавляются без проверки по локальной базе точек доступа, поэтому обязательно наличие полностью определённого (ssid и bssid) набора точек.
Если Место с таким же именем уже существует, оно перезаписывается новым. Если новое место содержит пустой набор wifi - старое место удаляется, а новое не создаётся.
Пример команды
add places place0={ "name":"Дом", "wifi":[ {"ssid":"ALK2","bssid":"50:ff:20:8d:e7:a2"}, {"ssid":"ALK2","bssid":"50:ff:20:9c:46:42"} ] }
get actions
Запрашивает с устройства N последних записей журнала событий (Action Log) Wear Messages.
Для каждой записи отдаётся её json-представление и (опционально) представление в виде строки.
Пример команды
get actions 2 item0=Item{2025-02-24T12:06:11+05,RemoteGetActionLog,1 items} json0={"time":1740380771977,"action":24,"subject":"","note":"1 items"} item1=Item{2025-02-21T17:54:50+05,RemoteSetFilters,2 added} json1={"time":1740142490121,"action":23,"subject":"","note":"2 added"}
get filters
Запрашивает с устройства список SMS-фильтров приложения Wear Messages.
Команда возвращает список строк вида ключ=значение, где значение - json-объект представления фильтра.
Фильтр состоит из массива условий (Conditions) и массива действий (Actions). Фильтр срабатывает, если выполнились все условия. Для сработавшего фильтра выполняются все действия.
Фильтры применяются:
- К новым SMS: фильтры, не содержащие условие возраста, в момент приёма сообщения.
- Ко всем SMS: фильтры, включающие условие возраста, при каждом запуске приложения, но не чаще чем один раз в час.
Condition
Условие состоит из двух полей: Тип и Аргумент.
Type: Int - тип условия.
Arg: String - параметр применения условия, зависит от типа.
Тип | Название | Аргумент | Описание |
---|---|---|---|
0 | Короткий номер | - | Номер сообщения короче 10 цифр или содержит не-цифровые символы. |
1 | Возраст | 5 days | Возраст сообщения больше или равен указанному в аргументе. Допустимые модификаторы размерности: m[inutes], h[ours], d[ays]. |
2 | Шаблон | 799912 | Номер сообщения начинается с цифр или других символов указанных в аргументе. |
Actions
Действие состоит из двух полей: Тип и Аргумент.
Type: Int - тип действия.
Arg: Int - параметр действия, зависит от типа.
Тип | Действие | Аргумент |
---|---|---|
0 | Удалить | 0=Сообщение, 1=Беседу |
1 | Переслать | 0=Email, 1=Telegram |
Пример команды
get filters filter0={ conditions:[ {"type":0,arg="-"}, {"type":1,"arg":"10 min"} ], actions:[ {"type":0,"arg":0}, {"type":1,"arg":0} ] }
set/append filters
Загружает на устройство список SMS-фильтров приложения Wear Messages. В случае «set» переданный список фильтров полностью заменяет старый, с случае «append» новые фильтры добавляются к имеющимся. Список фильтров передаётся одной строкой, пробелы внутри json-представления недопустимы (использовать url-кодирование строк).
Пример команды
set filters filter0={ conditions:[ {"type":0,arg="-"}, {"type":1,"arg":"10min"} ], actions:[ {"type":0,"arg":0}, {"type":1,"arg":0} ] }