keenetic: убрал временное логирование сырого ответа show.ip.hotspot после подтверждения фикса датчика присутствия
build-and-deploy / build (push) Successful in 1m27s
build-and-deploy / deploy (push) Successful in 1m2s

This commit is contained in:
Kayashov.SM
2026-08-30 01:26:01 +04:00
parent 9d46a36ea9
commit efeabcd05d
@@ -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;
}