keenetic: убрал временное логирование сырого ответа show.ip.hotspot после подтверждения фикса датчика присутствия
This commit is contained in:
+3
-19
@@ -113,31 +113,15 @@ public class KeeneticRouterClient {
|
||||
* SSID/диапазонах) — считаем "присутствует", если активна хотя бы одна из них.
|
||||
*/
|
||||
public boolean isPresent(String mac) {
|
||||
// Диагностика (реальный ответ роутера) показала: запрос show.ip.hotspot.host (с
|
||||
// host-фильтром по mac, как в sc-ветке) роутер отклоняет ошибкой RCI
|
||||
// {"status":[{"status":"error","code":"1179781","message":"not found: \"show/ip/hotspot/host\"..."}]} —
|
||||
// такого узла в runtime-ветке нет. Правильный адрес — show.ip.hotspot целиком (без
|
||||
// .host), без mac-фильтра в самом запросе; фильтруем список по mac ниже сами.
|
||||
String rawResponse = sendRequest(KeeneticUtil.getLiveHostState(), String.class);
|
||||
// ВРЕМЕННАЯ диагностика: логируем сырой ответ роутера, чтобы окончательно убедиться, что
|
||||
// теперь приходит полный список хостов с active/link, а не очередная ошибка RCI.
|
||||
// Убрать после подтверждения.
|
||||
log.info("Keenetic RCI: сырой ответ show.ip.hotspot для mac={}: {}", mac, rawResponse);
|
||||
|
||||
KeeneticStateResponse response;
|
||||
try {
|
||||
response = new ObjectMapper().readValue(rawResponse, KeeneticStateResponse.class);
|
||||
} catch (JsonProcessingException e) {
|
||||
log.error("Keenetic RCI: не удалось распарсить ответ show.ip.hotspot для mac={}: {}", mac, e.getMessage());
|
||||
return false;
|
||||
}
|
||||
// Запрос show.ip.hotspot целиком (без host-фильтра — см. Hotspot и getLiveHostState),
|
||||
// фильтруем по mac уже здесь.
|
||||
KeeneticStateResponse response = sendRequest(KeeneticUtil.getLiveHostState(), KeeneticStateResponse.class);
|
||||
|
||||
List<KeeneticStateHostResponse> hosts = null;
|
||||
if (response.getShow() != null && response.getShow().getIp() != null
|
||||
&& response.getShow().getIp().getHotspot() != null) {
|
||||
hosts = response.getShow().getIp().getHotspot().getHost();
|
||||
}
|
||||
log.info("Keenetic RCI: распарсено хостов для mac={}: {}", mac, hosts == null ? 0 : hosts.size());
|
||||
if (hosts == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user